On Jul 13, 2010, at 3:36 AM, Grzegorz Maj wrote: > Bad news.. > I've tried the latest patch with and without the prior one, but it > hasn't changed anything. I've also tried using the old code but with > the OMPI_DPM_BASE_MAXJOBIDS constant changed to 80, but it also didn't > help. > While looking through the sources of openmpi-1.4.2 I couldn't find any > call of the function ompi_dpm_base_mark_dyncomm.
It isn't directly called - it shows in ompi_comm_set as ompi_dpm.mark_dyncomm. You were definitely overrunning that array, but I guess something else is also being hit. Have to look further... > > > 2010/7/12 Ralph Castain <r...@open-mpi.org>: >> Just so you don't have to wait for 1.4.3 release, here is the patch (doesn't >> include the prior patch). >> >> >> >> >> On Jul 12, 2010, at 12:13 PM, Grzegorz Maj wrote: >> >>> 2010/7/12 Ralph Castain <r...@open-mpi.org>: >>>> Dug around a bit and found the problem!! >>>> >>>> I have no idea who or why this was done, but somebody set a limit of 64 >>>> separate jobids in the dynamic init called by ompi_comm_set, which builds >>>> the intercommunicator. Unfortunately, they hard-wired the array size, but >>>> never check that size before adding to it. >>>> >>>> So after 64 calls to connect_accept, you are overwriting other areas of >>>> the code. As you found, hitting 66 causes it to segfault. >>>> >>>> I'll fix this on the developer's trunk (I'll also add that original patch >>>> to it). Rather than my searching this thread in detail, can you remind me >>>> what version you are using so I can patch it too? >>> >>> I'm using 1.4.2 >>> Thanks a lot and I'm looking forward for the patch. >>> >>>> >>>> Thanks for your patience with this! >>>> Ralph >>>> >>>> >>>> On Jul 12, 2010, at 7:20 AM, Grzegorz Maj wrote: >>>> >>>>> 1024 is not the problem: changing it to 2048 hasn't change anything. >>>>> Following your advice I've run my process using gdb. Unfortunately I >>>>> didn't get anything more than: >>>>> >>>>> Program received signal SIGSEGV, Segmentation fault. >>>>> [Switching to Thread 0xf7e4c6c0 (LWP 20246)] >>>>> 0xf7f39905 in ompi_comm_set () from /home/gmaj/openmpi/lib/libmpi.so.0 >>>>> >>>>> (gdb) bt >>>>> #0 0xf7f39905 in ompi_comm_set () from /home/gmaj/openmpi/lib/libmpi.so.0 >>>>> #1 0xf7e3ba95 in connect_accept () from >>>>> /home/gmaj/openmpi/lib/openmpi/mca_dpm_orte.so >>>>> #2 0xf7f62013 in PMPI_Comm_connect () from >>>>> /home/gmaj/openmpi/lib/libmpi.so.0 >>>>> #3 0x080489ed in main (argc=825832753, argv=0x34393638) at client.c:43 >>>>> >>>>> What's more: when I've added a breakpoint on ompi_comm_set in 66th >>>>> process and stepped a couple of instructions, one of the other >>>>> processes crashed (as usualy on ompi_comm_set) earlier than 66th did. >>>>> >>>>> Finally I decided to recompile openmpi using -g flag for gcc. In this >>>>> case the 66 processes issue has gone! I was running my applications >>>>> exactly the same way as previously (even without recompilation) and >>>>> I've run successfully over 130 processes. >>>>> When switching back to the openmpi compilation without -g it again >>>>> segfaults. >>>>> >>>>> Any ideas? I'm really confused. >>>>> >>>>> >>>>> >>>>> 2010/7/7 Ralph Castain <r...@open-mpi.org>: >>>>>> I would guess the #files limit of 1024. However, if it behaves the same >>>>>> way when spread across multiple machines, I would suspect it is >>>>>> somewhere in your program itself. Given that the segfault is in your >>>>>> process, can you use gdb to look at the core file and see where and why >>>>>> it fails? >>>>>> >>>>>> On Jul 7, 2010, at 10:17 AM, Grzegorz Maj wrote: >>>>>> >>>>>>> 2010/7/7 Ralph Castain <r...@open-mpi.org>: >>>>>>>> >>>>>>>> On Jul 6, 2010, at 8:48 AM, Grzegorz Maj wrote: >>>>>>>> >>>>>>>>> Hi Ralph, >>>>>>>>> sorry for the late response, but I couldn't find free time to play >>>>>>>>> with this. Finally I've applied the patch you prepared. I've launched >>>>>>>>> my processes in the way you've described and I think it's working as >>>>>>>>> you expected. None of my processes runs the orted daemon and they can >>>>>>>>> perform MPI operations. Unfortunately I'm still hitting the 65 >>>>>>>>> processes issue :( >>>>>>>>> Maybe I'm doing something wrong. >>>>>>>>> I attach my source code. If anybody could have a look on this, I would >>>>>>>>> be grateful. >>>>>>>>> >>>>>>>>> When I run that code with clients_count <= 65 everything works fine: >>>>>>>>> all the processes create a common grid, exchange some information and >>>>>>>>> disconnect. >>>>>>>>> When I set clients_count > 65 the 66th process crashes on >>>>>>>>> MPI_Comm_connect (segmentation fault). >>>>>>>> >>>>>>>> I didn't have time to check the code, but my guess is that you are >>>>>>>> still hitting some kind of file descriptor or other limit. Check to >>>>>>>> see what your limits are - usually "ulimit" will tell you. >>>>>>> >>>>>>> My limitations are: >>>>>>> time(seconds) unlimited >>>>>>> file(blocks) unlimited >>>>>>> data(kb) unlimited >>>>>>> stack(kb) 10240 >>>>>>> coredump(blocks) 0 >>>>>>> memory(kb) unlimited >>>>>>> locked memory(kb) 64 >>>>>>> process 200704 >>>>>>> nofiles 1024 >>>>>>> vmemory(kb) unlimited >>>>>>> locks unlimited >>>>>>> >>>>>>> Which one do you think could be responsible for that? >>>>>>> >>>>>>> I was trying to run all the 66 processes on one machine or spread them >>>>>>> across several machines and it always crashes the same way on the 66th >>>>>>> process. >>>>>>> >>>>>>>> >>>>>>>>> >>>>>>>>> Another thing I would like to know is if it's normal that any of my >>>>>>>>> processes when calling MPI_Comm_connect or MPI_Comm_accept when the >>>>>>>>> other side is not ready, is eating up a full CPU available. >>>>>>>> >>>>>>>> Yes - the waiting process is polling in a tight loop waiting for the >>>>>>>> connection to be made. >>>>>>>> >>>>>>>>> >>>>>>>>> Any help would be appreciated, >>>>>>>>> Grzegorz Maj >>>>>>>>> >>>>>>>>> >>>>>>>>> 2010/4/24 Ralph Castain <r...@open-mpi.org>: >>>>>>>>>> Actually, OMPI is distributed with a daemon that does pretty much >>>>>>>>>> what you >>>>>>>>>> want. Checkout "man ompi-server". I originally wrote that code to >>>>>>>>>> support >>>>>>>>>> cross-application MPI publish/subscribe operations, but we can >>>>>>>>>> utilize it >>>>>>>>>> here too. Have to blame me for not making it more publicly known. >>>>>>>>>> The attached patch upgrades ompi-server and modifies the singleton >>>>>>>>>> startup >>>>>>>>>> to provide your desired support. This solution works in the following >>>>>>>>>> manner: >>>>>>>>>> 1. launch "ompi-server -report-uri <filename>". This starts a >>>>>>>>>> persistent >>>>>>>>>> daemon called "ompi-server" that acts as a rendezvous point for >>>>>>>>>> independently started applications. The problem with starting >>>>>>>>>> different >>>>>>>>>> applications and wanting them to MPI connect/accept lies in the need >>>>>>>>>> to have >>>>>>>>>> the applications find each other. If they can't discover contact >>>>>>>>>> info for >>>>>>>>>> the other app, then they can't wire up their interconnects. The >>>>>>>>>> "ompi-server" tool provides that rendezvous point. I don't like that >>>>>>>>>> comm_accept segfaulted - should have just error'd out. >>>>>>>>>> 2. set OMPI_MCA_orte_server=file:<filename>" in the environment >>>>>>>>>> where you >>>>>>>>>> will start your processes. This will allow your singleton processes >>>>>>>>>> to find >>>>>>>>>> the ompi-server. I automatically also set the envar to connect the >>>>>>>>>> MPI >>>>>>>>>> publish/subscribe system for you. >>>>>>>>>> 3. run your processes. As they think they are singletons, they will >>>>>>>>>> detect >>>>>>>>>> the presence of the above envar and automatically connect themselves >>>>>>>>>> to the >>>>>>>>>> "ompi-server" daemon. This provides each process with the ability to >>>>>>>>>> perform >>>>>>>>>> any MPI-2 operation. >>>>>>>>>> I tested this on my machines and it worked, so hopefully it will >>>>>>>>>> meet your >>>>>>>>>> needs. You only need to run one "ompi-server" period, so long as you >>>>>>>>>> locate >>>>>>>>>> it where all of the processes can find the contact file and can open >>>>>>>>>> a TCP >>>>>>>>>> socket to the daemon. There is a way to knit multiple ompi-servers >>>>>>>>>> into a >>>>>>>>>> broader network (e.g., to connect processes that cannot directly >>>>>>>>>> access a >>>>>>>>>> server due to network segmentation), but it's a tad tricky - let me >>>>>>>>>> know if >>>>>>>>>> you require it and I'll try to help. >>>>>>>>>> If you have trouble wiring them all into a single communicator, you >>>>>>>>>> might >>>>>>>>>> ask separately about that and see if one of our MPI experts can >>>>>>>>>> provide >>>>>>>>>> advice (I'm just the RTE grunt). >>>>>>>>>> HTH - let me know how this works for you and I'll incorporate it >>>>>>>>>> into future >>>>>>>>>> OMPI releases. >>>>>>>>>> Ralph >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Apr 24, 2010, at 1:49 AM, Krzysztof Zarzycki wrote: >>>>>>>>>> >>>>>>>>>> Hi Ralph, >>>>>>>>>> I'm Krzysztof and I'm working with Grzegorz Maj on this our small >>>>>>>>>> project/experiment. >>>>>>>>>> We definitely would like to give your patch a try. But could you >>>>>>>>>> please >>>>>>>>>> explain your solution a little more? >>>>>>>>>> You still would like to start one mpirun per mpi grid, and then have >>>>>>>>>> processes started by us to join the MPI comm? >>>>>>>>>> It is a good solution of course. >>>>>>>>>> But it would be especially preferable to have one daemon running >>>>>>>>>> persistently on our "entry" machine that can handle several mpi grid >>>>>>>>>> starts. >>>>>>>>>> Can your patch help us this way too? >>>>>>>>>> Thanks for your help! >>>>>>>>>> Krzysztof >>>>>>>>>> >>>>>>>>>> On 24 April 2010 03:51, Ralph Castain <r...@open-mpi.org> wrote: >>>>>>>>>>> >>>>>>>>>>> In thinking about this, my proposed solution won't entirely fix the >>>>>>>>>>> problem - you'll still wind up with all those daemons. I believe I >>>>>>>>>>> can >>>>>>>>>>> resolve that one as well, but it would require a patch. >>>>>>>>>>> >>>>>>>>>>> Would you like me to send you something you could try? Might take a >>>>>>>>>>> couple >>>>>>>>>>> of iterations to get it right... >>>>>>>>>>> >>>>>>>>>>> On Apr 23, 2010, at 12:12 PM, Ralph Castain wrote: >>>>>>>>>>> >>>>>>>>>>>> Hmmm....I -think- this will work, but I cannot guarantee it: >>>>>>>>>>>> >>>>>>>>>>>> 1. launch one process (can just be a spinner) using mpirun that >>>>>>>>>>>> includes >>>>>>>>>>>> the following option: >>>>>>>>>>>> >>>>>>>>>>>> mpirun -report-uri file >>>>>>>>>>>> >>>>>>>>>>>> where file is some filename that mpirun can create and insert its >>>>>>>>>>>> contact info into it. This can be a relative or absolute path. >>>>>>>>>>>> This process >>>>>>>>>>>> must remain alive throughout your application - doesn't matter >>>>>>>>>>>> what it does. >>>>>>>>>>>> It's purpose is solely to keep mpirun alive. >>>>>>>>>>>> >>>>>>>>>>>> 2. set OMPI_MCA_dpm_orte_server=FILE:file in your environment, >>>>>>>>>>>> where >>>>>>>>>>>> "file" is the filename given above. This will tell your processes >>>>>>>>>>>> how to >>>>>>>>>>>> find mpirun, which is acting as a meeting place to handle the >>>>>>>>>>>> connect/accept >>>>>>>>>>>> operations >>>>>>>>>>>> >>>>>>>>>>>> Now run your processes, and have them connect/accept to each other. >>>>>>>>>>>> >>>>>>>>>>>> The reason I cannot guarantee this will work is that these >>>>>>>>>>>> processes >>>>>>>>>>>> will all have the same rank && name since they all start as >>>>>>>>>>>> singletons. >>>>>>>>>>>> Hence, connect/accept is likely to fail. >>>>>>>>>>>> >>>>>>>>>>>> But it -might- work, so you might want to give it a try. >>>>>>>>>>>> >>>>>>>>>>>> On Apr 23, 2010, at 8:10 AM, Grzegorz Maj wrote: >>>>>>>>>>>> >>>>>>>>>>>>> To be more precise: by 'server process' I mean some process that I >>>>>>>>>>>>> could run once on my system and it could help in creating those >>>>>>>>>>>>> groups. >>>>>>>>>>>>> My typical scenario is: >>>>>>>>>>>>> 1. run N separate processes, each without mpirun >>>>>>>>>>>>> 2. connect them into MPI group >>>>>>>>>>>>> 3. do some job >>>>>>>>>>>>> 4. exit all N processes >>>>>>>>>>>>> 5. goto 1 >>>>>>>>>>>>> >>>>>>>>>>>>> 2010/4/23 Grzegorz Maj <ma...@wp.pl>: >>>>>>>>>>>>>> Thank you Ralph for your explanation. >>>>>>>>>>>>>> And, apart from that descriptors' issue, is there any other way >>>>>>>>>>>>>> to >>>>>>>>>>>>>> solve my problem, i.e. to run separately a number of processes, >>>>>>>>>>>>>> without mpirun and then to collect them into an MPI intracomm >>>>>>>>>>>>>> group? >>>>>>>>>>>>>> If I for example would need to run some 'server process' (even >>>>>>>>>>>>>> using >>>>>>>>>>>>>> mpirun) for this task, that's OK. Any ideas? >>>>>>>>>>>>>> >>>>>>>>>>>>>> Thanks, >>>>>>>>>>>>>> Grzegorz Maj >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> 2010/4/18 Ralph Castain <r...@open-mpi.org>: >>>>>>>>>>>>>>> Okay, but here is the problem. If you don't use mpirun, and are >>>>>>>>>>>>>>> not >>>>>>>>>>>>>>> operating in an environment we support for "direct" launch >>>>>>>>>>>>>>> (i.e., starting >>>>>>>>>>>>>>> processes outside of mpirun), then every one of those processes >>>>>>>>>>>>>>> thinks it is >>>>>>>>>>>>>>> a singleton - yes? >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> What you may not realize is that each singleton immediately >>>>>>>>>>>>>>> fork/exec's an orted daemon that is configured to behave just >>>>>>>>>>>>>>> like mpirun. >>>>>>>>>>>>>>> This is required in order to support MPI-2 operations such as >>>>>>>>>>>>>>> MPI_Comm_spawn, MPI_Comm_connect/accept, etc. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> So if you launch 64 processes that think they are singletons, >>>>>>>>>>>>>>> then >>>>>>>>>>>>>>> you have 64 copies of orted running as well. This eats up a lot >>>>>>>>>>>>>>> of file >>>>>>>>>>>>>>> descriptors, which is probably why you are hitting this 65 >>>>>>>>>>>>>>> process limit - >>>>>>>>>>>>>>> your system is probably running out of file descriptors. You >>>>>>>>>>>>>>> might check you >>>>>>>>>>>>>>> system limits and see if you can get them revised upward. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On Apr 17, 2010, at 4:24 PM, Grzegorz Maj wrote: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Yes, I know. The problem is that I need to use some special >>>>>>>>>>>>>>>> way for >>>>>>>>>>>>>>>> running my processes provided by the environment in which I'm >>>>>>>>>>>>>>>> working >>>>>>>>>>>>>>>> and unfortunately I can't use mpirun. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> 2010/4/18 Ralph Castain <r...@open-mpi.org>: >>>>>>>>>>>>>>>>> Guess I don't understand why you can't use mpirun - all it >>>>>>>>>>>>>>>>> does is >>>>>>>>>>>>>>>>> start things, provide a means to forward io, etc. It mainly >>>>>>>>>>>>>>>>> sits there >>>>>>>>>>>>>>>>> quietly without using any cpu unless required to support the >>>>>>>>>>>>>>>>> job. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Sounds like it would solve your problem. Otherwise, I know of >>>>>>>>>>>>>>>>> no >>>>>>>>>>>>>>>>> way to get all these processes into comm_world. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> On Apr 17, 2010, at 2:27 PM, Grzegorz Maj wrote: >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Hi, >>>>>>>>>>>>>>>>>> I'd like to dynamically create a group of processes >>>>>>>>>>>>>>>>>> communicating >>>>>>>>>>>>>>>>>> via >>>>>>>>>>>>>>>>>> MPI. Those processes need to be run without mpirun and create >>>>>>>>>>>>>>>>>> intracommunicator after the startup. Any ideas how to do this >>>>>>>>>>>>>>>>>> efficiently? >>>>>>>>>>>>>>>>>> I came up with a solution in which the processes are >>>>>>>>>>>>>>>>>> connecting >>>>>>>>>>>>>>>>>> one by >>>>>>>>>>>>>>>>>> one using MPI_Comm_connect, but unfortunately all the >>>>>>>>>>>>>>>>>> processes >>>>>>>>>>>>>>>>>> that >>>>>>>>>>>>>>>>>> are already in the group need to call MPI_Comm_accept. This >>>>>>>>>>>>>>>>>> means >>>>>>>>>>>>>>>>>> that >>>>>>>>>>>>>>>>>> when the n-th process wants to connect I need to collect all >>>>>>>>>>>>>>>>>> the >>>>>>>>>>>>>>>>>> n-1 >>>>>>>>>>>>>>>>>> processes on the MPI_Comm_accept call. After I run about 40 >>>>>>>>>>>>>>>>>> processes >>>>>>>>>>>>>>>>>> every subsequent call takes more and more time, which I'd >>>>>>>>>>>>>>>>>> like to >>>>>>>>>>>>>>>>>> avoid. >>>>>>>>>>>>>>>>>> Another problem in this solution is that when I try to >>>>>>>>>>>>>>>>>> connect >>>>>>>>>>>>>>>>>> 66-th >>>>>>>>>>>>>>>>>> process the root of the existing group segfaults on >>>>>>>>>>>>>>>>>> MPI_Comm_accept. >>>>>>>>>>>>>>>>>> Maybe it's my bug, but it's weird as everything works fine >>>>>>>>>>>>>>>>>> for at >>>>>>>>>>>>>>>>>> most >>>>>>>>>>>>>>>>>> 65 processes. Is there any limitation I don't know about? >>>>>>>>>>>>>>>>>> My last question is about MPI_COMM_WORLD. When I run my >>>>>>>>>>>>>>>>>> processes >>>>>>>>>>>>>>>>>> without mpirun their MPI_COMM_WORLD is the same as >>>>>>>>>>>>>>>>>> MPI_COMM_SELF. >>>>>>>>>>>>>>>>>> Is >>>>>>>>>>>>>>>>>> there any way to change MPI_COMM_WORLD and set it to the >>>>>>>>>>>>>>>>>> intracommunicator that I've created? >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Thanks, >>>>>>>>>>>>>>>>>> Grzegorz Maj >>>>>>>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>>>>>>> users mailing list >>>>>>>>>>>>>>>>>> us...@open-mpi.org >>>>>>>>>>>>>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>>>>>> users mailing list >>>>>>>>>>>>>>>>> us...@open-mpi.org >>>>>>>>>>>>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>>>>> users mailing list >>>>>>>>>>>>>>>> us...@open-mpi.org >>>>>>>>>>>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>>>> users mailing list >>>>>>>>>>>>>>> us...@open-mpi.org >>>>>>>>>>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>> users mailing list >>>>>>>>>>>>> us...@open-mpi.org >>>>>>>>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> _______________________________________________ >>>>>>>>>>> users mailing list >>>>>>>>>>> us...@open-mpi.org >>>>>>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users >>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>>>>> users mailing list >>>>>>>>>> us...@open-mpi.org >>>>>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users >>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>>>>> users mailing list >>>>>>>>>> us...@open-mpi.org >>>>>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users >>>>>>>>>> >>>>>>>>> <client.c><server.c>_______________________________________________ >>>>>>>>> users mailing list >>>>>>>>> us...@open-mpi.org >>>>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users >>>>>>>> >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> users mailing list >>>>>>>> us...@open-mpi.org >>>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> users mailing list >>>>>>> us...@open-mpi.org >>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> users mailing list >>>>>> us...@open-mpi.org >>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users >>>>>> >>>>>> >>>>> >>>>> _______________________________________________ >>>>> users mailing list >>>>> us...@open-mpi.org >>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users >>>> >>>> >>>> _______________________________________________ >>>> users mailing list >>>> us...@open-mpi.org >>>> http://www.open-mpi.org/mailman/listinfo.cgi/users >>>> >>>> >>> >>> _______________________________________________ >>> users mailing list >>> us...@open-mpi.org >>> http://www.open-mpi.org/mailman/listinfo.cgi/users >> >> >> _______________________________________________ >> users mailing list >> us...@open-mpi.org >> http://www.open-mpi.org/mailman/listinfo.cgi/users >> > > _______________________________________________ > users mailing list > us...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/users