<?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 Threadprivate issue in Intel® Moderncode for Parallel Architectures</title>
    <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Threadprivate-issue/m-p/1001244#M6395</link>
    <description>&lt;P&gt;I'm having problems with ifort version&amp;nbsp;14.0.1&lt;/P&gt;

&lt;P&gt;I'm working on a hybrid (OpenMP+MPI) FORTRAN code.&amp;nbsp; In that code the following pointer is declared and specified as threadprivate.&amp;nbsp; However, when I include it in a OpenMP parallel region (default none), I get this compile error:&lt;/P&gt;

&lt;P&gt;ftn&amp;nbsp; -O3 -r8 -openmp cal_xy.F90&lt;BR /&gt;
	cal_xy.F90(750): error #6752: Since the OpenMP* DEFAULT(NONE) clause applies, the PRIVATE, SHARED, REDUCTION, FIRSTPRIVATE, or LASTPRIVATE attribute must be explicitly specified for every variable.&amp;nbsp;&amp;nbsp; [TERM_X]&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select type(term_x)&lt;/P&gt;

&lt;P&gt;If I add the variable to one of the data sharing clauses of the parallel region I get this error instead:&lt;/P&gt;

&lt;P&gt;ftn -O3 -r8 -openmp calc_xy.F90&lt;BR /&gt;
	calc_xy.F90(739): error #7859: A SHARABLE or THREADPRIVATE entity is not permitted in a PRIVATE, FIRSTPRIVATE, LASTPRIVATE, SHARED or REDUCTION clause.&amp;nbsp;&amp;nbsp; [TERM_X]&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;term_x%add(mat_a,col_r,&amp;amp;&lt;/P&gt;

&lt;P&gt;It looks to be like the first error I get (the #6752 error) only occurs from the "select type()" command, is there any reason why this would be causing me problems with Intel's OpenMP implementation?&lt;/P&gt;

&lt;P&gt;thanks&lt;/P&gt;

&lt;P&gt;adrianj&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 15 Jul 2014 14:22:53 GMT</pubDate>
    <dc:creator>jackson__adrian</dc:creator>
    <dc:date>2014-07-15T14:22:53Z</dc:date>
    <item>
      <title>Threadprivate issue</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Threadprivate-issue/m-p/1001244#M6395</link>
      <description>&lt;P&gt;I'm having problems with ifort version&amp;nbsp;14.0.1&lt;/P&gt;

&lt;P&gt;I'm working on a hybrid (OpenMP+MPI) FORTRAN code.&amp;nbsp; In that code the following pointer is declared and specified as threadprivate.&amp;nbsp; However, when I include it in a OpenMP parallel region (default none), I get this compile error:&lt;/P&gt;

&lt;P&gt;ftn&amp;nbsp; -O3 -r8 -openmp cal_xy.F90&lt;BR /&gt;
	cal_xy.F90(750): error #6752: Since the OpenMP* DEFAULT(NONE) clause applies, the PRIVATE, SHARED, REDUCTION, FIRSTPRIVATE, or LASTPRIVATE attribute must be explicitly specified for every variable.&amp;nbsp;&amp;nbsp; [TERM_X]&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select type(term_x)&lt;/P&gt;

&lt;P&gt;If I add the variable to one of the data sharing clauses of the parallel region I get this error instead:&lt;/P&gt;

&lt;P&gt;ftn -O3 -r8 -openmp calc_xy.F90&lt;BR /&gt;
	calc_xy.F90(739): error #7859: A SHARABLE or THREADPRIVATE entity is not permitted in a PRIVATE, FIRSTPRIVATE, LASTPRIVATE, SHARED or REDUCTION clause.&amp;nbsp;&amp;nbsp; [TERM_X]&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call&amp;nbsp;term_x%add(mat_a,col_r,&amp;amp;&lt;/P&gt;

&lt;P&gt;It looks to be like the first error I get (the #6752 error) only occurs from the "select type()" command, is there any reason why this would be causing me problems with Intel's OpenMP implementation?&lt;/P&gt;

&lt;P&gt;thanks&lt;/P&gt;

&lt;P&gt;adrianj&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 15 Jul 2014 14:22:53 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Threadprivate-issue/m-p/1001244#M6395</guid>
      <dc:creator>jackson__adrian</dc:creator>
      <dc:date>2014-07-15T14:22:53Z</dc:date>
    </item>
    <item>
      <title>I suppose you would need to</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Threadprivate-issue/m-p/1001245#M6396</link>
      <description>&lt;P&gt;I suppose you would need to present actual examples on the appropriate Intel Fortran forum (Windows or linux).&lt;/P&gt;

&lt;P&gt;It may require help from a Fortran OpenMP expert if you are pushing the boundaries of f2003 OpenMP.&lt;/P&gt;</description>
      <pubDate>Thu, 17 Jul 2014 12:54:57 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Threadprivate-issue/m-p/1001245#M6396</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2014-07-17T12:54:57Z</dc:date>
    </item>
  </channel>
</rss>

