hpc相关内容

在集群中运行作业时强制加载R软件包

当我以交互模式在HPC集群中运行作业时,我可以加载软件包,如果加载失败(不确定为什么某些软件包一开始无法加载),可以通过运行库(失败的程序包)多次,但当我执行 qsub my_rscript_job.pbs 时,程序包无法加载。 我的my_rscript_job.pbs脚本是: #!/ bin / bash #PBS -l walltime = 100:00:00 #PBS - ..
发布时间:2020-10-03 02:49:20 其他开发

使用DAG的Condor作业,其中一些作业需要运行同一主机

我有一个计算任务,该任务分为多个独立的程序执行,并具有依赖性。我正在使用Condor 7作为任务调度程序(在Vanilla Universe中,由于对程序的限制超出了我的能力范围,因此不涉及检查点),因此DAG看起来是很自然的解决方案。但是,某些程序需要在同一主机上运行。在Condor手册中找不到如何执行此操作的参考。 示例DAG文件: JOB A.condor 职位B B.con ..
发布时间:2020-10-03 02:42:35 其他开发

在HPC集群上使用python代码(mpi4py)提交作业

我正在使用MPI(mpi4py)处理 python代码,并且希望在HPC群集的队列中的多个节点(每个节点具有16个处理器)之间实现我的代码。 我的代码结构如下: from mpi4py import MPI 通讯= MPI.COMM_WORLD 大小= comm.Get_size() 等级= comm.Get_rank() 计数= 0 对于范围(1,大小)中的i:如果等 ..
发布时间:2020-10-03 02:36:05 其他开发

应用程序性能与峰值性能

我对群集上运行的实际应用程序性能与群集峰值性能有疑问. 假设一个HPC集群报告其峰值性能为1 Petaflops.这是如何计算的? 在我看来,似乎有两个测量矩阵.一种是基于硬件计算的性能.另一个是从运行HPL吗?我的理解正确吗? 当我阅读一个在系统上全面运行的真实应用程序时,开发人员提到它可以实现10%的峰值性能.如何测量它以及为什么不能达到最佳性能? 谢谢 解决方案 峰值性能 ..
发布时间:2020-07-25 22:41:40 其他开发

修改PBS作业的属性(包括队列)

我想更改群集上计划的几个(空闲)作业的属性(挂墙时间和队列). 当我这样做时(其中1234是工作ID): qalter -l walltime=24:00:00 -q newQueue 1234 我收到以下错误: qalter: illegally formed job identifier: newQueue 我该怎么办? 解决方案 您需要分两个步骤进行操作: ..
发布时间:2020-07-11 02:42:13 其他开发

SunGridEngine,Condor,Torque作为PVM的资源管理器

任何人都知道哪种资源管理器适合PVM?还是我不应该使用PVM而是依靠MPI(或其任何版本,例如MPICH-2 [还有其他更好的版本吗?]).使用PVM的主要原因是因为在我之前从事此项目的人开始使用PVM.但是,既然这个项目属于我(他没有做过任何依赖PVM的重要工作),则可以轻松更改此项目,最好更改为易于安装的项目,因为安装和设置PVM麻烦很大. 我倾向于SunGridEngine,因为我有专 ..
发布时间:2020-07-10 03:43:55 其他开发

在LSF作业数组中引用作业索引

我正在尝试将作业数组中的作业索引作为参数传递给另一个bash脚本. numSims=3 numTreatments=6 # uses numTreatments top rows of parameters.csv maxFail=10 j=1 while [ $j -le $numSims ]; do bsub -q someQueue -J "mySim[1-$numTreat ..
发布时间:2020-06-29 21:13:47 其他开发

并行处理效率是否可以> 1个?

我了解了并行计算的效率,但从未对此有个清楚的主意,也了解了实现效率的方法 >1 ,并得出结论认为,它可能是超线性的. 那是正确的并且可能吗? 如果是,那么有人可以告诉我如何做并提供示例吗? 或者,如果不是,那为什么呢? 解决方案 让我们首先同意一些条款: 可能会安排一套流程以几种不同的策略执行- [SERIAL] -即一次又一次地执行,直到全部完成为止,或者 ..
发布时间:2020-05-24 21:20:55 其他开发

如何从OpenCL设备写入/读取单个浮点值(缓冲区)

关于如何从设备读取数组有很多问题,但是我只想从设备读取单个浮点值.还是只能从设备读取数组? 我为(浮动)总和创建一个缓冲区,如下所示. ocl.sum = clCreateBuffer(context, CL_MEM_READ_WRITE, 1, NULL, &err); 像这样设置arg. clSetKernelArg(kernel, 0, sizeof(cl_men), ..
发布时间:2020-05-20 19:01:45 其他开发

在OpenCL 1.2中使用cl_arm_import_memory扩展进行零拷贝缓冲区-Arm Mali Midgard GPU

我希望分配一个向量,并使用它的数据指针在GPU上分配一个零拷贝缓冲区.有此cl_arm_import_memory扩展名可用于执行此操作.但是我不确定是否所有马里Midgard OpenCL驱动程序都支持它. 我正在通过此链接,我是以下几行让我很困惑:- 如果公开了扩展字符串cl_arm_import_memory_host,则从普通用户空间分配(例如通过malloc创建的分配)中导入 ..
发布时间:2020-05-20 19:01:12 其他开发

在HPC上无头运行NetLogo,如何增加CPU使用率?

我正在使用行为空间在HPC上无头运行NetLogo. HPC上的一些非NetLogo其他用户向我抱怨说,我使用CPU内核的程度很小,应该增加.我不知道该怎么做,请帮忙.我猜renice不会有任何帮助. 代码: #!/bin/bash #$ -N NewPara3-d #$ -q all.q #$ -pe mpi 30 /home/abhishekb/netlogo/netlogo-5. ..
发布时间:2020-05-17 02:56:30 其他开发

如何将线程固定到具有预定内存池对象的内核? (80核心Nehalem架构2Tb RAM)

在具有2Tb DRAM的80核(160HT)Nehalem架构上运行一些测试后,我遇到了一个次要的HPC问题: 具有两个以上套接字的服务器开始停滞很多(延迟),因为每个线程开始请求有关“错误"套接字上对象的信息,即请求来自正在处理一个套接字上某些对象的线程提取另一个插槽中DRAM中实际存在的信息. 即使我知道内核正在等待远程套接字返回请求,这些内核看起来还是100%被利用. 由于 ..
发布时间:2020-05-13 22:22:49 Python

限制为MPI_Send或MPI_Recv?

我们对MPI_Send或MPI_Recv上的邮件大小有任何限制吗?还是受计算机限制?当我尝试发送大数据时,它无法完成. 这是我的代码: #include #include #include #include #include void AllGather_ring(void* data, in ..
发布时间:2020-05-12 20:07:39 其他开发

为什么此MPI代码执行不正确?

我正在尝试创建一个“你好,世界!" (Open)MPI中的应用程序,这样每个进程将按顺序打印出来. 我的想法是让第一个进程完成时向第二个进程发送消息,然后第二个进程向第三个进程发送消息,等等: #include #include int main(int argc,char **argv) { int rank, size; M ..
发布时间:2020-05-12 20:06:13 其他开发

MPI中的进程数是否有限制?

我正在阅读“使用MPI"并尝试自己执行代码.在6.3章中有一个网格分解代码.它可以编译,没有任何警告或错误,并且可以在少量进程中运行,但是在笔记本电脑上却可以以较大的数字(例如30)运行.我的笔记本电脑是4核,超线程和8G RAM.两种版本的la_grid_2d_new均不起作用,但是第一个版本可以容忍更大的数字(例如35),但不能运行40个进程.我不知道为什么.请问你能帮帮我吗?非常感谢. ..
发布时间:2020-05-12 20:05:53 其他开发

使用MPI-IO和笛卡尔拓扑结构编写分布式阵列

我有一个MPI代码,该代码实现2D域分解以计算PDE的数值解.目前,我为每个进程写出某些2D分布式数组(例如array_x-> proc000x.bin).我想将其减少为单个二进制文件. array_0,array_1, array_2,array_3, 假设以上示例说明了具有4个进程(2x2)的笛卡尔拓扑.每个2D数组的尺寸为(nx + 2,nz + 2). +2表示为通信目的 ..
发布时间:2020-05-12 20:04:56 其他开发

在通信器MPI_COMM_WORLD上的MPI_Send中发生错误MPI_ERR_RANK:等级无效

我正在尝试学习MPI.当我从一个处理器向另一个处理器发送数据时,我能够成功发送数据并在另一个变量中通过另一个接收它.但是,当我尝试在两个处理器上发送和接收时,都会收到无效的排名错误. 这是我的程序代码 #include #include #include int main(int argc, char **argv) { ..
发布时间:2020-05-12 20:04:04 C/C++开发