<?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 FYI: This is my in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Problems-using-MKL-as-PRNG-in-a-MC-code-memory-leak-and-data/m-p/1109254#M24273</link>
    <description>&lt;P&gt;FYI: This is my implementation of the problem and Intel Inspector XE throws several errors:&lt;/P&gt;

&lt;P&gt;$ inspxe-cl -collect mi3 -result-dir new1 ./test&lt;BR /&gt;
	4 new problem(s) found&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; 3 Invalid memory access problem(s) detected&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 Memory not deallocated problem(s) detected&lt;/P&gt;

&lt;P&gt;$ inspxe-cl -collect ti3 -result-dir new2 ./test&lt;BR /&gt;
	1 new problem(s) found&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 Data race problem(s) detected&lt;/P&gt;

&lt;P&gt;This is the code:&lt;BR /&gt;
	&amp;nbsp;&lt;/P&gt;

&lt;PRE class="brush:bash;"&gt;include "mkl_vsl.f90"

program invoke_PRNG_MKL_uniform
 
  use omp_lib
  use mkl_vsl
  use mkl_vsl_type
 
  implicit none
 
  ! transfer variables
  integer                ::  NVariates, NThreads
  real(kind=8)           ::  rLeft, rRight
  real(kind=8)           ::  rAvg, rVar
  real(kind=8), dimension(:), allocatable            ::  arVariates
  type(VSL_STREAM_STATE), dimension(:), allocatable  ::  aaStreams
 
  ! local variables
  integer       ::  iErr, i, iMySeed
  integer       ::  iThread, iRest, NVariatesPThMin, NVariatesPTh, NVariatesPThAcc
 
 
  ! +----------------+
  ! | Initialization |
  ! +----------------+
 
  ! allocate memory
  NThreads  = 4
  NVariates = 400000
  allocate( aaStreams( NThreads ), stat=iErr )
  if(iErr /= 0) then
    write(*,*) "Streams allocation error!"
    stop
  end if
  allocate( arVariates( NVariates ), stat=iErr )
  if(iErr /= 0) then
    write(*,*) "Variates allocation error!"
    stop
  end if
 
  ! initialize streams
  do i=1,NThreads
   
    ! create seed (if desired)
      iMySeed = 0
   
    ! create VSL stream
    iErr = vslNewStream( aaStreams(i), VSL_BRNG_MT2203+i-1, iMySeed )
    if(iErr /= 0) then
      write(*,*) "MKL Error: ",iErr
      stop
    end if
   
  end do
 
  ! initialize OpenMP
  call omp_set_num_threads( NThreads )
  write(*,*) " Number of OpenMP Threads: ",NThreads
 
 
  ! +-------------+
  ! | Computation |
  ! +-------------+
 
  ! set problem
  rLeft  = -2.5d0 
  rRight =  1.5d0 

  ! set minimum number of variates and remainder
  iRest           = mod(NVariates,  NThreads)
  NVariatesPThMin = int(NVariates / NThreads)
  write(*,*) " setup: ",iRest,NVariatesPThMin
 
  ! invoke MKL random number generator
  !$OMP PARALLEL PRIVATE(iErr,iThread,NVariatesPth,NVariatesPThAcc)
   
    iThread = omp_get_thread_num()
   
    ! determine number of variates to generate
    if(iThread &amp;lt; iRest) then
      NVariatesPth    = NVariatesPthMin + 1
      NVariatesPthAcc = iThread*NVariatesPthMin + iThread
    else
      NVariatesPth    = NVariatesPthMin
      NVariatesPthAcc = iThread*NVariatesPthMin !+ iRest
    end if
    !$OMP CRITICAL
    write(*,*) " thread: ",iThread,NVariatesPTh,NVariatesPThAcc
    !$OMP END CRITICAL
   
    if( NVariatesPth &amp;gt; 0 ) then
   
      ! generate random samples
      iErr = vdRngUniform( VSL_RNG_METHOD_UNIFORM_STD_ACCURATE, &amp;amp;
                         &amp;amp; aaStreams(iThread+1),                &amp;amp;
                         &amp;amp; NVariatesPTh,                        &amp;amp;
                         &amp;amp; arVariates(NVariatesPthAcc+1),       &amp;amp;
                         &amp;amp; rLeft, rRight                        );
      if(iErr /= 0) then
        write(*,*) "MKL Error: ",iErr
        stop
      end if
   
    end if
  !$OMP END PARALLEL
 
 
  ! +---------+
  ! | Results |
  ! +---------+
 
  rAvg = 0.0d0
  do i=1,NVariates
    rAvg = rAvg + arVariates(i)
  end do
  rAvg = rAvg / NVariates
  write(*,'(a,f8.5,a,f8.5,a)') " avg: ",rAvg," (expected: ",0.5d0 * (rLeft + rRight),")"
  rAvg = 0.5d0 * (rLeft + rRight)
  rVar = 0.0d0
  do i=1,NVariates
    rVar = rVar + (arVariates(i) - rAvg)*(arVariates(i) - rAvg)
  end do
  rVar = rVar / NVariates
  write(*,'(a,f8.5,a,f8.5,a)') " var: ",rVar," (expected: ",1.d0/12.d0 * (rRight - rLeft)**2,")"
 
 
  ! +--------------+
  ! | Finalization |
  ! +--------------+
 
  ! destroy streams
  do i=1,NThreads
   
    iErr = vslDeleteStream( aaStreams(i) )
    if(iErr /= 0) then
      write(*,*) "MKL Error: ",iErr
      stop
    end if
   
  end do
  call mkl_free_buffers()
 
  ! deallocate memory
  deallocate( aaStreams, stat=iErr )
  if(iErr /= 0) then
    write(*,*) "Streams deallocation error!"
    stop
  end if
  deallocate( arVariates, stat=iErr )
  if(iErr /= 0) then
    write(*,*) "Variates deallocation error!"
    stop
  end if
 

end program invoke_PRNG_MKL_uniform&lt;/PRE&gt;

&lt;P&gt;The code is complied as described above.&lt;/P&gt;</description>
    <pubDate>Wed, 12 Oct 2016 14:58:53 GMT</pubDate>
    <dc:creator>Tobias_D_</dc:creator>
    <dc:date>2016-10-12T14:58:53Z</dc:date>
    <item>
      <title>Problems using MKL as PRNG in a MC code (memory leak and data races)</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Problems-using-MKL-as-PRNG-in-a-MC-code-memory-leak-and-data/m-p/1109251#M24270</link>
      <description>&lt;P&gt;Hey there,&lt;/P&gt;

&lt;P&gt;I recently ran into trouble when using MKL as the pseudo random number generator in my Monte Carlo particle solver. Background: I switched from the intrinsic Fortran RNG to the MKL RNG. My Code uses both MPI and OpenMP and I want to generate pseudo random numbers on each MPI process independently.&lt;BR /&gt;
	&lt;BR /&gt;
	When I implemented the routines I mainly took the information from another discussion thread (&lt;A href="https://software.intel.com/en-us/forums/intel-math-kernel-library/topic/283349"&gt;https://software.intel.com/en-us/forums/intel-math-kernel-library/topic/283349&lt;/A&gt;) here in the forum. In order to generate the random numbers in a thread-safe fashion I chose the Mersenne Twister MT2203 Method, which gives me the possibility to run up to 6024 streams independently (which is absolutely sufficient, since each MPI processes uses up to 28 threads (cores) in our computing nodes).&lt;BR /&gt;
	&lt;BR /&gt;
	I tested my implementation with the Intel Inspector XE and it detected a memory leak in the vslnewstream() function and also data races in the vdRngUniform() function. Since the latter could be driven by the memory leak, I concentrated on the former one, ie the memory leak. In order to exclude coding bugs and ease the debugging procedure, I took the vdrnguniform.f code from the MKL examples. Even in this example the memory leak was detected! Now I am wondering what the problem is and how to fix it.&lt;BR /&gt;
	&lt;BR /&gt;
	&lt;EM&gt;My setup:&lt;/EM&gt;&lt;BR /&gt;
	&lt;STRONG&gt;CPU:&lt;/STRONG&gt;&lt;BR /&gt;
	Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz&lt;BR /&gt;
	&lt;BR /&gt;
	&lt;STRONG&gt;ifort --version&lt;/STRONG&gt;&lt;BR /&gt;
	ifort (IFORT) &lt;STRONG&gt;16.0.3 20160415&lt;/STRONG&gt;&lt;BR /&gt;
	Copyright (C) 1985-2016 Intel Corporation.&amp;nbsp; All rights reserved.&lt;BR /&gt;
	&lt;BR /&gt;
	&lt;STRONG&gt;inspector-cl --version&lt;/STRONG&gt;&lt;BR /&gt;
	Intel(R) Inspector XE&lt;STRONG&gt; 2016 Update 3 (build 460803)&lt;/STRONG&gt; Command Line tool&lt;BR /&gt;
	Copyright (C) 2009-2016 Intel Corporation. All rights reserved.&lt;BR /&gt;
	&lt;BR /&gt;
	&lt;EM&gt;Code (from the MKL examples):&lt;/EM&gt;&lt;/P&gt;

&lt;PRE class="brush:fortran;"&gt;!===============================================================================
! Copyright 2003-2016 Intel Corporation All Rights Reserved.
!
! The source code,  information  and material  ("Material") contained  herein is
! owned by Intel Corporation or its  suppliers or licensors,  and  title to such
! Material remains with Intel  Corporation or its  suppliers or  licensors.  The
! Material  contains  proprietary  information  of  Intel or  its suppliers  and
! licensors.  The Material is protected by  worldwide copyright  laws and treaty
! provisions.  No part  of  the  Material   may  be  used,  copied,  reproduced,
! modified, published,  uploaded, posted, transmitted,  distributed or disclosed
! in any way without Intel's prior express written permission.  No license under
! any patent,  copyright or other  intellectual property rights  in the Material
! is granted to  or  conferred  upon  you,  either   expressly,  by implication,
! inducement,  estoppel  or  otherwise.  Any  license   under such  intellectual
! property rights must be express and approved by Intel in writing.
!
! Unless otherwise agreed by Intel in writing,  you may not remove or alter this
! notice or  any  other  notice   embedded  in  Materials  by  Intel  or Intel's
! suppliers or licensors in any way.
!===============================================================================

!  Content:
!    vdRngUniform  Example Program Text
!*******************************************************************************

      include 'mkl_vsl.f90'
      include "errcheck.inc"

      program MKL_VSL_TEST

      USE MKL_VSL_TYPE
      USE MKL_VSL

      integer(kind=4) i,nn
      integer n
      integer(kind=4) errcode

      real(kind=8) a,b
      real(kind=8) r(1000)
      integer brng,method,seed

      real(kind=8) tM,tD,tQ,tD2
      real(kind=8) sM,sD
      real(kind=8) sum, sum2
      real(kind=8) s
      real(kind=8) DeltaM,DeltaD

      TYPE (VSL_STREAM_STATE) :: stream

      n=1000
      nn=10

      brng=VSL_BRNG_MCG31
      method=VSL_RNG_METHOD_UNIFORM_STD
      seed=1

      a=0.0
      b=1.0

!     ***** Initialize *****
      errcode=vslnewstream( stream, brng,  seed )
      call CheckVslError(errcode)

!     ***** Call RNG *****
      errcode=vdrnguniform( method, stream, n, r, a, b )
      call CheckVslError(errcode)

!     ***** Theoretical moments *****
      tM=(b+a)/2.0
      tD=((b-a)*(b-a))/12.0
      tQ=((b-a)*(b-a)*(b-a)*(b-a))/80.0

!     ***** Sample moments *****
      sum=0.0
      sum2=0.0
      do i=1,n
        sum=sum+r(i)
        sum2=sum2+r(i)*r(i)
      end do
      sM=sum/n
      sD=sum2/n-sM*sM

!     ***** Comparison of theoretical and sample moments *****
      tD2=tD*tD
      s=((tQ-tD2)/n)-(2*(tQ-2*tD2)/(n*n))+((tQ-3*tD2)/(n*n*n))
      DeltaM=(tM-sM)/sqrt(tD/n)
      DeltaD=(tD-sD)/sqrt(s)

!     ***** Printing results *****
      print *,"Sample of vdRngUniform."
      print *,"-----------------------"
      print *,""
      print *,"Parameters:"
      print 11,"    a=",a
      print 11,"    b=",b

      print *,""
      print *,"Results (first 10 of 1000):"
      print *,"---------------------------"
      do i=1,nn
        print 10,r(i)
      end do

      print *,""
      if (abs(DeltaM)&amp;gt;3.0 .OR. abs(DeltaD)&amp;gt;3.0) then
        print 12,"Error: sample moments (mean=",                        &amp;amp;
     &amp;amp;    sM,", variance=",sD,                                          &amp;amp;
     &amp;amp;    ") disagree with theory (mean=",                              &amp;amp;
     &amp;amp;    tM,", variance=",tD,")."
        stop 1
      else
        print 12,"Sample moments (mean=",sM,                            &amp;amp;
     &amp;amp;    ", variance=",sD,") agree with theory (mean=",                &amp;amp;
     &amp;amp;    tM,", variance=",tD,")."
      end if

!     ***** Deinitialize *****
      errcode=vsldeletestream( stream )
      call CheckVslError(errcode)

10    format(F7.3)
11    format(A,F5.3)
12    format(A,F5.2,A,F5.2,A,F5.2,A,F5.2,A)

      end&lt;/PRE&gt;

&lt;P&gt;&lt;EM&gt;I compiled the code with:&lt;/EM&gt;&lt;BR /&gt;
	ifort -g -O0 -mkl vdrnguniform.f -o test&lt;/P&gt;

&lt;P&gt;&lt;EM&gt;Intel Inspector XE throws following errors:&lt;/EM&gt;&lt;BR /&gt;
	ID&amp;nbsp; Type Sources Modules Object Size State&lt;BR /&gt;
	&lt;STRONG&gt;P1&amp;nbsp; Memory leak vsrnguniform.f test 70816 New&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory leak vsrnguniform.f:61 test 70816 New&lt;/STRONG&gt;&lt;BR /&gt;
	P2&amp;nbsp; Invalid memory access [Unknown] libc.so.6&amp;nbsp; New&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Invalid memory access libc.so.6:0x11a090 libc.so.6&amp;nbsp; New&lt;BR /&gt;
	P3&amp;nbsp; Invalid memory access [Unknown] libc.so.6&amp;nbsp; New&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Invalid memory access libc.so.6:0x11a127 libc.so.6&amp;nbsp; New&lt;BR /&gt;
	&lt;STRONG&gt;P4&amp;nbsp; Invalid memory access vsrnguniform.f test&amp;nbsp; New&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Invalid memory access vsrnguniform.f:61 test&amp;nbsp; New&lt;/STRONG&gt;&lt;BR /&gt;
	P5&amp;nbsp; Uninitialized memory access kmp_itt.inl libiomp5.so&amp;nbsp; New&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Uninitialized memory access kmp_itt.inl:1078 libiomp5.so&amp;nbsp; New&lt;BR /&gt;
	P6&amp;nbsp; Uninitialized memory access start.S test&amp;nbsp; New&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Uninitialized memory access start.S:122 test&amp;nbsp; New&lt;/P&gt;

&lt;P&gt;&lt;EM&gt;P1 points to following allocation site:&lt;/EM&gt;&lt;BR /&gt;
	Description Source Function Module Object Size Offset&lt;BR /&gt;
	Allocation site vsrnguniform.f:61 mkl_vsl_test test 184&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 59&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 60&amp;nbsp;&amp;nbsp; !&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ***** Initialize *****&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;gt;61&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; errcode=vslnewstream( stream, brng,&amp;nbsp; seed )&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 62&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call CheckVslError(errcode)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 63&lt;/P&gt;

&lt;P&gt;The statistics in my code implementation and in the MKL example is correct, but I cannot live with memory leaks and data races ...&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 11 Oct 2016 13:11:29 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Problems-using-MKL-as-PRNG-in-a-MC-code-memory-leak-and-data/m-p/1109251#M24270</guid>
      <dc:creator>Tobias_D_</dc:creator>
      <dc:date>2016-10-11T13:11:29Z</dc:date>
    </item>
    <item>
      <title>Tobias, could you set mkl</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Problems-using-MKL-as-PRNG-in-a-MC-code-memory-leak-and-data/m-p/1109252#M24271</link>
      <description>&lt;P&gt;Tobias, could you set&amp;nbsp;&lt;SAMP class="codeph" id="GUID-D60B96AE-E2FE-4605-BEE8-A191650646FF" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; color: rgb(51, 51, 51); font-size: 13.3333px;"&gt;mkl_free_buffers()&lt;/SAMP&gt;&lt;SPAN style="color: rgb(51, 51, 51); font-family: &amp;quot;Intel Clear&amp;quot;, Verdana, Arial, sans-serif; font-size: 13.3333px;"&gt;&amp;nbsp;function at the end of the program and check if memory leakages are still exist.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 12 Oct 2016 06:09:28 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Problems-using-MKL-as-PRNG-in-a-MC-code-memory-leak-and-data/m-p/1109252#M24271</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2016-10-12T06:09:28Z</dc:date>
    </item>
    <item>
      <title>Hi, same invalid memory</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Problems-using-MKL-as-PRNG-in-a-MC-code-memory-leak-and-data/m-p/1109253#M24272</link>
      <description>&lt;P&gt;Hi, some invalid memory accesses and the memory leak in the vslnewstream() function have disappeared:&lt;/P&gt;

&lt;P&gt;ID&amp;nbsp; Type Sources Modules Object Size State&lt;BR /&gt;
	P1&amp;nbsp; Invalid memory access [Unknown] libc.so.6&amp;nbsp; New&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Invalid memory access libc.so.6:0x11a090 libc.so.6&amp;nbsp; New&lt;BR /&gt;
	P2&amp;nbsp; Invalid memory access [Unknown] libc.so.6&amp;nbsp; New&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Invalid memory access libc.so.6:0x11a127 libc.so.6&amp;nbsp; New&lt;BR /&gt;
	P3&amp;nbsp; Invalid memory access vdrnguniform.f test&amp;nbsp; New&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Invalid memory access vdrnguniform.f:61 test&amp;nbsp; New&lt;/P&gt;

&lt;P&gt;&lt;EM&gt;There is still the invalid memory access problem in the vslnewstream function (P3) &lt;/EM&gt;&lt;/P&gt;

&lt;P&gt;Description Source Function Module Object Size Offset&lt;BR /&gt;
	Read vdrnguniform.f:61 mkl_vsl_test test &amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 59&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 60&amp;nbsp;&amp;nbsp; !&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ***** Initialize *****&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;gt;61&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; errcode=vslnewstream( stream, brng,&amp;nbsp; seed )&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 62&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call CheckVslError(errcode)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 63&lt;/P&gt;

&lt;P&gt;&lt;EM&gt;Here are the collector messages:&lt;/EM&gt;&lt;/P&gt;

&lt;P&gt;Analysis started...&lt;BR /&gt;
	Result file: $USER/Misc/Test/insp_xe/mkl_rng/new/new.inspxe&lt;BR /&gt;
	Analysis started for $USER/Misc/Test/insp_xe/mkl_rng/test (pid = 5469)&lt;BR /&gt;
	Loaded module: $USER/Misc/Test/insp_xe/mkl_rng/test, address range [0x400000-0x70b397]&lt;BR /&gt;
	Loaded module: /lib64/ld-linux-x86-64.so.2, address range [0x7f6c515ae000-0x7f6c517d0147], minimal analysis&lt;BR /&gt;
	Loaded module: /media/LDS/module/software/compiler/intel/16.0.3/compilers_and_libraries_2016.3.210/linux/mkl/lib/intel64/libmkl_intel_lp64.so, address range [0x7f6c3c0b4000-0x7f6c3cbc3dcf]&lt;BR /&gt;
	Loaded module: /media/LDS/module/software/compiler/intel/16.0.3/compilers_and_libraries_2016.3.210/linux/mkl/lib/intel64/libmkl_intel_thread.so, address range [0x7f6c3a6ec000-0x7f6c3c0176af]&lt;BR /&gt;
	Loaded module: /media/LDS/module/software/compiler/intel/16.0.3/compilers_and_libraries_2016.3.210/linux/mkl/lib/intel64/libmkl_core.so, address range [0x7f6c38cc1000-0x7f6c3a6d10c7]&lt;BR /&gt;
	Loaded module: /media/LDS/module/software/compiler/intel/16.0.3/compilers_and_libraries_2016.3.210/linux/compiler/lib/intel64/libiomp5.so, address range [0x7f6c38924000-0x7f6c38c6735f], minimal analysis&lt;BR /&gt;
	Loaded module: /lib64/libm.so.6, address range [0x7f6c38597000-0x7f6c38897157]&lt;BR /&gt;
	Loaded module: /lib64/libpthread.so.0, address range [0x7f6c38340000-0x7f6c3855c48f]&lt;BR /&gt;
	Loaded module: /lib64/libc.so.6, address range [0x7f6c37f88000-0x7f6c3832fa1f]&lt;BR /&gt;
	Loaded module: /lib64/libgcc_s.so.1, address range [0x7f6c37d47000-0x7f6c37f5d42f]&lt;BR /&gt;
	Loaded module: /lib64/libdl.so.2, address range [0x7f6c37b29000-0x7f6c37d2c10f], minimal analysis&lt;BR /&gt;
	Loaded module: $USER/Misc/Tools/local/tools/inspector_xe_2016.1.3.460803/lib64/runtime/libittnotify.so, address range [0x7f6c34f63000-0x7f6c3516df7f], minimal analysis&lt;BR /&gt;
	Loaded module: /media/LDS/module/software/compiler/intel/16.0.3/compilers_and_libraries_2016.3.210/linux/mkl/lib/intel64/libmkl_avx2.so, address range [0x7f6c31b68000-0x7f6c33ddc69f]&lt;BR /&gt;
	Loaded module: /media/LDS/module/software/compiler/intel/16.0.3/compilers_and_libraries_2016.3.210/linux/mkl/lib/intel64/libmkl_vml_avx2.so, address range [0x7f6c30d26000-0x7f6c319bf107]&lt;BR /&gt;
	Process $USER/Misc/Test/insp_xe/mkl_rng/test exited with code 0. Leak analysis starting. Please wait...&lt;BR /&gt;
	Unloaded module: $USER/Misc/Test/insp_xe/mkl_rng/test&lt;BR /&gt;
	Unloaded module: /lib64/ld-linux-x86-64.so.2&lt;BR /&gt;
	Unloaded module: /media/LDS/module/software/compiler/intel/16.0.3/compilers_and_libraries_2016.3.210/linux/mkl/lib/intel64/libmkl_intel_lp64.so&lt;BR /&gt;
	Unloaded module: /media/LDS/module/software/compiler/intel/16.0.3/compilers_and_libraries_2016.3.210/linux/mkl/lib/intel64/libmkl_intel_thread.so&lt;BR /&gt;
	Unloaded module: /media/LDS/module/software/compiler/intel/16.0.3/compilers_and_libraries_2016.3.210/linux/mkl/lib/intel64/libmkl_core.so&lt;BR /&gt;
	Unloaded module: /media/LDS/module/software/compiler/intel/16.0.3/compilers_and_libraries_2016.3.210/linux/compiler/lib/intel64/libiomp5.so&lt;BR /&gt;
	Unloaded module: /lib64/libm.so.6&lt;BR /&gt;
	Unloaded module: /lib64/libpthread.so.0&lt;BR /&gt;
	Unloaded module: /lib64/libc.so.6&lt;BR /&gt;
	Unloaded module: /lib64/libgcc_s.so.1&lt;BR /&gt;
	Unloaded module: /lib64/libdl.so.2&lt;BR /&gt;
	Unloaded module: $USER/Misc/Tools/local/tools/inspector_xe_2016.1.3.460803/lib64/runtime/libittnotify.so&lt;BR /&gt;
	Unloaded module: /media/LDS/module/software/compiler/intel/16.0.3/compilers_and_libraries_2016.3.210/linux/mkl/lib/intel64/libmkl_avx2.so&lt;BR /&gt;
	Unloaded module: /media/LDS/module/software/compiler/intel/16.0.3/compilers_and_libraries_2016.3.210/linux/mkl/lib/intel64/libmkl_vml_avx2.so&lt;BR /&gt;
	Completed analysis for $USER/Misc/Test/insp_xe/mkl_rng/test&lt;BR /&gt;
	Application exit code: 0&lt;BR /&gt;
	Result file: $USER/Misc/Test/insp_xe/mkl_rng/new/new.inspxe&lt;BR /&gt;
	Analysis completed&lt;BR /&gt;
	&amp;nbsp;&lt;BR /&gt;
	3 new problem(s) found&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; 3 Invalid memory access problem(s) detected&lt;/P&gt;</description>
      <pubDate>Wed, 12 Oct 2016 07:38:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Problems-using-MKL-as-PRNG-in-a-MC-code-memory-leak-and-data/m-p/1109253#M24272</guid>
      <dc:creator>Tobias_D_</dc:creator>
      <dc:date>2016-10-12T07:38:00Z</dc:date>
    </item>
    <item>
      <title>FYI: This is my</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Problems-using-MKL-as-PRNG-in-a-MC-code-memory-leak-and-data/m-p/1109254#M24273</link>
      <description>&lt;P&gt;FYI: This is my implementation of the problem and Intel Inspector XE throws several errors:&lt;/P&gt;

&lt;P&gt;$ inspxe-cl -collect mi3 -result-dir new1 ./test&lt;BR /&gt;
	4 new problem(s) found&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; 3 Invalid memory access problem(s) detected&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 Memory not deallocated problem(s) detected&lt;/P&gt;

&lt;P&gt;$ inspxe-cl -collect ti3 -result-dir new2 ./test&lt;BR /&gt;
	1 new problem(s) found&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 Data race problem(s) detected&lt;/P&gt;

&lt;P&gt;This is the code:&lt;BR /&gt;
	&amp;nbsp;&lt;/P&gt;

&lt;PRE class="brush:bash;"&gt;include "mkl_vsl.f90"

program invoke_PRNG_MKL_uniform
 
  use omp_lib
  use mkl_vsl
  use mkl_vsl_type
 
  implicit none
 
  ! transfer variables
  integer                ::  NVariates, NThreads
  real(kind=8)           ::  rLeft, rRight
  real(kind=8)           ::  rAvg, rVar
  real(kind=8), dimension(:), allocatable            ::  arVariates
  type(VSL_STREAM_STATE), dimension(:), allocatable  ::  aaStreams
 
  ! local variables
  integer       ::  iErr, i, iMySeed
  integer       ::  iThread, iRest, NVariatesPThMin, NVariatesPTh, NVariatesPThAcc
 
 
  ! +----------------+
  ! | Initialization |
  ! +----------------+
 
  ! allocate memory
  NThreads  = 4
  NVariates = 400000
  allocate( aaStreams( NThreads ), stat=iErr )
  if(iErr /= 0) then
    write(*,*) "Streams allocation error!"
    stop
  end if
  allocate( arVariates( NVariates ), stat=iErr )
  if(iErr /= 0) then
    write(*,*) "Variates allocation error!"
    stop
  end if
 
  ! initialize streams
  do i=1,NThreads
   
    ! create seed (if desired)
      iMySeed = 0
   
    ! create VSL stream
    iErr = vslNewStream( aaStreams(i), VSL_BRNG_MT2203+i-1, iMySeed )
    if(iErr /= 0) then
      write(*,*) "MKL Error: ",iErr
      stop
    end if
   
  end do
 
  ! initialize OpenMP
  call omp_set_num_threads( NThreads )
  write(*,*) " Number of OpenMP Threads: ",NThreads
 
 
  ! +-------------+
  ! | Computation |
  ! +-------------+
 
  ! set problem
  rLeft  = -2.5d0 
  rRight =  1.5d0 

  ! set minimum number of variates and remainder
  iRest           = mod(NVariates,  NThreads)
  NVariatesPThMin = int(NVariates / NThreads)
  write(*,*) " setup: ",iRest,NVariatesPThMin
 
  ! invoke MKL random number generator
  !$OMP PARALLEL PRIVATE(iErr,iThread,NVariatesPth,NVariatesPThAcc)
   
    iThread = omp_get_thread_num()
   
    ! determine number of variates to generate
    if(iThread &amp;lt; iRest) then
      NVariatesPth    = NVariatesPthMin + 1
      NVariatesPthAcc = iThread*NVariatesPthMin + iThread
    else
      NVariatesPth    = NVariatesPthMin
      NVariatesPthAcc = iThread*NVariatesPthMin !+ iRest
    end if
    !$OMP CRITICAL
    write(*,*) " thread: ",iThread,NVariatesPTh,NVariatesPThAcc
    !$OMP END CRITICAL
   
    if( NVariatesPth &amp;gt; 0 ) then
   
      ! generate random samples
      iErr = vdRngUniform( VSL_RNG_METHOD_UNIFORM_STD_ACCURATE, &amp;amp;
                         &amp;amp; aaStreams(iThread+1),                &amp;amp;
                         &amp;amp; NVariatesPTh,                        &amp;amp;
                         &amp;amp; arVariates(NVariatesPthAcc+1),       &amp;amp;
                         &amp;amp; rLeft, rRight                        );
      if(iErr /= 0) then
        write(*,*) "MKL Error: ",iErr
        stop
      end if
   
    end if
  !$OMP END PARALLEL
 
 
  ! +---------+
  ! | Results |
  ! +---------+
 
  rAvg = 0.0d0
  do i=1,NVariates
    rAvg = rAvg + arVariates(i)
  end do
  rAvg = rAvg / NVariates
  write(*,'(a,f8.5,a,f8.5,a)') " avg: ",rAvg," (expected: ",0.5d0 * (rLeft + rRight),")"
  rAvg = 0.5d0 * (rLeft + rRight)
  rVar = 0.0d0
  do i=1,NVariates
    rVar = rVar + (arVariates(i) - rAvg)*(arVariates(i) - rAvg)
  end do
  rVar = rVar / NVariates
  write(*,'(a,f8.5,a,f8.5,a)') " var: ",rVar," (expected: ",1.d0/12.d0 * (rRight - rLeft)**2,")"
 
 
  ! +--------------+
  ! | Finalization |
  ! +--------------+
 
  ! destroy streams
  do i=1,NThreads
   
    iErr = vslDeleteStream( aaStreams(i) )
    if(iErr /= 0) then
      write(*,*) "MKL Error: ",iErr
      stop
    end if
   
  end do
  call mkl_free_buffers()
 
  ! deallocate memory
  deallocate( aaStreams, stat=iErr )
  if(iErr /= 0) then
    write(*,*) "Streams deallocation error!"
    stop
  end if
  deallocate( arVariates, stat=iErr )
  if(iErr /= 0) then
    write(*,*) "Variates deallocation error!"
    stop
  end if
 

end program invoke_PRNG_MKL_uniform&lt;/PRE&gt;

&lt;P&gt;The code is complied as described above.&lt;/P&gt;</description>
      <pubDate>Wed, 12 Oct 2016 14:58:53 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Problems-using-MKL-as-PRNG-in-a-MC-code-memory-leak-and-data/m-p/1109254#M24273</guid>
      <dc:creator>Tobias_D_</dc:creator>
      <dc:date>2016-10-12T14:58:53Z</dc:date>
    </item>
    <item>
      <title>wrt data race - I see no</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Problems-using-MKL-as-PRNG-in-a-MC-code-memory-leak-and-data/m-p/1109255#M24274</link>
      <description>&lt;P&gt;wrt data race - I see no problem with MKL 2017 ( latest ) and Inspector 2017 ( latest as well) with the latest example of the code you gave.&lt;/P&gt;

&lt;P style="font-size: 13.008px;"&gt;inspxe-cl -collect ti3 -result-dir ti3 ./a.out&lt;BR /&gt;
	&amp;nbsp; Number of OpenMP Threads: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;4&lt;BR /&gt;
	&amp;nbsp; setup: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0 &amp;nbsp; &amp;nbsp; &amp;nbsp;100000&lt;BR /&gt;
	&amp;nbsp; thread: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0 &amp;nbsp; &amp;nbsp; &amp;nbsp;100000 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&lt;BR /&gt;
	&amp;nbsp;avg: -0.12553 (expected: -0.50000)&lt;BR /&gt;
	&amp;nbsp;var: &amp;nbsp;0.52144 (expected: &amp;nbsp;1.33333)&lt;BR /&gt;
	&lt;SPAN style="font-size: 13.008px;"&gt;0 new problem(s) found&lt;/SPAN&gt;&lt;/P&gt;

&lt;P style="font-size: 13.008px;"&gt;&lt;SPAN style="font-size: 13.008px;"&gt;but there are some memory issues we see with the same environment:&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;inspxe-cl -collect mi3 -result-dir mi3 ./a.out&lt;BR /&gt;
	&amp;nbsp; Number of OpenMP Threads: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;4&lt;BR /&gt;
	&amp;nbsp; setup: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0 &amp;nbsp; &amp;nbsp; &amp;nbsp;100000&lt;BR /&gt;
	&amp;nbsp; thread: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0 &amp;nbsp; &amp;nbsp; &amp;nbsp;100000 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&lt;BR /&gt;
	&amp;nbsp;avg: -0.12553 (expected: -0.50000)&lt;BR /&gt;
	&amp;nbsp;var: &amp;nbsp;0.52144 (expected: &amp;nbsp;1.33333)&lt;/P&gt;

&lt;P&gt;6 new problem(s) found&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; 5 Invalid memory access problem(s) detected&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; 1 Memory not deallocated problem(s) detected&lt;BR /&gt;
	&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 13 Oct 2016 04:49:07 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Problems-using-MKL-as-PRNG-in-a-MC-code-memory-leak-and-data/m-p/1109255#M24274</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2016-10-13T04:49:07Z</dc:date>
    </item>
    <item>
      <title>forget to add - the problem</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Problems-using-MKL-as-PRNG-in-a-MC-code-memory-leak-and-data/m-p/1109256#M24275</link>
      <description>&lt;P&gt;forget to add - the problem is escalated and we will &amp;nbsp;keep you updated with the status.&lt;/P&gt;</description>
      <pubDate>Thu, 13 Oct 2016 04:50:13 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Problems-using-MKL-as-PRNG-in-a-MC-code-memory-leak-and-data/m-p/1109256#M24275</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2016-10-13T04:50:13Z</dc:date>
    </item>
    <item>
      <title>could it be you forgot the</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Problems-using-MKL-as-PRNG-in-a-MC-code-memory-leak-and-data/m-p/1109257#M24276</link>
      <description>&lt;P&gt;Could it be that you forgot to add the -qopenmp flag? This could be the reason for the wrong results.&lt;BR /&gt;
	&lt;BR /&gt;
	I compiled it with: ifort -g -O0 -mkl -qopenmp test_mkl.f90 -o test&lt;/P&gt;

&lt;P&gt;I tried the 2017 tools (Composer, MKL, Inspector) and you are right, the data races seem to be gone:&lt;/P&gt;

&lt;P&gt;$ inspxe-cl -collect ti3 -result-dir new1 ./test&lt;BR /&gt;
	&amp;nbsp; Number of OpenMP Threads:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&lt;BR /&gt;
	&amp;nbsp; setup:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 100000&lt;BR /&gt;
	Warning: One or more threads in the application accessed the stack of another thread. This may indicate one or more bugs in your application. Setting the Inspector to detect data races on stack accesses and running another analysis may help you locate these and other bugs.&lt;BR /&gt;
	&amp;nbsp; thread:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 100000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 100000&lt;BR /&gt;
	&amp;nbsp; thread:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 100000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 200000&lt;BR /&gt;
	&amp;nbsp; thread:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 100000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;BR /&gt;
	&amp;nbsp; thread:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 100000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 300000&lt;BR /&gt;
	&amp;nbsp;avg: -0.50326 (expected: -0.50000)&lt;BR /&gt;
	&amp;nbsp;var:&amp;nbsp; 1.33160 (expected:&amp;nbsp; 1.33333)&lt;BR /&gt;
	&amp;nbsp;&lt;BR /&gt;
	0 new problem(s) found&lt;/P&gt;

&lt;P&gt;$ inspxe-cl -collect mi3 -result-dir new2 ./test&lt;BR /&gt;
	&amp;nbsp; Number of OpenMP Threads:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&lt;BR /&gt;
	&amp;nbsp; setup:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 100000&lt;BR /&gt;
	&amp;nbsp; thread:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 100000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;BR /&gt;
	&amp;nbsp; thread:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 100000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 100000&lt;BR /&gt;
	&amp;nbsp; thread:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 100000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 300000&lt;BR /&gt;
	&amp;nbsp; thread:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 100000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 200000&lt;BR /&gt;
	&amp;nbsp;avg: -0.50326 (expected: -0.50000)&lt;BR /&gt;
	&amp;nbsp;var:&amp;nbsp; 1.33160 (expected:&amp;nbsp; 1.33333)&lt;BR /&gt;
	&amp;nbsp;&lt;BR /&gt;
	6 new problem(s) found&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; 5 Invalid memory access problem(s) detected&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 Memory not deallocated problem(s) detected&lt;/P&gt;

&lt;P&gt;Why is there still a warning?&lt;/P&gt;</description>
      <pubDate>Thu, 13 Oct 2016 06:46:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Problems-using-MKL-as-PRNG-in-a-MC-code-memory-leak-and-data/m-p/1109257#M24276</guid>
      <dc:creator>Tobias_D_</dc:creator>
      <dc:date>2016-10-13T06:46:00Z</dc:date>
    </item>
    <item>
      <title>Any news on this matter?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Problems-using-MKL-as-PRNG-in-a-MC-code-memory-leak-and-data/m-p/1109258#M24277</link>
      <description>&lt;P&gt;Any news on this matter?&lt;/P&gt;</description>
      <pubDate>Mon, 24 Oct 2016 07:06:16 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Problems-using-MKL-as-PRNG-in-a-MC-code-memory-leak-and-data/m-p/1109258#M24277</guid>
      <dc:creator>Tobias_D_</dc:creator>
      <dc:date>2016-10-24T07:06:16Z</dc:date>
    </item>
    <item>
      <title>yes, with qopenmp option, we</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Problems-using-MKL-as-PRNG-in-a-MC-code-memory-leak-and-data/m-p/1109259#M24278</link>
      <description>&lt;P&gt;yes, with qopenmp option, we see the same warning. At the first glance the code is correct and the warning may be caused by false positives message from Inspector.&lt;/P&gt;</description>
      <pubDate>Wed, 26 Oct 2016 04:56:53 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Problems-using-MKL-as-PRNG-in-a-MC-code-memory-leak-and-data/m-p/1109259#M24278</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2016-10-26T04:56:53Z</dc:date>
    </item>
  </channel>
</rss>

