小编Han*_*ans的帖子

使用Java与Nvidia GPU(cuda)

我正在开发一个用java完成的业务项目,需要巨大的计算能力来计算业务市场.简单的数学,但有大量的数据.

我们订购了一些cuda gpu来尝试,因为cuda不支持Java,我想知道从哪里开始.我应该构建一个JNI接口吗?我应该使用JCUDA还是有其他方法?

我没有这方面的经验,我想如果有人可以指导我,我可以开始研究和学习.

java cuda gpu-programming multi-gpu

131
推荐指数
2
解决办法
9万
查看次数

具有 sudo 权限的 OpenMPI / mpirun 或 mpiexec

我正在开发一个与 Epiphany 处理器 ( http://www.parallella.org/ ) 一起使用的代码,并且要运行 Epiphany 代码,我需要在主机端程序上有 sudo 权限。sudo 是逃不掉的!

现在我需要跨多个节点运行此代码,为了做到这一点,我使用 mpi 但 mpi 无法与 sudo 正常运行

#sudo mpirun -n 12 --hostfile hosts -x LD_LIBRARY_PATH=${ELIBS} -x EPIPHANY_HDF=${EHDF} ./hello-mpi.elf
Run Code Online (Sandbox Code Playgroud)

即使是进行节点通信的简单代码也不起作用。如果我使用 sudo,则排名为 0。线程之间可以进行通信,但不能跨节点进行通信。这很重要,因为我想在卡之间正确分配工作负载。

这是简单的代码

#include <stdio.h>
#include <mpi.h>

int main(int argc, char *argv[]) {
   int numprocs, rank, namelen;
   char processor_name[MPI_MAX_PROCESSOR_NAME];

   MPI_Init(&argc, &argv);
   MPI_Comm_size(MPI_COMM_WORLD, &numprocs);
   MPI_Comm_rank(MPI_COMM_WORLD, &rank);
   MPI_Get_processor_name(processor_name, &namelen);

   printf("Hello World from MPI Process %d on machine %s\n", rank, processor_name);

   MPI_Finalize();
}
Run Code Online (Sandbox Code Playgroud)

此代码应该在节点之间以不同的方式输出排名号,但它不适用于 sudo

对此的任何帮助都会很棒

这是在不使用 sudo 的情况下运行上述代码的输出。

mpirun -n 3 …
Run Code Online (Sandbox Code Playgroud)

c++ sudo openmpi nodes epiphany

2
推荐指数
1
解决办法
9016
查看次数

标签 统计

c++ ×1

cuda ×1

epiphany ×1

gpu-programming ×1

java ×1

multi-gpu ×1

nodes ×1

openmpi ×1

sudo ×1