hpc相关内容

Intel OpenMP 库通过设置 KMP_AFFINITY=scatter 显着降低了 AMD 平台上的内存带宽

对于内存受限的程序,使用多个线程并不总是更快,比如与内核数量相同的线程,因为线程可能会竞争内存通道.通常在双插槽机器上,线程越少越好,但我们需要设置亲和性策略,将线程分布在插槽之间以最大化内存带宽. Intel OpenMP 声称 KMP_AFFINITY=scatter 是为了达到这个目的,相反的值“compact"是将线程尽可能靠近.我已经使用 ICC 构建了用于基准测试的 Stream ..
发布时间:2021-10-28 20:30:21 其他开发

使用MPI_Pack打包阵列

我正在尝试打包一个数组,并将其从一个进程发送到另一个进程.我仅在2个进程上执行此操作.我已经编写了以下代码. #include#include#include#include"mpi.h"int main(int argc,char * argv []){MPI_Init(& argc,& argv);int myrank,大小; ..
发布时间:2021-05-14 19:25:16 其他开发

在SLURM中的多个目录上运行一个脚本的首选方法

我最典型的用例是在多个目录(通常是R或Matlab)上运行单个脚本.我可以访问高性能计算环境(基于SLURM).到目前为止,从我的研究来看,我尚不清楚哪种方式可以更有效地利用可用的CPU/内核.我还想确保我不会不必要地占用系统资源,所以我想仔细检查以下两种方法中哪一种最合适. 方法1: 在脚本(MPI)中并行化代码. 将其包装在将脚本应用于所有目录的循环中. 将其作为SLURM脚本 ..
发布时间:2021-05-14 19:25:13 其他开发

充分利用SLURM上的所有CPU

我想在集群上运行作业.在不同的节点上有不同数量的CPU,我不知道哪个节点将分配给我.有什么适当的选项可以使作业在所有节点上创建与CPU一样多的任务? #!/bin/bash -l#SBATCH -p正常#SBATCH -N 4#SBATCH -t 96:00:00srun -n 128 ./运行 解决方案 实现目标的一个肮脏技巧是使用SLURM提供的环境变量.对于样本文件: #!/bin ..
发布时间:2021-05-14 19:25:10 其他开发

需要一种快速的方法来将大量的double转换为string

我正在编写一个用于高速计算程序的结果输出模块. 我的计划是: 我的任务是以相对较快的速度将结果插入数据库(PostgreSQL). 我使用libpq的[从STDIN复制],这被告知是最快的方法. 该方法需要将结果转换为char *格式. 结果看起来像这样: 接下来的106年的每月现金流(总计为1272倍). 每个条目大约有14个现金流. 大约2800个实体(用于测试 ..
发布时间:2021-05-14 19:25:07 其他开发

使用并行NetCDF保存分布式3D复杂阵列

我有一个用Fortran编写的基于MPI的程序,该程序在每个节点(2D时间序列的各个部分)上生成复杂数据的3D数组.我想使用并行I/O将这些数组写入单个文件,可以在python中相对容易地打开该文件以进行进一步的分析/可视化.理想情况下,我希望该解决方案能够提高内存效率(即避免创建中间临时数组). 使用NetCDF,我设法调整了子例程可以实现3D实数数组.但是,对于复杂数组,我遇到了绊脚石. ..
发布时间:2021-05-09 19:17:45 其他开发

运行python作业时,如何让condor自动导入conda环境?

我正在将作业提交给condor,但它说未安装tensorboard,这是错误的,因为我在一个交互式作业中遇到了,所以它被安装了. 我如何让秃鹰使用我当前的活动conda环境? 我的秃鹰提交脚本: ######################实验脚本#简单的HTCondor提交描述​​文件##参考:https://gitlab.engr.illinois.edu/Vision/vis ..
发布时间:2021-05-01 18:30:41 其他开发

如何优化2个相同的,占用率达到50%且可以在CUDA中同时运行的内核?

我在CUDA中有2个相同的内核,它们报告了50%的理论占用率,并且可以同时运行.但是,在不同的流中调用它们将显示顺序执行. 每个内核调用的网格和块尺寸如下: Grid(3,568,620)块(256,1,1)每个线程有50个寄存器. 这导致每个SM线程太多,每个块太多寄存器. 我接下来的优化工作应该集中在减少内核使用的寄存器数量上吗? 或者将网格划分为许多较小的网格是否有 ..
发布时间:2021-04-27 20:07:51 其他开发

块矩阵矩阵乘法的最佳块大小值

我想用下面的C代码进行块矩阵矩阵乘法.在这种方法中,将大小为BLOCK_SIZE的块加载到最快的缓存中,以减少计算过程中的内存流量. void bMMikj(double ** A,double ** B,double ** C,int m,int n,int p,int BLOCK_SIZE){int i,j,jj,k,kk;寄存器double jjTempMin = 0.0,kkTempM ..
发布时间:2021-04-21 18:35:36 其他开发

浮点运算(FLOPs)的定义是什么

我正在尝试使用SIMD(在ARM CPU上)优化代码,并想知道其算术强度(触发器/字节,AI)和FLOPS. 为了计算AI和FLOPS,我必须计算浮点运算(FLOP)的数量.但是,我找不到FLOP的任何精确定义. 当然, mul , add , sub , div 显然是FLOP,但是移动操作,随机操作如何?(例如 _mm_shuffle_ps ),设置操作(例如 _mm_set1_ps ..
发布时间:2021-04-15 19:22:35 其他开发

在具有不同体系结构的群集上应指定哪个AVX和行军?

我目前正在尝试使用Intel编译器来编译用于HPC-Cluster的软件.登录节点是我编译和准备计算的地方,使用英特尔至强E5-2660 v3 / Intel Xeon Gold 6138 ). 据我从上面的链接了解,我的登录节点支持Intel SSE4.2,Intel AVX,Intel AVX2和Intel AVX-512,但我的计算节点仅支持Intel AVX2(Haswell)或In ..
发布时间:2021-04-12 20:54:36 其他开发

如何在多线程HPC集群中运行二进制可执行文件?

我有一个来自complete genomics的名为cgatools的工具( http://cgatools. sourceforge.net/docs/1.8.0/).我需要在高性能计算集群中运行一些基因组分析.我尝试运行分配超过50个内核和250gb内存的作业,但是它仅使用一个内核并将内存限制为小于2GB.在这种情况下,我最好的选择是什么?有没有一种方法可以在HPC群集中运行二进制可执行文件, ..
发布时间:2020-11-23 22:04:29 其他开发

使用指定数量的节点启动Slurm阵列作业

我正在尝试使用Slurm版本14.03.0在我们的HPC上对齐168个序列文件.我一次最多只能使用9个计算节点,以使某些节点对其他人开放. 我更改了文件名,以便可以在sbatch中使用数组函数.序列文件如下所示: Sequence1.fastq.gz,Sequence2.fastq.gz,…Sequence168.fastq.gz 我似乎无法弄清楚如何告诉它一次运行全部168个文件.我 ..
发布时间:2020-11-23 22:04:25 其他开发

如何运行Catalyst/Paraview代码示例?

您好,我想花一会儿时间来解决目录主义者和paraview的问题.我试图在我的视线范围内运行这些示例,但没有成功. https://github.com/Kitware/ParaViewCatalystExampleCode 我想象至少python代码将与python shell一起运行.但这似乎也不起作用.我在网上查看了所有套件教程和其他一些教程.但是仍然没有进展.感谢您的帮助. 解决方案 ..
发布时间:2020-11-23 22:04:11 其他开发

单线程程序的C#事件订阅限制

我试图监视在单个线程程序中并行运行的许多HPC作业的状态,我订阅的是OnJobState引发的事件,当监视多达三个作业时,事件状态更改将丢失并且作业卡住了. 我假设每个工作都需要一个线程来捕获所有事件,但是我无法在单个线程程序中找到有关事件下标限制的任何信息. 我本以为.net平台会将所有这些排队,但事实并非如此. 解决方案 我制作了这个问题更笼统地消除了对HPC的困惑,似乎我 ..
发布时间:2020-11-23 22:04:10 其他开发

FLOPS包括哪些所有操作?

FLOPS表示每秒浮点运算,我对什么是浮点数有所了解.我想知道这些操作是什么? +, -, *, /是唯一的操作还是像取logarithm(),exponential()这样的操作也是FLO? 两个浮点数的+和*是否花费相同的时间?如果他们花费的时间不同,那么我应该从以下陈述中得出什么解释:性能为100 FLOPS .一秒钟内有多少+和*. 我不是计算机科学专业的人,所以请尽量减少技术 ..
发布时间:2020-11-23 22:03:05 其他开发

R在HPC MPIcluster上运行foreach dopar循环

我可以访问带有MPI分区的HPC群集. 我的问题是-无论我如何尝试-我的代码(在我的PC上都可以正常运行)无法在HPC群集上运行.代码如下: 图书馆(tm) 库(qdap) 图书馆(雪) 图书馆(doSNOW) 库(foreach) > cl registerDoSNOW(cl) > np ..
发布时间:2020-11-23 22:03:03 其他开发

Java中的Infiniband

众所周知,OFED的Socket Direct协议已已弃用,而OFED的3.x版本确实完全不附带SDP.因此,Java的 SDP 也无法正常工作.我想知道用Java编程infiniband的正确方法是什么?除了编写JNI代码以外,还有其他便携式解决方案吗? 我的要求是在众多infiniband动力机器中实现 RDMA . 解决方案 jVerbs 可能就是您要找的东西. ..
发布时间:2020-11-23 22:02:51 其他开发

"WindowsError:[错误206]文件名或扩展名太长".用子进程运行程序很多次之后

我的python程序在Windows HPC 2008环境中准备输入,运行外部FORTRAN代码并处理输出.除非代码在1042-1045次之间执行外部程序(通常问题会更早收敛),否则它会很好地工作.在这些情况下,我会得到一个例外: WindowsError:[错误206]文件名或扩展名太长 但是,文件名的路径不是 随时间增长.它只是清理目录并再次运行. 这是代码: inpF ..
发布时间:2020-11-23 22:02:48 其他开发