RenderKit / ospray

An Open, Scalable, Portable, Ray Tracing Based Rendering Engine for High-Fidelity Visualization
http://ospray.org
Apache License 2.0
1k stars 182 forks source link

MPI enable in linux binary #378

Closed gilcu2 closed 4 years ago

gilcu2 commented 4 years ago

Hi, I am trying to use mpirun -np 2 ospBenchmark --osp:mpi in the latest linux binary but I get:#osp: INITIALIZATION ERROR --> #osp:api: could not find module initializer ospray_init_module_mpi

osp: INITIALIZATION ERROR --> Cannot create a device of type 'mpi_offload'! Make sure you have enabled the OSPRAY_MODULE_MPI CMake variable in your build of OSPRay.

(Reason device creation failed: Could not find device of type: mpi_offload. Make sure you have the correct OSPRay libraries linked.) FATAL ERROR DURING INITIALIZATION! However, I see mpi libraries like libospray_mpi_common.so.1.8.5 in the lib directory and it is in LD_LIBRARY_PATH. Also ospBenchmark run OK without using MPI What I am doing wrong? Thanks Reynaldo

Twinklebear commented 4 years ago

Hey Reynaldo,

The library can also fail to load if some of the dependencies of the module aren't in the library path, and the error reporting for that case isn't so great. Could you post the output of ldd libospray_module_mpi.so? It could be failing to find your install of MPI properly, so at runtime it can't load the MPI libraries and this causes the module to fail to load.

gilcu2 commented 4 years ago

Hi, thanks. After seeing the output of ldd I update the LDD_LIBRARY_PATH and now I am finding the dependent modules. Now I am getting a segmentation fault so like that I need to compile against my lib.