octave cluster.
环境相关
载入 Spack:
|
|
查看已经安装的包:
|
|
导入这里需要的包:
|
|
构建流程:
|
|
没有 uint32_t
,可能是个 bug,需要额外 #include<cstdint>
,改在 dataloader.h
了。
运行
|
|
把 .g
的图拷贝了一份过来
目前新的程序写在了:
|
|
Multiple GPU on cuda
GPU programming in CUDA: Using multiple GPUs (prace-ri.eu)
CUDA Runtime API :: CUDA Toolkit Documentation (nvidia.com)
cuda 自己有 device 的 api,所以甚至可以在一个进程里面操控四个设备。
这样的话就这样就行:
- cudaSetDevice(…)
- 分给一点任务,设置
__device__
变量 - 调用 kernel 函数
目前这样的一个很简陋的框架算是写成了,但是还是需要稍微改一改,去掉一点重复的部分,(使用prof工具)研究一下多卡究竟是如何并行的?然后还有就是负载均衡的问题怎么解决呢?
结果
测出来加速比大概是 2-3,但是cuda初始化的overhead一下子就干掉了多卡的加成…我好菜啊。