未提供项目描述
项目描述
Snakemake Executor Kueue
这是一个snakemake executor plugin,它能够与Kueue进行交互。插件将安装所需的Python依赖项,并假设您已安装了Kueue并配置了队列。
开发中 注意,基本容器是在我的命名空间(vanessa
)下自定义构建的,它从主分支克隆(而不是从发布版)。
使用方法
设置
您首先需要创建一个集群。对于本地开发,我们推荐kind
kind create cluster
安装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许可证分发。所有新的贡献都必须在此许可证下进行。
有关详细信息,请参阅LICENSE、COPYRIGHT和NOTICE。
SPDX-License-Identifier: (MIT)
LLNL-CODE- 842614
项目详情
散列 for snakemake_executor_plugin_kueue-0.1.0.tar.gz
算法 | 散列摘要 | |
---|---|---|
SHA256 | cc5b565a155cae0c4dfbbd3a815f5dd0973bd3b8e3eb9a3179415df82bfe0fe0 |
|
MD5 | 62675a2792a7c3e4e82857e788fcedd3 |
|
BLAKE2b-256 | efaf98c803a8ff20e23e610219036df91ab23b93f1180d3257a0c255787a85db |
散列 for snakemake_executor_plugin_kueue-0.1.0-py3-none-any.whl
算法 | 散列摘要 | |
---|---|---|
SHA256 | 3fcf1bffbd8cb12e7654e52634c9020b5b547852ed6011133b4b6c23bae71d5d |
|
MD5 | ef3a27ef406c1c58eb116cb4d7e29766 |
|
BLAKE2b-256 | 5a2fa20b2bdcc989013ebac543f77961455fa375227c1c32e1c8223954343b49 |