Skip to content

Reply To: Multi GPUs Calculation


Dear Adrian,

Yes, the multi-GPU execution now works with the additional flag without NVLINK; ” -mca btl_smcuda_use_cuda_ipc 0″ . Thank you.

Thank you for detail ansewers.

The last questuion was meant that where the codes for parallelization are. Are there in src/communication? This is because I cannot understand so far why the codes can run with mpirun without openmpi API instruction for CPU-only simulation in the examples cases in openLB (now I see the cavity3d.cpp in examples/laminar/cavity3d). In this case, “int noCuboids = singleton::mpi().getSize();” is only written. I mean I would like to understabd why the orter API instructions of the openmpi and openMP are not written in “example cases .cpp file” for CPU-only simulation.

Let me confirm to make sure for your answer
1) for CPU-only simulation, it is not necessary to write openmpi API in “my case .cpp file” , (for example MPI_Comm_rank(MPI_COMM_WORLD, &rank); and so on.)
2) for single-GPU simulation, it is also not necessary to write it.
3) for multi-GPU simulation, it is necessary to write openmpi API “in my case .cpp file” . If I do not wirte openMPI API instruction and run with mpirun(for example mpirun -np 2), the GPU dose same simulation in each GPU(in case 2 GPU would do same run and provide same results).

Are my understandigs right?