问题标签 [drmaa]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
435 浏览

cluster-computing - Snakemake 集群配置结合 DRMMA

我有一个与drmma 和snakemake 中的集群配置文件有关的问题。

目前我有一个管道,我使用 drmma 和以下命令将作业提交到集群:

问题是一些规则/作业需要更少或更多的资源。我虽然如果我使用 json 集群文件,我将能够提交具有不同资源的作业。我的 json 文件如下所示:

当我运行以下命令时,我的作业(job1 和 job2)使用默认选项而不是自定义选项提交:

我究竟做错了什么?是不是我不能将 drmaa 选项与 cluster-config 文件结合起来?

0 投票
1 回答
505 浏览

sungridengine - 使用 DRMAA 时使用 Snakemake 设置 SGE 集群作业名称?

问题

我不确定是否正在保存 -N 参数。SGE 集群。除了 -N 参数外,一切都有效。

  • Snakemake 需要有效的 -N 调用
  • 它没有正确设置作业名称。

它始终恢复为默认名称。这是我的调用,无论有无 -N 参数,结果都相同。

我发现影响作业名称的唯一方法是使用 --jobname。

背景

我尝试了各种各样的事情。通常我实际上只是使用一个集群配置文件,但这也不起作用,所以这就是为什么在上面的代码中,我放弃了文件系统以确保它是没有被保存的“-N”命令。

我通常的电话是:

1) 如果我使用“-n”而不是“-N”,我会收到一个工作流错误:

2)如果我使用'-N',但给它一个不正确的通配符,说{rule.name}:

3) 我不能同时使用 --drmaa 和 --cluster:

4) 如果我在 config.json 文件中指定了 {jobid},那么 Snakemake 不知道如何处理它。

编辑添加了#5 w/解决方案

5)我可以使用 config.json 设置作业名称,然后在我的snakemake调用中连接jobid。这样我就有了一个通用的 snakemake 调用 (--jobname "{cluster.jobName}.{jobid}"),以及一个高度可配置且特定的作业名称 ({rule}-{wildcards.sampleMPUS}_chr{wildcards.chrMPUS})这导致:

1 是根据 DAG 的 Snakemake jobid。7152298 是我集群的工作编号。

第二次编辑- 刚试过 v3.12,同样的事情。连接必须发生在snakemake 调用中。

替代解决方案

我也可以接受这样的事情:

我的集群文件是这样的:

文件审查

我已经阅读了文档,但我无法弄清楚。

  1. http://snakemake.readthedocs.io/en/latest/executable.html?-highlight=job_name#cluster-execution

  2. http://snakemake.readthedocs.io/en/latest/snakefiles/configuration.html#snakefiles-cluster-configuration

  3. https://groups.google.com/forum/#!topic/snakemake/whwYODy_I74

系统

Snakemake v3.10.2 (明天将尝试最新的 conda 版本) Red Hat Enterprise Linux Server release 5.4 SGE Cluster

0 投票
0 回答
22 浏览

python - 如何让 libdrmaa.so 使用本地安装的 GLIBC?

我正在尝试在 CentOS 6.x 下运行 drmaa(控制 SGE 中的作业的 python 模块)。根据 drmaa-python ( https://github.com/pygridtools/drmaa-python ) 的要求之一是libdrmaa.so,我从gridengine-libdrmaa-dev包中获得的。

我存储了libdrmaa.sounder的副本mydir/lib/

我还将DRMAA_LIBRARY_PATH环境变量放入.bashrc

DRMAA_LIBRARY_PATH=mydir/lib/libdrmaa.so

当我运行时显示错误消息main.py

我怀疑它使用的是低于 2.14 的 GLIBClibdrmaa.so的默认值。libc.so.6假设我没有 sudo 权限,并且没有超级用户可以为我升级 glibc。我安装glibc-2.19在我的主目录下并main.py再次运行。错误消息保持不变。

经过一番研究,我现在可以列出libdrmaa.so正在寻找的依赖项:

开发了一个程序patchelf来更改软链接而无需重新编译文件(https://nixos.org/patchelf.html):

这就是我卡住的地方。rpath 已成功切换到我的新路径libc.so.6,但libdrmaa.so. 这也是为什么patchelf --set-interpreter没有做任何事情的原因libdrmaa.so

libdrmaa.soafter的依赖关系patchelf

如果没有解释器部分 ( cannot find section .interp),我无法将最后一行更改ld-linux-x86-64.so.2为更新到 2.19 的新行。这是我的问题:

  1. 我可以在不重新编译的情况下更改/lib64/ld-linux-x86-64.so.2to吗?mydir/glibc/lib/ld-linux-x86-64.so.2libdrmaa.solibdrmaa.so

  2. 谁能找到 libdrmaa.so 的源代码,以便我可以使用我想要的前缀重新编译?

或者,如果这比我想象的要容易得多。请不要犹豫,在这里提供一些解决方案。提前谢谢。

===============解决方案===============

在@EmployedRussian 回复后,确认libdrmaa.so没有解释器部分。由于我的情况是libdrmaa.so在python下使用,我应该修补的可执行程序是python!因此,在为 rpath 修补后libdrmaa.so,我输入:

patchelf --set-interpreter mydir/glibc/lib/ld-2.19.so python

然后又跑了main.py一遍。现在 python 使用我安装在本地目录中的新 glibc,我的 python 和库使用本地 glibc 依赖项。

我认为这个问题似乎是多余的,但事实并非如此。libdrmaa.so不是可执行文件,这就是我被卡住的原因。这也说明对于我作为初学者(大概对于其他正在查看此论坛的初学者)来说,存在一个需要更一步一步的解决方案的基本知识差距。希望这个线程将在未来对某人有所帮助。

0 投票
0 回答
24 浏览

drmaa - Blender中基于DRM的计算

2.79 blender 或 2.80 blender(Linux 版本)能否利用多个 GPU 卡?如果是这样,同一主板中有多少个。

我有数百个 GPU 卡和主板可用。寻找适用于 LINUX 的适用于搅拌机的 RX 580 系列 RADION GPU 的正确驱动程序。

0 投票
1 回答
167 浏览

snakemake - 如果指定 --drmaa-log-dir,snakemake 作业将失败

我正在使用snakemake v. 5.7.0。管道在本地启动或通过以下方式提交到 SLURM 时正确运行snakemake --drmaa:作业被提交,一切都按预期工作。但是,在后一种情况下,会在当前目录中生成许多 slurm 日志文件。

使用该选项调用的 Snakemake--drmaa-log-dir会创建选项中指定的目录,但无法执行规则。不生成日志文件。

这是一个最小的例子。首先,使用的 Snakefile:

下面是输出snakemake --drmaa

这是输出snakemake --drmaa --drmaa-log-dir foobar

不生成日志文件。目录 foobar 已创建,但为空。

我究竟做错了什么?