<?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 I suppose that openmp_version in Intel® Fortran Compiler</title>
    <link>https://community.intel.com/t5/Intel-Fortran-Compiler/OpenMP-bugs/m-p/918049#M84715</link>
    <description>&lt;P&gt;I suppose that openmp_version parameter value setting of 201107 is a bug when the compiler doesn't support OpenMP 3.1.&lt;/P&gt;
&lt;P&gt;I haven't seen these issues included among the OpenMP 3.1 standard compatibility issues planned to be dealt with for OpenMP 4.0.&lt;/P&gt;</description>
    <pubDate>Tue, 11 Jun 2013 13:16:36 GMT</pubDate>
    <dc:creator>TimP</dc:creator>
    <dc:date>2013-06-11T13:16:36Z</dc:date>
    <item>
      <title>OpenMP bugs</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/OpenMP-bugs/m-p/918048#M84714</link>
      <description>&lt;P&gt;I believe I have found two minor bugs in the Intel Fortran OpenMP implementation.&lt;/P&gt;
&lt;P&gt;First, the omp_lib module "leaks" the contents of the iso_c_binding module. &amp;nbsp;This trivial program fails to compile:&lt;/P&gt;
&lt;P&gt;[fortran]&lt;/P&gt;
&lt;P&gt;program openmp_name_leak_bug&lt;BR /&gt;use omp_lib&lt;BR /&gt;implicit none&lt;BR /&gt;real :: c_double, c_int&lt;BR /&gt;end program&lt;/P&gt;
&lt;P&gt;[/fortran]&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Second, the argument names of many of the OpenMP runtime library subprograms differ from those specified in the OpenMP standard (as required by p. 114, lines 17-22 of the OpenMP 3.1 specification). &amp;nbsp;This makes it impossible to call the affected subprograms using keyword arguments, which is expected to work if the OpenMP runtime library subprograms have explicit interfaces. &amp;nbsp;This affects both the omp_lib module and the omp_lib.h include file, since both declare explicit interfaces. &amp;nbsp;For example, this fails to compile:&lt;/P&gt;
&lt;P&gt;[fortran]&lt;/P&gt;
&lt;P&gt;program openmp_keyword_argument_bug&lt;BR /&gt;use omp_lib&lt;BR /&gt;implicit none&lt;/P&gt;
&lt;P&gt;integer(omp_lock_kind) :: lock&lt;/P&gt;
&lt;P&gt;call omp_set_dynamic(dynamic_threads=.true.)&lt;BR /&gt;call omp_set_num_threads(num_threads=1)&lt;/P&gt;
&lt;P&gt;call omp_set_lock(svar=lock)&lt;/P&gt;
&lt;P&gt;end program&lt;/P&gt;
&lt;P&gt;[/fortran]&lt;/P&gt;</description>
      <pubDate>Tue, 11 Jun 2013 03:41:12 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/OpenMP-bugs/m-p/918048#M84714</guid>
      <dc:creator>Brian1</dc:creator>
      <dc:date>2013-06-11T03:41:12Z</dc:date>
    </item>
    <item>
      <title>I suppose that openmp_version</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/OpenMP-bugs/m-p/918049#M84715</link>
      <description>&lt;P&gt;I suppose that openmp_version parameter value setting of 201107 is a bug when the compiler doesn't support OpenMP 3.1.&lt;/P&gt;
&lt;P&gt;I haven't seen these issues included among the OpenMP 3.1 standard compatibility issues planned to be dealt with for OpenMP 4.0.&lt;/P&gt;</description>
      <pubDate>Tue, 11 Jun 2013 13:16:36 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/OpenMP-bugs/m-p/918049#M84715</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2013-06-11T13:16:36Z</dc:date>
    </item>
    <item>
      <title>I'm not sure what you are</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/OpenMP-bugs/m-p/918050#M84716</link>
      <description>&lt;P&gt;I'm not sure what you are getting at with respect to OpenMP 3.1.&lt;/P&gt;
&lt;P&gt;The first bug is caused by missing public and private declarations. &amp;nbsp;It &amp;nbsp;can easily be fixed by changing the code for the&amp;nbsp;omp_lib_kinds module in omp_lib.f90 to:&lt;/P&gt;
&lt;P&gt;[fortran]&lt;/P&gt;
&lt;P&gt;module omp_lib_kinds&lt;/P&gt;
&lt;P&gt;use, intrinsic :: iso_c_binding&lt;/P&gt;
&lt;P&gt;private&lt;/P&gt;
&lt;P&gt;integer, parameter, public :: omp_integer_kind = c_int&lt;BR /&gt; integer, parameter, public :: omp_logical_kind = 4&lt;BR /&gt; integer, parameter, public :: omp_real_kind = c_float&lt;BR /&gt; integer, parameter, public :: kmp_double_kind = c_double&lt;BR /&gt; integer, parameter, public :: omp_lock_kind = c_intptr_t&lt;BR /&gt; integer, parameter, public :: omp_nest_lock_kind = c_intptr_t&lt;BR /&gt; integer, parameter, public :: omp_sched_kind = omp_integer_kind&lt;BR /&gt; integer, parameter, public :: kmp_pointer_kind = c_intptr_t&lt;BR /&gt; integer, parameter, public :: kmp_size_t_kind = c_size_t&lt;BR /&gt; integer, parameter, public :: kmp_affinity_mask_kind = c_intptr_t&lt;/P&gt;
&lt;P&gt;end module omp_lib_kinds&lt;/P&gt;
&lt;P&gt;[/fortran]&lt;/P&gt;
&lt;P&gt;The second bug is an issue with respect to both the OpenMP 3.0, 3.1, and the draft 4.0 standards. &amp;nbsp;It is arguably an issue with respect to the lock routines in the OpenMP 2.0 Fortran standard, where the names "svar" and "nvar" are shown as arguments for these routines. &amp;nbsp;Again, the fix here is trivial to implement: just change the argument names in the interfaces declared in omp_lib.f90 to the names shown in the standard.&lt;/P&gt;</description>
      <pubDate>Wed, 12 Jun 2013 03:26:29 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/OpenMP-bugs/m-p/918050#M84716</guid>
      <dc:creator>Brian1</dc:creator>
      <dc:date>2013-06-12T03:26:29Z</dc:date>
    </item>
    <item>
      <title>I've alerted colleagues on</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/OpenMP-bugs/m-p/918051#M84717</link>
      <description>&lt;P&gt;I've alerted colleagues on the compiler team to look at this.&lt;/P&gt;</description>
      <pubDate>Thu, 18 Jul 2013 21:28:12 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/OpenMP-bugs/m-p/918051#M84717</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2013-07-18T21:28:12Z</dc:date>
    </item>
  </channel>
</rss>

