Processes are not spawned by MPI_Init. They are spawned before by some
applications between your mpirun call and when your program starts. When it
does, you already have all MPI processes (you can check by adding a sleep
or something like that), but they are not synchronized and do not know each
other. This is what MPI_Init is used for.
2011/12/14 Dmitry N. Mikushin <maemarcus_at_[hidden]>
> Dear colleagues,
> For GPU Winter School powered by Moscow State University cluster
> "Lomonosov", the OpenMPI 1.7 was built to test and popularize CUDA
> capabilities of MPI. There is one strange warning I cannot understand:
> OpenMPI runtime suggests to initialize CUDA prior to MPI_Init. Sorry,
> but how could it be? I thought processes are spawned during MPI_Init,
> and such context will be created on the very first root process. Why
> do we need existing CUDA context before MPI_Init? I think there was no
> such error in previous versions.
> - D.
> users mailing list
Information System Engineer, Ph.D.