跳转到主要内容

未提供项目描述

项目描述

Snakemake Executor Kueue

这是一个snakemake executor plugin,它能够与Kueue进行交互。插件将安装所需的Python依赖项,并假设您已安装了Kueue并配置了队列

开发中 注意,基本容器是在我的命名空间(vanessa)下自定义构建的,它从主分支克隆(而不是从发布版)。

使用方法

设置

您首先需要创建一个集群。对于本地开发,我们推荐kind

kind create cluster

安装Kueue

然后您需要安装Kueue并使用集群配额创建您的本地队列

例如,这里是一个示例

VERSION=v0.4.0
kubectl apply -f https://github.com/kubernetes-sigs/kueue/releases/download/$VERSION/manifests.yaml

然后(等待几分钟,直到作业集控制器正在运行)。

kubectl  apply -f example/cluster-queue.yaml 
kubectl  apply -f example/resource-flavor.yaml 
kubectl  apply -f example/user-queue.yaml 
clusterqueue.kueue.x-k8s.io/cluster-queue created
resourceflavor.kueue.x-k8s.io/default-flavor created
localqueue.kueue.x-k8s.io/user-queue created

您还需要安装kubernetes python,当然还有Snakemake!假设您已经安装了snakemake和插件,那么您应该可以开始了。以下是如何设置本地或开发环境的示例。

python -m venv env
source env/bin/activate
pip install .

容器

请注意,虽然Snakemake仍然有很多组件,但默认容器是从这里的Dockerfile构建的,并在executor代码中作为vanessa/snakemake:kueue提供。接下来,进入示例目录以测试Kueue executor。

作业资源

操作员

默认情况下,Kueue将为每个步骤使用batchv1/Job。但是,您可以通过kueue_operator属性使用作业资源来自定义不同的操作员。

rule a:
    input:     ...
    output:    ...
    resources:
        kueue_operator=flux-operator
    shell:
        "..."

除了标准的batchv1作业外,我们目前支持以下操作员

  • flux-operator:使用Flux Operator部署
  • mpi-operator:使用MPI Operator进行部署
  • 任务:默认情况下,可以是未设置或设置为“任务”

请注意,您负责在您的集群上安装和配置各种操作员!有关更多详细信息,请参阅Kueue任务

容器

您可以自定义您正在使用的容器,该容器应至少包含Snakemake和您的应用程序软件。我们已经为您准备了一个包含Flux、Snakemake以及各种其他插件的容器,以便您开始使用。如果需要调整,请在此处查看Dockerfile

rule hello_world:
    output:
        "...",
    resources: 
        container="ghcr.io/rse-ops/mamba:snakemake",
        kueue_operator="job"
    shell:
        "..."

内存

为Kubernetes定义的内存是以字符串格式定义的,虽然我们理想上现在可以进行转换,但我们现在比较懒惰,因此我们要求您直接定义它

rule a:
    input:     ...
    output:    ...
    resources:
        kueue_memory=200M1
    shell:
        "..."

任务

Flux操作员可以处理MPI的任务,因此您可以按以下方式设置它们

rule a:
    input:     ...
    output:    ...
    resources:
        kueue_tasks=1
    shell:
        "..."

有关示例,请参阅示例目录

想要编写插件吗?

如果您对编写自己的插件感兴趣,可以通过snakemake-executor-plugin-interface提供说明。

许可证

HPCIC DevTools根据MIT许可证分发。所有新的贡献都必须在此许可证下进行。

有关详细信息,请参阅LICENSECOPYRIGHTNOTICE

SPDX-License-Identifier: (MIT)

LLNL-CODE- 842614

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

snakemake_executor_plugin_kueue-0.1.0.tar.gz (11.9 kB 查看散列)

上传时间

构建分布

snakemake_executor_plugin_kueue-0.1.0-py3-none-any.whl (12.2 kB 查看散列)

上传时间 Python 3

支持者:

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面