<?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: Complex lu factorization (cgetrf) does not work, but real v in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Complex-lu-factorization-cgetrf-does-not-work-but-real-version/m-p/858010#M7215</link>
    <description>&lt;P&gt;Some more questions I've forgotten to ask you:&lt;BR /&gt;What MKL versions you are using?&lt;BR /&gt;What is you linking line?&lt;BR /&gt;OS?&lt;BR /&gt;Is it ia32 or Intel64 architecture?&lt;/P&gt;</description>
    <pubDate>Sun, 12 Jul 2009 17:51:48 GMT</pubDate>
    <dc:creator>Gennady_F_Intel</dc:creator>
    <dc:date>2009-07-12T17:51:48Z</dc:date>
    <item>
      <title>Complex lu factorization (cgetrf) does not work, but real version (sgetrf) does.</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Complex-lu-factorization-cgetrf-does-not-work-but-real-version/m-p/858008#M7213</link>
      <description>&lt;P&gt;I can get sgetrf working, but when I do the exact call with cgetrf, it does not work (Info = 2).&lt;BR /&gt;&lt;BR /&gt;I double checked all the data structures and parameters.&lt;BR /&gt;Here is my simple test code that I used for both sgetrf and cgetrf.&lt;BR /&gt;Does anybody notice where I may have made my mistake?&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;float b2[] = {&lt;/P&gt;
&lt;P&gt; 1 ,0, 0,&lt;/P&gt;
&lt;P&gt; 0, 1, 0,&lt;/P&gt;
&lt;P&gt; 0, 0, 1&lt;/P&gt;
&lt;P&gt;};&lt;/P&gt;
&lt;P&gt;MKL_Complex8 b[] = {&lt;/P&gt;
&lt;P&gt; {1, 0}, {0, 0}, {0, 0},&lt;/P&gt;
&lt;P&gt; {0, 0}, {1, 0}, {0, 0},&lt;/P&gt;
&lt;P&gt; {0, 0}, {0, 0}, {1, 0},&lt;/P&gt;
&lt;P&gt;};&lt;/P&gt;
&lt;P&gt;int n = 3;&lt;/P&gt;
&lt;P&gt;int lda = 3;&lt;/P&gt;
&lt;P&gt;int ldb = 3;&lt;/P&gt;
&lt;P&gt;int ipiv[3];&lt;/P&gt;
&lt;P&gt;int info = 0;&lt;/P&gt;
&lt;P&gt;char trans = 'N';&lt;/P&gt;
&lt;P&gt;float *buff2 = malloc(sizeof(float) * n * n);&lt;/P&gt;
&lt;P&gt;MKL_Complex8 *buff = malloc(sizeof(MKL_Complex8) * n * n);&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;memcpy(buff2, b2, sizeof(float)*n*n);&lt;/P&gt;
&lt;P&gt;memcpy(buff, b, sizeof(MKL_Complex8)*n*n);&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;sgetrf( &amp;amp;n, &amp;amp;n, buff2, &amp;amp;lda, &amp;amp;ipiv, &amp;amp;info );&lt;/P&gt;
&lt;P&gt;cgetrf( &amp;amp;n, &amp;amp;n, buff, &amp;amp;lda, &amp;amp;ipiv, &amp;amp;info );&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;=========================&lt;BR /&gt;I get the following results:&lt;BR /&gt;&lt;BR /&gt;buff2 = 1 01&lt;BR /&gt; 0 1 0&lt;BR /&gt; 0 0 1&lt;BR /&gt;info = 0&lt;BR /&gt;&lt;BR /&gt;so sgetrf worked with real values&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;buff = 1+0i 0+0i 0+0i&lt;BR /&gt; -1.#IO-1.#IOI -1.#IO-1.#IOI -1.#IO-1.#IOI&lt;BR /&gt;-1.#IO-1.#IOI -1.#IO-1.#IOI -1.#IO-1.#IOI&lt;BR /&gt;info = 2&lt;BR /&gt;&lt;BR /&gt;but cgetrf did not work.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Thanks in advance for anyone that may be able to spot the problem.&lt;BR /&gt;I'm new to MKL and am still trying to get my arms around the parameter data structures.&lt;BR /&gt;&lt;BR /&gt;Thanks,&lt;BR /&gt;Randy&lt;/P&gt;</description>
      <pubDate>Sat, 11 Jul 2009 07:35:41 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Complex-lu-factorization-cgetrf-does-not-work-but-real-version/m-p/858008#M7213</guid>
      <dc:creator>Randy_Cox</dc:creator>
      <dc:date>2009-07-11T07:35:41Z</dc:date>
    </item>
    <item>
      <title>Re: Complex lu factorization (cgetrf) does not work, but real v</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Complex-lu-factorization-cgetrf-does-not-work-but-real-version/m-p/858009#M7214</link>
      <description>&lt;BR /&gt;
&lt;P&gt;Randy, &lt;BR /&gt;I checked the problem you reported on win32 with MKL version10.2. &lt;BR /&gt;Please the output result I ve got, below&lt;BR /&gt;&lt;BR /&gt;sgetrf: info == 0&lt;BR /&gt;buff2 1.000000, 0.000000, 0.000000&lt;BR /&gt;buff2 0.000000, 1.000000, 0.000000&lt;BR /&gt;buff2 0.000000, 0.000000, 1.000000&lt;/P&gt;
&lt;P&gt;cgetrf: info == 0&lt;BR /&gt;buff 1.000000, 0.000000, 0.000000&lt;BR /&gt;buff 0.000000, 1.000000, 0.000000&lt;BR /&gt;buff 0.000000, 0.000000, 1.000000&lt;/P&gt;
&lt;P&gt;Press any key to continue . . .&lt;BR /&gt;&lt;BR /&gt;--Gennady&lt;/P&gt;</description>
      <pubDate>Sun, 12 Jul 2009 17:42:12 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Complex-lu-factorization-cgetrf-does-not-work-but-real-version/m-p/858009#M7214</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2009-07-12T17:42:12Z</dc:date>
    </item>
    <item>
      <title>Re: Complex lu factorization (cgetrf) does not work, but real v</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Complex-lu-factorization-cgetrf-does-not-work-but-real-version/m-p/858010#M7215</link>
      <description>&lt;P&gt;Some more questions I've forgotten to ask you:&lt;BR /&gt;What MKL versions you are using?&lt;BR /&gt;What is you linking line?&lt;BR /&gt;OS?&lt;BR /&gt;Is it ia32 or Intel64 architecture?&lt;/P&gt;</description>
      <pubDate>Sun, 12 Jul 2009 17:51:48 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Complex-lu-factorization-cgetrf-does-not-work-but-real-version/m-p/858010#M7215</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2009-07-12T17:51:48Z</dc:date>
    </item>
    <item>
      <title>Re: Complex lu factorization (cgetrf) does not work, but real v</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Complex-lu-factorization-cgetrf-does-not-work-but-real-version/m-p/858011#M7216</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/334681"&gt;Gennady Fedorov (Intel)&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;
&lt;P&gt;Some more questions I've forgotten to ask you:&lt;BR /&gt;What MKL versions you are using?&lt;BR /&gt;What is you linking line?&lt;BR /&gt;OS?&lt;BR /&gt;Is it ia32 or Intel64 architecture?&lt;/P&gt;
&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
Hi Gennady, Thank you for taking the time to look at my error, especially on the weekend! &lt;BR /&gt;Here is the information you asked for: (Sorry I should of had that in the original post)&lt;BR /&gt;&lt;BR /&gt;MKL Version: 10.2.1 (Originally I was on 10.0, but after your post I upgraded to the lastest version).&lt;BR /&gt;Linking Line: I use Visual Studio 2008 (version 9.0). The linking line parameters used by VS is:&lt;BR /&gt;&lt;BR /&gt;/OUT:"C:Documents and SettingsrcoxMy DocumentsProjectscfuncvs-cfuncDebugvs-cfunc.exe" /INCREMENTAL /NOLOGO /LIBPATH:"C:Program FilesIntelCompiler11.0&amp;#0;74cpplibia32" /LIBPATH:"C:Program FilesIntelMKL10.2.1.019ia32lib" /LIBPATH:"C:Program FilesIntelIPP6.0.2.074ia32stublib" /MANIFEST /MANIFESTFILE:"Debugvs-cfunc.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"c:Documents and SettingsrcoxMy DocumentsProjectscfuncvs-cfuncDebugvs-cfunc.pdb" /SUBSYSTEM:CONSOLE /DYNAMICBASE /NXCOMPAT /MACHINE:X86 /ERRORREPORT:PROMPT libiomp5md.lib mkl_intel_c.lib mkl_intel_thread.lib mkl_core.lib ippi.lib ippcv.lib ipps.lib ippm.lib ippcore.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib&lt;BR /&gt;&lt;BR /&gt;OS: Windows XP Professional (win32)&lt;BR /&gt;Architecture: ia32&lt;BR /&gt;&lt;BR /&gt;Let me know if there is any other information that could help.&lt;BR /&gt;Thanks again for helping.&lt;BR /&gt;&lt;BR /&gt;Randy&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Mon, 13 Jul 2009 00:45:59 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Complex-lu-factorization-cgetrf-does-not-work-but-real-version/m-p/858011#M7216</guid>
      <dc:creator>Randy_Cox</dc:creator>
      <dc:date>2009-07-13T00:45:59Z</dc:date>
    </item>
    <item>
      <title>Re: Complex lu factorization (cgetrf) does not work, but real v</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Complex-lu-factorization-cgetrf-does-not-work-but-real-version/m-p/858012#M7217</link>
      <description>&lt;DIV style="margin:0px;"&gt;Randy,&lt;BR /&gt;&lt;BR /&gt;May I ask you to do some more steps in hope to find the problem?&lt;BR /&gt;1) to check the problem with the separate project link only MKL?&lt;BR /&gt;The linking dependencies are the same you used : mkl_intel_c.lib mkl_intel_thread.lib mkl_core.lib libiomp5md.lib&lt;BR /&gt;&lt;BR /&gt;2) with the same standalone project to use serial versions:&lt;BR /&gt;sequential.lib mkl_intel_c.lib mkl_sequential.lib mkl_core.lib&lt;BR /&gt;&lt;BR /&gt;--Gennady&lt;BR /&gt;&lt;/DIV&gt;
&lt;BR /&gt;</description>
      <pubDate>Mon, 13 Jul 2009 04:41:27 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Complex-lu-factorization-cgetrf-does-not-work-but-real-version/m-p/858012#M7217</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2009-07-13T04:41:27Z</dc:date>
    </item>
    <item>
      <title>Re: Complex lu factorization (cgetrf) does not work, but real v</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Complex-lu-factorization-cgetrf-does-not-work-but-real-version/m-p/858013#M7218</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/334681"&gt;Gennady Fedorov (Intel)&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;
&lt;DIV style="margin:0px;"&gt;Randy,&lt;BR /&gt;&lt;BR /&gt;May I ask you to do some more steps in hope to find the problem?&lt;BR /&gt;1) to check the problem with the separate project link only MKL?&lt;BR /&gt;The linking dependencies are the same you used : mkl_intel_c.lib mkl_intel_thread.lib mkl_core.lib libiomp5md.lib&lt;BR /&gt;&lt;BR /&gt;2) with the same standalone project to use serial versions:&lt;BR /&gt;sequential.lib mkl_intel_c.lib mkl_sequential.lib mkl_core.lib&lt;BR /&gt;&lt;BR /&gt;--Gennady&lt;BR /&gt;&lt;/DIV&gt;
&lt;BR /&gt;&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
Thank you Gennady, Problem fixed.&lt;BR /&gt;&lt;BR /&gt;I was corrupting the Complex parameter prior to the function call.&lt;BR /&gt;As you suggested, I removed except MKL, and everything worked fine.&lt;BR /&gt;It was then a simple (but tedious) task to add things in until I got the error again.&lt;BR /&gt;In hind sight, I should have done this first before posting. &lt;BR /&gt;Sorry to spam this forum with a rookie mistake.&lt;BR /&gt;I appreciate your help! Thanks. Now I'm moving forward again. :)&lt;BR /&gt;&lt;BR /&gt;Randy&lt;BR /&gt;</description>
      <pubDate>Mon, 13 Jul 2009 07:45:17 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Complex-lu-factorization-cgetrf-does-not-work-but-real-version/m-p/858013#M7218</guid>
      <dc:creator>Randy_Cox</dc:creator>
      <dc:date>2009-07-13T07:45:17Z</dc:date>
    </item>
    <item>
      <title>Re: Complex lu factorization (cgetrf) does not work, but real v</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Complex-lu-factorization-cgetrf-does-not-work-but-real-version/m-p/858014#M7219</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/435210"&gt;Randy Cox&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;
&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
Thank you Gennady, Problem fixed.&lt;BR /&gt;&lt;BR /&gt;I was corrupting the Complex parameter prior to the function call.&lt;BR /&gt;As you suggested, I removed except MKL, and everything worked fine.&lt;BR /&gt;It was then a simple (but tedious) task to add things in until I got the error again.&lt;BR /&gt;In hind sight, I should have done this first before posting. &lt;BR /&gt;Sorry to spam this forum with a rookie mistake.&lt;BR /&gt;I appreciate your help! Thanks. Now I'm moving forward again. :)&lt;BR /&gt;&lt;BR /&gt;Randy&lt;BR /&gt;&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
In the function call, ipiv should not have an amperstand before it. Your original code worked for me after this change.&lt;BR /&gt;</description>
      <pubDate>Mon, 13 Jul 2009 15:00:57 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Complex-lu-factorization-cgetrf-does-not-work-but-real-version/m-p/858014#M7219</guid>
      <dc:creator>Melvin_Robinson</dc:creator>
      <dc:date>2009-07-13T15:00:57Z</dc:date>
    </item>
  </channel>
</rss>

