小编Tia*_*iro的帖子

如何配置Chapel/GASNet以使用分区密钥在MXM Infiniband网络上运行多语言代码?

我正在尝试在具有MXM Infiniband网络(40 Gbps,型号:Mellanox Technologies MT26428)的群集上运行多列Chapel代码.

我按照Chapel和GASNet文件进行了跟踪,并设置了

export CHPL_COMM_SUBSTRATE=ibv

export CHPL_LAUNCHER=gasnetrun_ibv

export GASNET_IBV_SPAWNER=mpi

CHPL_COMM_SUBSTRATE=mxm一旦mxm被弃用,而不是使用.

问题是我可以使用ibv基板构建Chapel.但是,我不能在多个语言环境中运行.我收到大量的超时错误.

首先,我认为问题是PKEY.所以,我加入"--mca btl_openib_pkey "0x8100""MPIRUN_CMD.但是,没有成功.

我还尝试使用不推荐使用的mxm配置:

CHPL_LAUNCHER=gasnetrun_mxm

export CHPL_LAUNCHER=gasnetrun_ibv

export GASNET_MXM_SPAWNER=mpi

但是,我无法使用这样的配置构建Chapel.这是错误信息:

"User requested --enable-mxm, but I don't know how to build mxm programs for your system."

顺便说一句,在没有分区键的情况下在MPI,UDP和Infiniband之上使用GASNET可以正常工作.

有人知道如何在配备MXM Infiniband网络和分区密钥(PKEY)的群集上使用Chapel吗?

最好的祝福,

蒂亚戈卡内罗.

infiniband gasnet chapel

4
推荐指数
1
解决办法
123
查看次数

如何通过来自不同内核的线程访问相同的全局内存地址?

如果warp中的许多线程想要读取全局内存中的地址,则会广播此数据,是吗?

如果warp中的许多线程想要写入全局内存中的地址,则会有序列化,但是无法预测顺序,是吗?

但是,第一个问题:如果不同的warp中的许多线程在不同的块中想要写入全局内存中的地址?GPU会做什么?序列化对此地址的所有访问权限?有数据一致性的保证吗?

使用Hyper-Q,可以启动大量包含内核的流.如果我在内存中有一个位置,并且不同内核中的许多线程想要写或读这个地址,那么GPU会做什么?序列化来自不同内核的所有线程的访问,或者GPU什么也不做,并且会发生一些不一致的事情?当多个内核读/写到同一个地址时,是否保证数据一致性?

cuda

3
推荐指数
1
解决办法
2908
查看次数

标签 统计

chapel ×1

cuda ×1

gasnet ×1

infiniband ×1