[OMPI users] How does OpenMPI decided to use which algorithm in MPI_Bcast????????????????
Hi, I had a glance at OpenMPI source codes and there are several algorithms for MPI_Bcast function. My question is how is the algorithm decided to use in a given MPI_Bcast call? message size? Anyone give me little detailed information for this question? Thanks a lot. Axida
Re: [OMPI users] Help: Infiniband interface hang
Could you guys please trim your e-mails. No one wants to scroll by 100K-200K old context to see the update (not to mention wasting storage space for people.) /Peter signature.asc Description: This is a digitally signed message part.
Re: [OMPI users] Open MPI in a PC network running Windows XP
Hi George, The Windows support exists in 1.3.3 and also in trunk. You can have a look at the README.WINDOWS file in Open MPI source. You need to install at least CMake and Visual Studio with C++ compiler; if you want to create an installer, you need to install NSIS too. I'm very glad to share my experience of using Open MPI on Windows systems. Regards, Shiqing George Tsigaridas wrote: Dear Open MPI users Do you have any suggestions on how to install and use Open MPI in a PC network running Windows XP? Thank you in advance George Tsigaridas ___ users mailing list us...@open-mpi.org http://www.open-mpi.org/mailman/listinfo.cgi/users -- -- Shiqing Fan http://www.hlrs.de/people/fan High Performance Computing Tel.: +49 711 685 87234 Center Stuttgart (HLRS)Fax.: +49 711 685 65832 Address:Allmandring 30 email: f...@hlrs.de 70569 Stuttgart
Re: [OMPI users] Help!
guosong wrote: I am new to open MPI I am not, but I'm not real familiar with thread-safe MPI programming. Still, I saw no other replies to your question, so I'll make an attempt to answer. MPI does not guarantee thread safety. E.g., see http://www.mpi-forum.org/docs/mpi-20-html/node162.htm#Node162 and the ensuing pages. To do what you want to do, you need to make sure you have thread safety. There is a standard MPI interface for doing so. I'm not good at C++, so here is a C example: #include #include int main(int argc, char **argv) { int provided; /* start MPI, asking for support for multiple threads */ MPI_Init_thread(&argc,&argv,MPI_THREAD_MULTIPLE,&provided); /* report what level of support is actually provided */ if ( MPI_THREAD_SINGLE == provided ) printf(" MPI_THREAD_SINGLE\n"); if ( MPI_THREAD_FUNNELED == provided ) printf(" MPI_THREAD_FUNNELED\n"); if ( MPI_THREAD_SERIALIZED == provided ) printf(" MPI_THREAD_SERIALIZED\n"); if ( MPI_THREAD_MULTIPLE == provided ) printf(" MPI_THREAD_MULTIPLE\n"); /* exit */ MPI_Finalize(); return 0; } Run this program. If the program does not print out "MPI_THREAD_MULTIPLE", you're not getting the level of thread support you require and your program is not guaranteed to run properly. You have to make sure you're using a thread-safe MPI before you can expect your program to work. The next question is whether Open MPI is thread safe, and I'll leave you with this: http://www.open-mpi.org/faq/?category=supported-systems#thread-support Good luck. Again, I'm not experienced with thread-safe MPI programming (though I understand the general concepts).
Re: [OMPI users] Help!
Thanks. I thought those threads will not interfere with each other since they have no common variables except std IO. List-Post: users@lists.open-mpi.org Date: Thu, 3 Sep 2009 09:01:28 -0700 From: eugene@sun.com To: us...@open-mpi.org Subject: Re: [OMPI users] Help! guosong wrote: I am new to open MPI I am not, but I'm not real familiar with thread-safe MPI programming. Still, I saw no other replies to your question, so I'll make an attempt to answer. MPI does not guarantee thread safety. E.g., see http://www.mpi-forum.org/docs/mpi-20-html/node162.htm#Node162 and the ensuing pages. To do what you want to do, you need to make sure you have thread safety. There is a standard MPI interface for doing so. I'm not good at C++, so here is a C example: #include #include int main(int argc, char **argv) { int provided; /* start MPI, asking for support for multiple threads */ MPI_Init_thread(&argc,&argv,MPI_THREAD_MULTIPLE,&provided); /* report what level of support is actually provided */ if ( MPI_THREAD_SINGLE == provided ) printf(" MPI_THREAD_SINGLE\n"); if ( MPI_THREAD_FUNNELED == provided ) printf(" MPI_THREAD_FUNNELED\n"); if ( MPI_THREAD_SERIALIZED == provided ) printf(" MPI_THREAD_SERIALIZED\n"); if ( MPI_THREAD_MULTIPLE == provided ) printf(" MPI_THREAD_MULTIPLE\n"); /* exit */ MPI_Finalize(); return 0; } Run this program. If the program does not print out "MPI_THREAD_MULTIPLE", you're not getting the level of thread support you require and your program is not guaranteed to run properly. You have to make sure you're using a thread-safe MPI before you can expect your program to work. The next question is whether Open MPI is thread safe, and I'll leave you with this: http://www.open-mpi.org/faq/?category=supported-systems#thread-support Good luck. Again, I'm not experienced with thread-safe MPI programming (though I understand the general concepts). _ MSN十周年庆典,查看MSN注册时间,赢取神秘大奖 http://10.msn.com.cn