问题标签 [pbs]
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.
pbs - 在 PBS 作业脚本中获取 walltime
向 PBS 排队系统提交作业脚本时,会自动或由用户指定挂钟时间,例如通过
问题是这个时间是否可以从作业脚本中访问。是否有环境变量或其他方式来获得这个walltime。
最后,作业脚本应该不时决定是否有足够的时间来做更多的工作,这样作业就不会被排队系统杀死。
更新:
至少如果用户在资源列表中指定了 walltime,我可以提出以下解决方法(适用于 bash)
它从 qstat 输出解析 walltime 并将值放在 PBS_WALLTIME 变量中。因此,命令
会产生类似的东西
logging - PBS 脚本 -o 文件到多个位置
有时当我在 PBS 集群上运行作业时,我真的很喜欢两个地方的作业日志(-o 文件)。一个用于将所有东西$PBS_O_WORKDIR
放在一起,另一个${HOME}/jobOuts/
用于 greping/awking/etc...
从命令行进行测试适用于tee
:
但是,一旦我尝试将其放入我的 PBS 脚本中,如果我将其放入 PBS 脚本和 qsub 中,它就不起作用
这是 qsub 和错误:
我在下面尝试了其他一些事情 - 没有任何效果。
一个 -o 行(逗号、分号和空格):
和两行:
两个工作班轮只采用第二个 -o 选项,一个班轮不起作用。
有什么建议么?可能吗?
parallel-processing - 如何在 pbs_torque 中发送并行作业并添加输出?
我在 Linux 中使用 pov-ray(渲染工具)。我必须并行化我的代码,以便我可以同时使用 10 台计算机进行渲染,我必须使用 torque_pbs 来完成这项任务。我知道如何用进程数和所有像素来划分像素。但问题是我不知道如何将像素块作为 pbs_job 发送到其他计算机,我也不知道如何将不同机器的输出组合成一张大图?
我所知道的是,我必须为此编写一个 bash 脚本。
queue - 作业提交后立即进入退出状态
我正在使用 PBS 队列,有一个队列,当我提交作业时,它立即进入退出状态,并且没有可用的输出/错误文件(例如,没有 do.sh.exxxxxxxxx 和 do.sh.oxxxxxxx)
当我使用python提交一系列作业时,一些作业会进入R状态几秒钟,然后进入退出状态。那些已经进入 R 状态的将有输出/错误文件
错误文件显示
tput: No value for $TERM and no -T specified
/var/spool/torque/mom_priv/jobs/9282194.redwood.speech.cs.cmu.edu.SC: Command not found.
队列本身应该没问题,因为其他人正在愉快地提交作业,但我什至无法提交作业。我使用的脚本也可以在其他机器上使用,所以我相信脚本应该没问题。我只是不知道为什么有一个我不能提交的特定机器。
感谢您阅读这篇文章,非常感谢您的帮助。
jobs - Torque PBS Manager 权限规则无法更改
当我尝试这样更改队列时:
设置队列标准 total_jobs=16
我收到以下错误:
qmgr obj=standard svr=default: 无法设置属性、只读或权限不足 total_jobs
我以 root 身份发出命令。
python - sh.py 不执行 xvfb-run
我正在尝试xvfb-run
通过 py.sh 执行,但我得到sh.ErrorReturnCode_1
并且没有创建任何结果 pdf。
我创建了一个小 html 文件:
然后我xvfb_run
在 Python 中通过 sh.py 运行:
然后,我在 shell 中检查是否已创建任何内容,但没有任何内容:
所以我然后xvfb-run
从上面复制命令,它工作正常:
还有我试图创建的 PDF 文件:
然后我尝试使用call
标准库中的方法:
然后我认为DISPLAY
没有设置环境变量,但我对此也不满意:
知道为什么 py.shcall
无法运行该命令吗?我在这里缺少什么吗?
openmpi - 无法将 ./oceanG 链接到 netcdff5.so
我正在研究 ROMS 建模。我刚刚在 linux 集群上安装了 Openmpi。我也相应地调整了 LD_LIBRARY_PATH。我现在面临一个独特的问题。
当我从 bash shell 中给出 mpirun -np 4 ./oceanG ocean.in 时,它可以正常运行模型。但是,批处理文件中的相同命令无法将 ./oceanG 链接到 netcdff5.so。
我收到以下错误消息。
./oceanG:加载共享库时出错:libnetcdff.so.5:无法打开共享对象文件:没有这样的文件或目录 ./oceanG:加载共享库时出错:libnetcdff.so.5:无法打开共享对象文件:否此类文件或目录 ./oceanG:加载共享库时出错:libnetcdff.so.5:无法打开共享对象文件:没有此类文件或目录 ./oceanG:加载共享库时出错:libnetcdff.so.5:无法打开共享目标文件:没有这样的文件或目录
我的 PBS 文件如下
寻找这个奇怪的解决方案
queue - 为什么 qdel comman 返回“未知作业 ID”
操作系统版本
CentOS release 4.6 (Final) Kernel \r on an \m 2.6.9-100.ELsmp
问题
当我运行 qdel 时,出现以下错误:
qdel:未知作业 ID 20432.scyld.localdomain
信息
qstat -n 的输出
'/var/spool/torque/server_name' 的内容
scyld.localdomain
问题
为什么我会收到错误消息?
matlab - 跨不同 PBS 作业的随机种子
我正在尝试在 Matlab 中创建随机数,这在多个 PBS 作业中会有所不同(我正在使用作业数组)。每个 Matlab 作业都使用一个并行 parfor 循环,其中生成随机数,如下所示:
然而,当我绘制我的结果时,我发现来自不同工作的结果并不是完全随机的 - 我无法量化它,例如说数字完全相同,因为我的结果是随机数的函数,但它是正确的绘制它时。我尝试使用进程 ID 和/或时钟初始化每个作业中的随机种子:
但这并没有解决问题。在使用 shuffleSeed(基于时钟)之前,我还尝试在每个作业中暂停不同的秒数。
所有这一切让我觉得 parfor 在某种程度上弄乱了随机种子 - 如果 parfor 需要确保您在 parfor 的不同迭代中获得不同的随机数,这是有道理的。
我的问题是,真的是这样吗?我怎样才能解决它并在不同的 PBS 工作中获得随机性?
编辑运行 4 个作业,每个作业使用 parfor 和 2 个工人,我验证虽然每个作业都有它自己的种子(设置在 parfor 之外),但生成的数字在作业之间是相同的(不是跨 parfor 的迭代 - 由 Matlab 处理) .
编辑 2尝试@Sam Roberts 的建议,我使用以下代码:
但在对上述脚本的不同调用中,我仍然得到相同的数字。
bash - 如何知道正在执行的脚本中的 PBS 批处理作业提交时间?
我正在使用 PBS qsub 在集群上运行脚本,该脚本必须输出以批处理作业提交时间命名的报告文件。
批处理作业提交时间是它加入 PBS 批处理作业队列的时间。
我检查了所有 PBS 默认变量,但没有找到与作业提交时间相关的任何内容。
我想知道如何在不创建新输入变量的情况下获得这个时间。
谢谢。