<?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 Purify errors in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Purify-errors/m-p/824203#M5010</link>
    <description>&lt;P&gt;Hi,&lt;BR /&gt;&lt;BR /&gt;You know,profiling tools can produce false positive errors beacuse of misunderstanding of generated code.&lt;BR /&gt;I know such problems with valgrind when application was compiled with Intel compiler. So, could you please share with us your tescase to analyze these messages.&lt;/P&gt;</description>
    <pubDate>Mon, 26 Sep 2011 05:36:30 GMT</pubDate>
    <dc:creator>barragan_villanueva_</dc:creator>
    <dc:date>2011-09-26T05:36:30Z</dc:date>
    <item>
      <title>Purify errors</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Purify-errors/m-p/824202#M5009</link>
      <description>Hello,&lt;BR /&gt;&lt;BR /&gt;I'm using MKL on a Windows 32-bit machine. I ran Rational(IBM) Purify on my application and ran into some unexcpected errors as shown below: "Invalid pointer write" and "Uninitialized memory read".&lt;BR /&gt;&lt;BR /&gt;Are these bugs in MKL or is this expected behavior? If expected, could somebody elaborate on them for my benefit?&lt;BR /&gt;&lt;BR /&gt;Thanks.&lt;BR /&gt;&lt;BR /&gt;-Arthur&lt;BR /&gt;&lt;BR /&gt;NOTE: I should add that if I replace the MKL functions by straightforward compilation of the same functions from Netlib then all these errors go away. I guess this is an indication that there is no problem with the application. Of course, everything ran several times slower...&lt;BR /&gt;&lt;BR /&gt;&lt;I&gt; Starting Purify'd C:\\users\\vki\\devtools4.0.2\\src\\vfx\\exam\\exam4.exe at 9/23/2011 13:15:24&lt;BR /&gt; Version 7.0.1.0-001 build 11785 &lt;BR /&gt; Windows 5.1 2600 Service Pack 3 Multiprocessor Free&lt;BR /&gt; Instrumented executable: C:\\users\\vki\\devtools4.0.2\\src\\vfx\\exam\\exam4.exe.pure&lt;BR /&gt; Working directory: C:\\users\\vki\\devtools4.0.2\\src\\vfx\\exam&lt;BR /&gt; Command line arguments: -job modal&lt;BR /&gt; Process ID: 0xe40&lt;BR /&gt; Thread ID: 0xb08&lt;BR /&gt;&lt;I&gt; Starting main&lt;BR /&gt;&lt;E&gt; IPW: Invalid pointer write in mkl_blas_p4_dgemm_pst {18 occurrences}&lt;BR /&gt; Writing 4 bytes to 0x194e9e30 (4 bytes at 0x194e9e30 illegal)&lt;BR /&gt; Address 0x194e9e30 points into an unallocated region of virtual memory &lt;BR /&gt; Thread ID: 0xb08&lt;BR /&gt; Error location&lt;BR /&gt; mkl_blas_p4_dgemm_pst [_p4_dgemm_inner_general_small_t.obj]&lt;BR /&gt; mkl_blas_p4_xdgemm [_def_xdswap.obj]&lt;BR /&gt; mkl_blas_xdgemm [_xddot_fb.obj]&lt;BR /&gt; mkl_blas_dgemm [_ddot.obj]&lt;BR /&gt; DGEMM [_ddot.obj]&lt;BR /&gt; ...&lt;BR /&gt;&lt;E&gt; IPW: Invalid pointer write in mkl_blas_p4_dgemm_pst {1902 occurrences}&lt;BR /&gt; Writing 4 bytes to 0x194e81b0 (4 bytes at 0x194e81b0 illegal)&lt;BR /&gt; Address 0x194e81b0 points into an unallocated region of virtual memory &lt;BR /&gt; Thread ID: 0xb08&lt;BR /&gt; Error location&lt;BR /&gt; mkl_blas_p4_dgemm_pst [_p4_dgemm_inner_general_small_t.obj]&lt;BR /&gt; mkl_blas_p4_xdgemm [_def_xdswap.obj]&lt;BR /&gt; mkl_blas_xdgemm [_xddot_fb.obj]&lt;BR /&gt; mkl_blas_dgemm [_ddot.obj]&lt;BR /&gt; DGEMM [_ddot.obj]&lt;BR /&gt; ...&lt;BR /&gt;&lt;W&gt; UMR: Uninitialized memory read in mkl_blas_p4_dgemm_inner_epil_large_1 {16 occurrences}&lt;BR /&gt; Reading 8 bytes from 0x0c256a40 (8 bytes at 0x0c256a40 uninitialized)&lt;BR /&gt; Address 0x0c256a40 is 228424 bytes into a 252416 byte block at 0x0c21edf8&lt;BR /&gt; Address 0x0c256a40 points to a malloc'd block in heap 0x0beb0000&lt;BR /&gt; Thread ID: 0xb08&lt;BR /&gt; Error location&lt;BR /&gt; mkl_blas_p4_dgemm_inner_epil_large_1 [_p4_dgemm_inner_general_large.obj]&lt;BR /&gt; mkl_blas_p4_xdgemm [_def_xdswap.obj]&lt;BR /&gt; mkl_blas_xdgemm [_xddot_fb.obj]&lt;BR /&gt; mkl_blas_dgemm [_ddot.obj]&lt;BR /&gt; DGEMM [_ddot.obj]&lt;BR /&gt; ...&lt;BR /&gt; Allocation location&lt;BR /&gt; malloc &lt;C&gt;&lt;BR /&gt; mkl_serv_allocate &lt;C&gt;&lt;BR /&gt; mkl_blas_p4_xdgemm [_def_xdswap.obj]&lt;BR /&gt; mkl_blas_xdgemm [_xddot_fb.obj]&lt;BR /&gt; mkl_blas_dgemm [_ddot.obj]&lt;BR /&gt; DGEMM [_ddot.obj]&lt;BR /&gt; ...&lt;BR /&gt;&lt;E&gt; IPW: Invalid pointer write in mkl_blas_p4_dgemm_pst {336 occurrences}&lt;BR /&gt; Writing 4 bytes to 0x19504170 (4 bytes at 0x19504170 illegal)&lt;BR /&gt; Address 0x19504170 points into an unallocated region of virtual memory &lt;BR /&gt; Thread ID: 0xb08&lt;BR /&gt; Error location&lt;BR /&gt; mkl_blas_p4_dgemm_pst [_p4_dgemm_inner_general_small_t.obj]&lt;BR /&gt; mkl_blas_p4_xdgemm [_def_xdswap.obj]&lt;BR /&gt; mkl_blas_xdgemm [_xddot_fb.obj]&lt;BR /&gt; mkl_blas_dgemm [_ddot.obj]&lt;BR /&gt; DGEMM [_ddot.obj]&lt;BR /&gt; ...&lt;BR /&gt;&lt;W&gt; UMR: Uninitialized memory read in mkl_blas_p4_dgemm_inner_epil_large_1 {2 occurrences}&lt;BR /&gt; Reading 8 bytes from 0x0c256a40 (8 bytes at 0x0c256a40 uninitialized)&lt;BR /&gt; Address 0x0c256a40 is 228424 bytes into a 252416 byte block at 0x0c21edf8&lt;BR /&gt; Address 0x0c256a40 points to a malloc'd block in heap 0x0beb0000&lt;BR /&gt; Thread ID: 0xb08&lt;BR /&gt; Error location&lt;BR /&gt; mkl_blas_p4_dgemm_inner_epil_large_1 [_p4_dgemm_inner_general_large.obj]&lt;BR /&gt; mkl_blas_p4_xdgemm [_def_xdswap.obj]&lt;BR /&gt; mkl_blas_xdgemm [_xddot_fb.obj]&lt;BR /&gt; mkl_blas_dgemm [_ddot.obj]&lt;BR /&gt; DGEMM [_ddot.obj]&lt;BR /&gt; ...&lt;BR /&gt; Allocation location&lt;BR /&gt; malloc &lt;C&gt;&lt;BR /&gt; mkl_serv_allocate &lt;C&gt;&lt;BR /&gt; mkl_blas_p4_xdgemm [_def_xdswap.obj]&lt;BR /&gt; mkl_blas_xdgemm [_xddot_fb.obj]&lt;BR /&gt; mkl_blas_dgemm [_ddot.obj]&lt;BR /&gt; DGEMM [_ddot.obj]&lt;BR /&gt; ...&lt;BR /&gt;&lt;W&gt; UMR: Uninitialized memory read in mkl_blas_p4_dgemm_inner_epil_large_1_k4 {2 occurrences}&lt;BR /&gt; Reading 8 bytes from 0x0c6ab380 (8 bytes at 0x0c6ab380 uninitialized)&lt;BR /&gt; Address 0x0c6ab380 is 242440 bytes into a 272384 byte block at 0x0c670078&lt;BR /&gt; Address 0x0c6ab380 points to a malloc'd block in heap 0x0beb0000&lt;BR /&gt; Thread ID: 0xb08&lt;BR /&gt; Error location&lt;BR /&gt; mkl_blas_p4_dgemm_inner_epil_large_1_k4 [_p4_dgemm_inner_general_large.obj]&lt;BR /&gt; mkl_blas_p4_xdgemm [_def_xdswap.obj]&lt;BR /&gt; mkl_blas_xdgemm [_xddot_fb.obj]&lt;BR /&gt; mkl_blas_dgemm [_ddot.obj]&lt;BR /&gt; DGEMM [_ddot.obj]&lt;BR /&gt; ...&lt;BR /&gt; Allocation location&lt;BR /&gt; malloc &lt;C&gt;&lt;BR /&gt; mkl_serv_allocate &lt;C&gt;&lt;BR /&gt; mkl_blas_p4_xdgemm [_def_xdswap.obj]&lt;BR /&gt; mkl_blas_xdgemm [_xddot_fb.obj]&lt;BR /&gt; mkl_blas_dgemm [_ddot.obj]&lt;BR /&gt; DGEMM [_ddot.obj]&lt;BR /&gt; ...&lt;BR /&gt;&lt;W&gt; UMR: Uninitialized memory read in mkl_blas_p4_dgemm_inner_epil_large_1_k4 {2 occurrences}&lt;BR /&gt; Reading 8 bytes from 0x0c6ab3c0 (8 bytes at 0x0c6ab3c0 uninitialized)&lt;BR /&gt; Address 0x0c6ab3c0 is 242504 bytes into a 272384 byte block at 0x0c670078&lt;BR /&gt; Address 0x0c6ab3c0 points to a malloc'd block in heap 0x0beb0000&lt;BR /&gt; Thread ID: 0xb08&lt;BR /&gt; Error location&lt;BR /&gt; mkl_blas_p4_dgemm_inner_epil_large_1_k4 [_p4_dgemm_inner_general_large.obj]&lt;BR /&gt; mkl_blas_p4_xdgemm [_def_xdswap.obj]&lt;BR /&gt; mkl_blas_xdgemm [_xddot_fb.obj]&lt;BR /&gt; mkl_blas_dgemm [_ddot.obj]&lt;BR /&gt; DGEMM [_ddot.obj]&lt;BR /&gt; ...&lt;BR /&gt; Allocation location&lt;BR /&gt; malloc &lt;C&gt;&lt;BR /&gt; mkl_serv_allocate &lt;C&gt;&lt;BR /&gt; mkl_blas_p4_xdgemm [_def_xdswap.obj]&lt;BR /&gt; mkl_blas_xdgemm [_xddot_fb.obj]&lt;BR /&gt; mkl_blas_dgemm [_ddot.obj]&lt;BR /&gt; DGEMM [_ddot.obj]&lt;BR /&gt; ...&lt;BR /&gt;&lt;W&gt; UMR: Uninitialized memory read in mkl_blas_p4_dgemm_inner_epil_large_1_k4 {1 occurrence}&lt;BR /&gt; Reading 8 bytes from 0x0c6abc00 (8 bytes at 0x0c6abc00 uninitialized)&lt;BR /&gt; Address 0x0c6abc00 is 244616 bytes into a 272384 byte block at 0x0c670078&lt;BR /&gt; Address 0x0c6abc00 points to a malloc'd block in heap 0x0beb0000&lt;BR /&gt; Thread ID: 0xb08&lt;BR /&gt; Error location&lt;BR /&gt; mkl_blas_p4_dgemm_inner_epil_large_1_k4 [_p4_dgemm_inner_general_large.obj]&lt;BR /&gt; mkl_blas_p4_xdgemm [_def_xdswap.obj]&lt;BR /&gt; mkl_blas_xdgemm [_xddot_fb.obj]&lt;BR /&gt; mkl_blas_dgemm [_ddot.obj]&lt;BR /&gt; DGEMM [_ddot.obj]&lt;BR /&gt; ...&lt;BR /&gt; Allocation location&lt;BR /&gt; malloc &lt;C&gt;&lt;BR /&gt; mkl_serv_allocate &lt;C&gt;&lt;BR /&gt; mkl_blas_p4_xdgemm [_def_xdswap.obj]&lt;BR /&gt; mkl_blas_xdgemm [_xddot_fb.obj]&lt;BR /&gt; mkl_blas_dgemm [_ddot.obj]&lt;BR /&gt; DGEMM [_ddot.obj]&lt;BR /&gt; ...&lt;BR /&gt;&lt;W&gt; UMR: Uninitialized memory read in mkl_blas_p4_dgemm_inner_epil_large_1_k4 {1 occurrence}&lt;BR /&gt; Reading 8 bytes from 0x0c6abc40 (8 bytes at 0x0c6abc40 uninitialized)&lt;BR /&gt; Address 0x0c6abc40 is 244680 bytes into a 272384 byte block at 0x0c670078&lt;BR /&gt; Address 0x0c6abc40 points to a malloc'd block in heap 0x0beb0000&lt;BR /&gt; Thread ID: 0xb08&lt;BR /&gt; Error location&lt;BR /&gt; mkl_blas_p4_dgemm_inner_epil_large_1_k4 [_p4_dgemm_inner_general_large.obj]&lt;BR /&gt; mkl_blas_p4_xdgemm [_def_xdswap.obj]&lt;BR /&gt; mkl_blas_xdgemm [_xddot_fb.obj]&lt;BR /&gt; mkl_blas_dgemm [_ddot.obj]&lt;BR /&gt; DGEMM [_ddot.obj]&lt;BR /&gt; ...&lt;BR /&gt; Allocation location&lt;BR /&gt; malloc &lt;C&gt;&lt;BR /&gt; mkl_serv_allocate &lt;C&gt;&lt;BR /&gt; mkl_blas_p4_xdgemm [_def_xdswap.obj]&lt;BR /&gt; mkl_blas_xdgemm [_xddot_fb.obj]&lt;BR /&gt; mkl_blas_dgemm [_ddot.obj]&lt;BR /&gt; DGEMM [_ddot.obj]&lt;BR /&gt; ...&lt;BR /&gt;&lt;I&gt; Summary of all memory leaks... {0 bytes, 0 blocks}&lt;BR /&gt;&lt;I&gt; Exiting with code 0 (0x00000000)&lt;BR /&gt; Process time: 66233 milliseconds&lt;BR /&gt;&lt;I&gt; Program terminated at 9/23/2011 13:16:41&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/C&gt;&lt;/C&gt;&lt;/W&gt;&lt;/C&gt;&lt;/C&gt;&lt;/W&gt;&lt;/C&gt;&lt;/C&gt;&lt;/W&gt;&lt;/C&gt;&lt;/C&gt;&lt;/W&gt;&lt;/C&gt;&lt;/C&gt;&lt;/W&gt;&lt;/E&gt;&lt;/C&gt;&lt;/C&gt;&lt;/W&gt;&lt;/E&gt;&lt;/E&gt;&lt;/I&gt;&lt;/I&gt;</description>
      <pubDate>Fri, 23 Sep 2011 22:34:46 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Purify-errors/m-p/824202#M5009</guid>
      <dc:creator>mullervki</dc:creator>
      <dc:date>2011-09-23T22:34:46Z</dc:date>
    </item>
    <item>
      <title>Purify errors</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Purify-errors/m-p/824203#M5010</link>
      <description>&lt;P&gt;Hi,&lt;BR /&gt;&lt;BR /&gt;You know,profiling tools can produce false positive errors beacuse of misunderstanding of generated code.&lt;BR /&gt;I know such problems with valgrind when application was compiled with Intel compiler. So, could you please share with us your tescase to analyze these messages.&lt;/P&gt;</description>
      <pubDate>Mon, 26 Sep 2011 05:36:30 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Purify-errors/m-p/824203#M5010</guid>
      <dc:creator>barragan_villanueva_</dc:creator>
      <dc:date>2011-09-26T05:36:30Z</dc:date>
    </item>
  </channel>
</rss>

