| 1 | <html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi,<div><br></div><div>I try to compile my first C++ app with MPICH2 (I have been working for some month with OpenMPI ). I had compiled Boost (1.39) with the "using mpi / --with-mpi" option.</div><div><br></div><div>Under my OSX shell I had set the library pathes:</div><div><br></div><div><div>LIBRARY_PATH=/Developer/SelfExtensions/Qt/4.5.1/lib:/Developer/SelfExtensions/MPICH/1.1/lib:/Developer/SelfExtensions/GSL/1.9.0/lib:/Developer/SelfExtensions/Boost/1.39.0-mpich/lib:</div><div><div><br></div><div>LD_LIBRARY_PATH=/Developer/SelfExtensions/Qt/4.5.1/lib:/Developer/SelfExtensions/MPICH/1.1/lib:/Developer/SelfExtensions/GSL/1.9.0/lib:/Developer/SelfExtensions/Boost/1.39.0-mpich/lib:</div><div><div><br></div><div>PATH=/Developer/SelfExtensions/Qt/4.5.1/bin:/Developer/SelfExtensions/MPICH/1.1/bin:/Developer/SelfExtensions/Ant/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/texbin:/usr/X11/bin:/usr/local/bin:/usr/texbin</div><div><div><br></div><div>DYLD_LIBRARY_PATH=/Developer/SelfExtensions/Qt/4.5.1/lib:/Developer/SelfExtensions/MPICH/1.1/lib:/Developer/SelfExtensions/GSL/1.9.0/lib:/Developer/SelfExtensions/Boost/1.39.0-mpich/lib:</div><div><br></div><div><div>OMPI_LDFLAGS=-lboost_mpi-xgcc40-mt-1_39 -lboost_serialization-xgcc40-mt-1_39 </div><div><br></div><div>My testcode shows like:</div><div><br></div><div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(196, 26, 22); "><span style="color: #643820">#include </span><boost/mpi/environment.hpp></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(196, 26, 22); "><span style="color: #643820">#include </span><boost/mpi/communicator.hpp></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(196, 26, 22); "><span style="color: #643820">#include </span><iostream></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; "><span style="color: #aa0d91">namespace</span> <span style="color: #3f6e74">mpi</span> = boost::<span style="color: #3f6e74">mpi</span>;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; min-height: 16px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; "><span style="color: #aa0d91">int</span> main(<span style="color: #aa0d91">int</span> argc, <span style="color: #aa0d91">char</span>* argv[]) </div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; ">{</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; "> <span style="color: #3f6e74">mpi</span>::environment env(argc, argv);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; "> <span style="color: #3f6e74">mpi</span>::communicator world;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; "> std::cout << <span style="color: #c41a16">"I am process "</span> << world.rank() << <span style="color: #c41a16">" of "</span> << world.size()</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; "> << <span style="color: #c41a16">"."</span> << std::endl;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(170, 13, 145); "><span style="color: #000000"> </span>return<span style="color: #000000"> </span><span style="color: #1c00cf">0</span><span style="color: #000000">;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; ">}</div><div><font class="Apple-style-span" face="Monaco"><br></font></div><div><font class="Apple-style-span" face="Monaco">This code with OpenMPI runs correct, with MPICH2 I get an running error</font></div><div><font class="Apple-style-span" face="Monaco"><br></font></div><div><font class="Apple-style-span" face="Monaco"><div>[MacMini:55917] *** Process received signal ***</div><div>[MacMini:55917] Signal: Segmentation fault (11)</div><div>[MacMini:55917] Signal code: Address not mapped (1)</div><div>[MacMini:55917] Failing at address: 0x44000088</div><div>[ 1] [0xbffff0c8, 0x44000088] (-P-)</div><div>[ 2] (_ZN5boost3mpi11environmentC2ERiRPPcb + 0x4b) [0xbffff128, 0x00005ddb] </div><div>[ 3] (main + 0x2f) [0xbffff168, 0x00002301] </div><div>[ 4] (start + 0x36) [0xbffff180, 0x000022a6] </div><div>[ 5] [0x00000000, 0x00000001] (FP-)</div><div>[MacMini:55917] *** End of error message ***</div><div>Segmentation fault</div><div><br></div><div>I stared the mpd without options. With OpenMPI I can run the program on 2 physical CPU with 4 cores on each CPU, so I get: I am process 0-7 of 8</div><div><br></div><div>Can anyone help me to solve my problem? I would like to change from OpenMPI to MPICH, because I need parallel algorithms under Windows and Unix Systems</div><div><br></div><div>Thanks a lot</div><div><br></div><div>Phil</div></font></div></div><div><br></div><div><br></div></div></div></div></div></div></body></html> |
|---|