<?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 Re: [BUG] dsymv corrupts the xmm7 register on AMD processors in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/BUG-dsymv-corrupts-the-xmm7-register-on-AMD-processors/m-p/1719280#M37359</link>
    <description>&lt;P&gt;Hi,&lt;BR /&gt;&lt;BR /&gt;I checked on oneAPI 2025.2 on&amp;nbsp;&lt;SPAN class=""&gt;AMD EPYC 7502P and I wasn't able to reproduce the error.&lt;BR /&gt;So it looks like the issue has been fixed.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;However, the other bug I reported (&amp;nbsp;&lt;LI-MESSAGE title="[BUG] access violation after dsymv call when debugging on AMD CPU" uid="1719088" url="https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/BUG-access-violation-after-dsymv-call-when-debugging-on-AMD-CPU/m-p/1719088#U1719088" discussion_style_icon_css="lia-mention-container-editor-message lia-img-icon-forum-thread lia-fa-icon lia-fa-forum lia-fa-thread lia-fa"&gt;&lt;/LI-MESSAGE&gt;&amp;nbsp;) still persists.&lt;BR /&gt;&lt;BR /&gt;Thank you,&lt;BR /&gt;Michael&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Fri, 26 Sep 2025 13:10:45 GMT</pubDate>
    <dc:creator>michaelkonecny</dc:creator>
    <dc:date>2025-09-26T13:10:45Z</dc:date>
    <item>
      <title>[BUG] dsymv corrupts the xmm7 register on AMD processors</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/BUG-dsymv-corrupts-the-xmm7-register-on-AMD-processors/m-p/1719087#M37355</link>
      <description>&lt;P&gt;&lt;BR /&gt;Hello,&lt;/P&gt;&lt;P&gt;I found a memory corruption bug in the dsymv function that manifests itself on AMD processors.&lt;BR /&gt;The function dsymv changes the value of the xmm7 register upon its exit even though this is not allowed (see&amp;nbsp;&lt;A href="https://learn.microsoft.com/en-us/cpp/build/x64-software-conventions?view=msvc-170#register-volatility-and-preservation" target="_self"&gt;x64 ABI conventions - register volatility&lt;/A&gt;).&lt;/P&gt;&lt;P&gt;I'm using Visual Studio Community 17.14.14 and oneAPI 2024.1 on Windows.&lt;/P&gt;&lt;P&gt;I've created a minimalistic reproducer of the bug, the source code of which can be found here:&lt;BR /&gt;&lt;A href="https://bitbucket.org/k2fem/bug_intel_mkl_symv/src/master/bug_mkl.f90" target="_self"&gt;https://bitbucket.org/k2fem/bug_intel_mkl_symv/src/master/bug_mkl.f90&lt;/A&gt;&lt;/P&gt;&lt;P&gt;In brief:&lt;BR /&gt;- I set the value of xmm7 to a known value&lt;BR /&gt;- I call dsymv (using a function wrapper solve_sym_ldl)&lt;BR /&gt;- I read the value of xmm7&lt;BR /&gt;- I print out the original and the resulting value of xmm7. The values should be the same, but on AMD processors, they differ.&lt;/P&gt;&lt;P&gt;I was able to reproduce this on three different AMD CPUs:&lt;BR /&gt;- AMD EPYC 7502P&lt;BR /&gt;- AMD Ryzen AI 9 HX PRO 370&lt;BR /&gt;- AMD Ryzen 7 Pro 6850&lt;BR /&gt;which leads me to the conclusion that might be AMD-specific behaviour.&lt;/P&gt;&lt;P&gt;The behaviour is unstable, sometimes the bug doesn't occur, but most times it does.&lt;/P&gt;&lt;P&gt;The whole solution for the reproducer can be found here: &lt;A href="https://bitbucket.org/k2fem/bug_intel_mkl_symv/src/master/" target="_self"&gt;https://bitbucket.org/k2fem/bug_intel_mkl_symv/src/master/&lt;/A&gt;&lt;BR /&gt;To reproduce the bug, build and run the bug_mkl project. The problem manifests itself in both Debug and Release configurations.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;This, of course, introduces unexpected behaviour in my application.&lt;BR /&gt;Specifically, I had roughly this code:&lt;BR /&gt;```&lt;BR /&gt;call dsymv(A, B)&lt;BR /&gt;ind = [1:6]&lt;BR /&gt;```&lt;/P&gt;&lt;P&gt;When I looked into assembly of the Release build (with -O2), the compiler decided to prepare a part of the contents of ind - [1:4] - to the xmm7 register before calling symv.&lt;BR /&gt;After that, it would do:&lt;BR /&gt;ind(1:4) &amp;lt;- xmm7&lt;BR /&gt;ind(5) = 5&lt;BR /&gt;ind(6) = 6&lt;/P&gt;&lt;P&gt;Of course, at this point, xmm7 was already corrupted, which made my indices corrupted, which made my application crash.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Can you please look into this?&lt;/P&gt;&lt;P&gt;All of this also begs the question: does Intel test its libraries on AMD processors? They already make up 1/3 of the market share, so can no longer be brushed off as irrelevant.&lt;BR /&gt;Our applications need to work reliably on both vendors.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Also, I had to retype this whole bug report, because after clicking the Post button for the first time, I recieved an error and lost the whole thing!&lt;BR /&gt;This is not the first time this happened (the first was years ago)!&lt;/P&gt;&lt;P&gt;I would have been wiser and saved the message elsewhere, but since the last time I reported a bug, you added the "autosave functionality here", which I expected to work.&lt;BR /&gt;However, that doesn't work either! It only offered me an autosaved version from 30 minutes ago, when I barely started typing the message.&lt;/P&gt;&lt;P&gt;Intel, if even your bug reporting tool is buggy, I'm not sure there's any helping you...&lt;/P&gt;</description>
      <pubDate>Thu, 25 Sep 2025 14:45:58 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/BUG-dsymv-corrupts-the-xmm7-register-on-AMD-processors/m-p/1719087#M37355</guid>
      <dc:creator>michaelkonecny</dc:creator>
      <dc:date>2025-09-25T14:45:58Z</dc:date>
    </item>
    <item>
      <title>Re: [BUG] dsymv corrupts the xmm7 register on AMD processors</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/BUG-dsymv-corrupts-the-xmm7-register-on-AMD-processors/m-p/1719185#M37357</link>
      <description>&lt;P&gt;Hi, Can you please check&amp;nbsp; the new oneMKL 2025.2 release?&amp;nbsp; &amp;nbsp;We fixed a known issue on this:&amp;nbsp; Some BLAS and LAPACK functions may encounter runtime errors on AMD hardware in Windows*. The fix is available starting with oneMKL version 2025.0.1.&lt;/P&gt;
&lt;P&gt;thanks,&lt;BR /&gt;Chao&lt;/P&gt;</description>
      <pubDate>Fri, 26 Sep 2025 02:14:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/BUG-dsymv-corrupts-the-xmm7-register-on-AMD-processors/m-p/1719185#M37357</guid>
      <dc:creator>Chao_Y_Intel</dc:creator>
      <dc:date>2025-09-26T02:14:42Z</dc:date>
    </item>
    <item>
      <title>Re: [BUG] dsymv corrupts the xmm7 register on AMD processors</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/BUG-dsymv-corrupts-the-xmm7-register-on-AMD-processors/m-p/1719280#M37359</link>
      <description>&lt;P&gt;Hi,&lt;BR /&gt;&lt;BR /&gt;I checked on oneAPI 2025.2 on&amp;nbsp;&lt;SPAN class=""&gt;AMD EPYC 7502P and I wasn't able to reproduce the error.&lt;BR /&gt;So it looks like the issue has been fixed.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;However, the other bug I reported (&amp;nbsp;&lt;LI-MESSAGE title="[BUG] access violation after dsymv call when debugging on AMD CPU" uid="1719088" url="https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/BUG-access-violation-after-dsymv-call-when-debugging-on-AMD-CPU/m-p/1719088#U1719088" discussion_style_icon_css="lia-mention-container-editor-message lia-img-icon-forum-thread lia-fa-icon lia-fa-forum lia-fa-thread lia-fa"&gt;&lt;/LI-MESSAGE&gt;&amp;nbsp;) still persists.&lt;BR /&gt;&lt;BR /&gt;Thank you,&lt;BR /&gt;Michael&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 26 Sep 2025 13:10:45 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/BUG-dsymv-corrupts-the-xmm7-register-on-AMD-processors/m-p/1719280#M37359</guid>
      <dc:creator>michaelkonecny</dc:creator>
      <dc:date>2025-09-26T13:10:45Z</dc:date>
    </item>
  </channel>
</rss>

