<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Hi Philippe, in Intel® MPI Library</title>
    <link>https://community.intel.com/t5/Intel-MPI-Library/Using-MPI-in-parallel-OpenMP-regions/m-p/952450#M2987</link>
    <description>&lt;P&gt;Hi Philippe,&lt;/P&gt;
&lt;P&gt;One&amp;nbsp;solution is to use MPI_Send or MPI_Isend&amp;nbsp;instead of MPI_Bsend.&amp;nbsp; Will either of these work in your program?&lt;/P&gt;
&lt;P&gt;Sincerely,&lt;BR /&gt; James Tullos&lt;BR /&gt; Technical Consulting Engineer&lt;BR /&gt; Intel® Cluster Tools&lt;/P&gt;</description>
    <pubDate>Wed, 30 Oct 2013 20:50:33 GMT</pubDate>
    <dc:creator>James_T_Intel</dc:creator>
    <dc:date>2013-10-30T20:50:33Z</dc:date>
    <item>
      <title>Using MPI in parallel OpenMP regions</title>
      <link>https://community.intel.com/t5/Intel-MPI-Library/Using-MPI-in-parallel-OpenMP-regions/m-p/952447#M2984</link>
      <description>&lt;P&gt;Hi all,&lt;/P&gt;
&lt;P&gt;I am trying to call MPI from within OpenMP regions, but I cannot have it working properly; my program compiles OK using mpiicc (4.1.1.036) and icc (13.1.2 20130514). I checked that it was linked against thread-safe libraries (libmpi_mt.so appears when I run ldd).&lt;/P&gt;
&lt;P&gt;But when I try to run it (2 Ivybridge nodes x 2 MPI tasks x 12 OpenMP threads), I get a SIGSEGV without any backtrace :&lt;/P&gt;
&lt;P&gt;/opt/softs/intel/impi/4.1.1.036/intel64/bin/mpirun -np 4 -ppn 2 ./mpitest.x&lt;/P&gt;
&lt;P&gt;APPLICATION TERMINATED WITH THE EXIT STRING: Segmentation fault (signal 11)&lt;/P&gt;
&lt;P&gt;Or with debug level set to 5 :&lt;/P&gt;
&lt;P&gt;/opt/softs/intel/impi/4.1.1.036/intel64/bin/mpirun -np 4 -ppn 2 ./mpitest.x&lt;BR /&gt;[1] DAPL startup(): trying to open DAPL provider from I_MPI_DAPL_PROVIDER: ofa-v2-mlx4_0-1&lt;BR /&gt;[0] DAPL startup(): trying to open DAPL provider from I_MPI_DAPL_PROVIDER: ofa-v2-mlx4_0-1&lt;BR /&gt;[1] MPI startup(): DAPL provider ofa-v2-mlx4_0-1&lt;BR /&gt;[0] MPI startup(): DAPL provider ofa-v2-mlx4_0-1&lt;BR /&gt;[1] MPI startup(): shm and dapl data transfer modes&lt;BR /&gt;[0] MPI startup(): shm and dapl data transfer modes&lt;BR /&gt;[2] DAPL startup(): trying to open DAPL provider from I_MPI_DAPL_PROVIDER: ofa-v2-mlx4_0-1&lt;BR /&gt;[3] DAPL startup(): trying to open DAPL provider from I_MPI_DAPL_PROVIDER: ofa-v2-mlx4_0-1&lt;BR /&gt;[2] MPI startup(): DAPL provider ofa-v2-mlx4_0-1&lt;BR /&gt;[2] MPI startup(): shm and dapl data transfer modes&lt;BR /&gt;[3] MPI startup(): DAPL provider ofa-v2-mlx4_0-1&lt;BR /&gt;[3] MPI startup(): shm and dapl data transfer modes&lt;BR /&gt;[0] MPI startup(): Rank&amp;nbsp;&amp;nbsp;&amp;nbsp; Pid&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Node name&amp;nbsp;&amp;nbsp; Pin cpu&lt;BR /&gt;[0] MPI startup(): 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 90871&amp;nbsp;&amp;nbsp;&amp;nbsp; beaufix522&amp;nbsp; {0,1,2,3,4,5,6,7,8,9,10,11,24,25,26,27,28,29,30,31,32,33,34,35}&lt;BR /&gt;[0] MPI startup(): 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 90872&amp;nbsp;&amp;nbsp;&amp;nbsp; beaufix522&amp;nbsp; {12,13,14,15,16,17,18,19,20,21,22,23,36,37,38,39,40,41,42,43,44,45,46,47}&lt;BR /&gt;[0] MPI startup(): 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 37690&amp;nbsp;&amp;nbsp;&amp;nbsp; beaufix523&amp;nbsp; {0,1,2,3,4,5,6,7,8,9,10,11,24,25,26,27,28,29,30,31,32,33,34,35}&lt;BR /&gt;[0] MPI startup(): 3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 37691&amp;nbsp;&amp;nbsp;&amp;nbsp; beaufix523&amp;nbsp; {12,13,14,15,16,17,18,19,20,21,22,23,36,37,38,39,40,41,42,43,44,45,46,47}&lt;BR /&gt;[0] MPI startup(): I_MPI_DEBUG=5&lt;BR /&gt;[0] MPI startup(): I_MPI_INFO_NUMA_NODE_DIST=10,15,15,10&lt;BR /&gt;[0] MPI startup(): I_MPI_INFO_NUMA_NODE_MAP=mlx4_0:0&lt;BR /&gt;[0] MPI startup(): I_MPI_INFO_NUMA_NODE_NUM=2&lt;BR /&gt;[0] MPI startup(): I_MPI_PIN_MAPPING=2:0 0,1 12&lt;BR /&gt;APPLICATION TERMINATED WITH THE EXIT STRING: Segmentation fault (signal 11)&lt;/P&gt;
&lt;P&gt;Of course, if I use a single OpenMP thread, everything works fine. I also tried to wrap calls to MPI into critical regions, which works, but is not what I want.&lt;/P&gt;
&lt;P&gt;My program is just a small test case to figure out whether I can try this pattern inside a bigger program. For each MPI task, all OpenMP threads are used to send messages to other tasks, and afterwards, all OpenMP threads are used to receive messages from other tasks.&lt;/P&gt;
&lt;P&gt;My questions are :&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;does my program conforms to the thread level MPI_THREAD_MULTIPLE (which btw is returned by MPI_Init_thread) ?&lt;/LI&gt;
&lt;LI&gt;is IntelMPI supposed to run it correctly ?&lt;/LI&gt;
&lt;LI&gt;if not, will it work someday ?&lt;/LI&gt;
&lt;LI&gt;what can I do now (extra tests, etc...) ?&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Best regards,&lt;/P&gt;
&lt;P&gt;Philippe&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 10 Oct 2013 12:10:53 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-MPI-Library/Using-MPI-in-parallel-OpenMP-regions/m-p/952447#M2984</guid>
      <dc:creator>philippe_m_</dc:creator>
      <dc:date>2013-10-10T12:10:53Z</dc:date>
    </item>
    <item>
      <title>Among the simpler</title>
      <link>https://community.intel.com/t5/Intel-MPI-Library/Using-MPI-in-parallel-OpenMP-regions/m-p/952448#M2985</link>
      <description>&lt;P&gt;Among the simpler possibilities are that you need to allow more stack, either in the shell or kmp_stacksize or both.&lt;/P&gt;</description>
      <pubDate>Thu, 10 Oct 2013 21:06:32 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-MPI-Library/Using-MPI-in-parallel-OpenMP-regions/m-p/952448#M2985</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2013-10-10T21:06:32Z</dc:date>
    </item>
    <item>
      <title>Hello Tim,</title>
      <link>https://community.intel.com/t5/Intel-MPI-Library/Using-MPI-in-parallel-OpenMP-regions/m-p/952449#M2986</link>
      <description>&lt;P&gt;Hello Tim,&lt;/P&gt;
&lt;P&gt;I already had OMP_STACKSIZE=20000M and ulimit -s unlimited; I added KMP_STACKSIZE=20000M and got this:&lt;/P&gt;
&lt;P&gt;Fatal error in MPI_Bsend: Internal MPI error!, error stack:&lt;BR /&gt;MPI_Bsend(195)..............: MPI_Bsend(buf=0x2ae0f1fff3ec, count=2, MPI_INT, dest=2, tag=0, MPI_COMM_WORLD) failed&lt;BR /&gt;MPIR_Bsend_isend(226).......: &lt;BR /&gt;MPIR_Bsend_check_active(456): &lt;BR /&gt;MPIR_Test_impl(63)..........: &lt;BR /&gt;MPIR_Request_complete(227)..: INTERNAL ERROR: unexpected value in case statement (value=0)&lt;BR /&gt;APPLICATION TERMINATED WITH THE EXIT STRING: Interrupt (signal 2)&lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;
&lt;P&gt;Philippe&lt;/P&gt;</description>
      <pubDate>Fri, 11 Oct 2013 10:10:21 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-MPI-Library/Using-MPI-in-parallel-OpenMP-regions/m-p/952449#M2986</guid>
      <dc:creator>philippe_m_</dc:creator>
      <dc:date>2013-10-11T10:10:21Z</dc:date>
    </item>
    <item>
      <title>Hi Philippe,</title>
      <link>https://community.intel.com/t5/Intel-MPI-Library/Using-MPI-in-parallel-OpenMP-regions/m-p/952450#M2987</link>
      <description>&lt;P&gt;Hi Philippe,&lt;/P&gt;
&lt;P&gt;One&amp;nbsp;solution is to use MPI_Send or MPI_Isend&amp;nbsp;instead of MPI_Bsend.&amp;nbsp; Will either of these work in your program?&lt;/P&gt;
&lt;P&gt;Sincerely,&lt;BR /&gt; James Tullos&lt;BR /&gt; Technical Consulting Engineer&lt;BR /&gt; Intel® Cluster Tools&lt;/P&gt;</description>
      <pubDate>Wed, 30 Oct 2013 20:50:33 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-MPI-Library/Using-MPI-in-parallel-OpenMP-regions/m-p/952450#M2987</guid>
      <dc:creator>James_T_Intel</dc:creator>
      <dc:date>2013-10-30T20:50:33Z</dc:date>
    </item>
    <item>
      <title>I have never seen a</title>
      <link>https://community.intel.com/t5/Intel-MPI-Library/Using-MPI-in-parallel-OpenMP-regions/m-p/952451#M2988</link>
      <description>&lt;P&gt;I have never seen a successful setting of KMP_STACKSIZE greater than 40M.&amp;nbsp; I guess OMP_STACKSIZE would be preferable but would mean the same thing. With 24 threads each set to KMP_STACKSIZE of 20GB you would need 480GB per node just for the thread stacks.&amp;nbsp; I haven't seen a system where ulimit -s unlimited could give you that much.&lt;/P&gt;</description>
      <pubDate>Thu, 31 Oct 2013 11:33:06 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-MPI-Library/Using-MPI-in-parallel-OpenMP-regions/m-p/952451#M2988</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2013-10-31T11:33:06Z</dc:date>
    </item>
  </channel>
</rss>

