<?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 What is the difference beween LAPACKE_?gesvd and ?gesvd in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/What-is-the-difference-beween-LAPACKE-gesvd-and-gesvd/m-p/1519557#M35013</link>
    <description>&lt;P&gt;Hi, all&lt;/P&gt;&lt;P&gt;&amp;nbsp; I am working on my C++ project, in which SVD (mainly use zgesvd) is one key step. Intel oneAPI provides great SVD functions with high precision and&amp;nbsp; processing speed.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; But I feel comfused cause I do not&amp;nbsp;finger out the difference between the two C interface called &lt;STRONG&gt;LAKPCE_zgesvd&lt;/STRONG&gt; and &lt;STRONG&gt;zgesvd&lt;/STRONG&gt;, both provided correct results.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;So please anyone can explain &lt;STRONG&gt;the difference between the two fuctions&lt;/STRONG&gt;, and the best scenario for each function interface call? Thanks.&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Fri, 01 Sep 2023 03:10:13 GMT</pubDate>
    <dc:creator>LinkDeng</dc:creator>
    <dc:date>2023-09-01T03:10:13Z</dc:date>
    <item>
      <title>What is the difference beween LAPACKE_?gesvd and ?gesvd</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/What-is-the-difference-beween-LAPACKE-gesvd-and-gesvd/m-p/1519557#M35013</link>
      <description>&lt;P&gt;Hi, all&lt;/P&gt;&lt;P&gt;&amp;nbsp; I am working on my C++ project, in which SVD (mainly use zgesvd) is one key step. Intel oneAPI provides great SVD functions with high precision and&amp;nbsp; processing speed.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; But I feel comfused cause I do not&amp;nbsp;finger out the difference between the two C interface called &lt;STRONG&gt;LAKPCE_zgesvd&lt;/STRONG&gt; and &lt;STRONG&gt;zgesvd&lt;/STRONG&gt;, both provided correct results.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;So please anyone can explain &lt;STRONG&gt;the difference between the two fuctions&lt;/STRONG&gt;, and the best scenario for each function interface call? Thanks.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 01 Sep 2023 03:10:13 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/What-is-the-difference-beween-LAPACKE-gesvd-and-gesvd/m-p/1519557#M35013</guid>
      <dc:creator>LinkDeng</dc:creator>
      <dc:date>2023-09-01T03:10:13Z</dc:date>
    </item>
    <item>
      <title>Re:What is the difference beween LAPACKE_?gesvd and ?gesvd</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/What-is-the-difference-beween-LAPACKE-gesvd-and-gesvd/m-p/1520251#M35034</link>
      <description>&lt;P&gt;Hi LinkDeng,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thanks for posting in Intel communities.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Intel oneAPI provides great SVD functions with high precision and&amp;nbsp;processing speed.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;gt;&amp;gt; Thank you for the positive feedback!!! &lt;LI-EMOJI id="lia_slightly-smiling-face" title=":slightly_smiling_face:"&gt;&lt;/LI-EMOJI&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Regarding the query about the significance of the routines mentioned by you, you could refer to the below description. You could see, that the implementations of the routines were a bit different considering matrix layouts, etc., and the corresponding interface being used.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;1. zgesvd: This is the standard LAPACK function which corresponds to the Fortran interface implementation of c code.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;You could refer to the zgesvd.c source code under the MKL_examples path below.&lt;/P&gt;&lt;P&gt;&amp;lt;MKL path&amp;gt;\2023.2.0\examples\examples_core_c.zip\c\lapack\source&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;2. LAKPCE_zgesvd: LAPACKE is a C interface to LAPACK, allowing users to call LAPACK routines from C/C++ code. LAPACKE_zgesvd is a C wrapper function for zgesvd. It provides an interface that is more accessible and convenient for C and C++ programmers.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;The C interfaces are implemented for most of the Intel oneAPI Math Kernel Library (oneMKL) LAPACK driver and computational routines.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;In contrast to the Fortran interface, the LAPACK C interface omits workspace parameters because workspace is allocated during runtime and released upon completion of the function operation.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Intel® oneAPI Math Kernel Library (oneMKL) supports four distinct floating-point precisions. Each corresponding prototype looks similar, usually differing only in the data type. C interface LAPACK function names follow the form&amp;lt;?&amp;gt;&amp;lt;name&amp;gt;[_64], where &amp;lt;?&amp;gt; is:&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;LAPACKE_s for float&lt;/P&gt;&lt;P&gt;LAPACKE_d for double&lt;/P&gt;&lt;P&gt;LAPACKE_c for lapack_complex_float&lt;/P&gt;&lt;P&gt;LAPACKE_z for lapack_complex_double&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;You could refer to the lapacke_zgesvd_col.c or lapacke_zgesvd_row.c source codes under the MKL_examples path below.&lt;/P&gt;&lt;P&gt;&amp;lt;MKL path&amp;gt;\2023.2.0\examples\examples_core_c.zip\c\lapack\source&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;In addition, you could go through the below link for more details regarding the syntax, description, parameters etc. regarding the API.&lt;/P&gt;&lt;P&gt;&lt;A href="https://www.intel.com/content/www/us/en/docs/onemkl/developer-reference-c/2023-2/gesvd.htmlt" target="_blank"&gt;https://www.intel.com/content/www/us/en/docs/onemkl/developer-reference-c/2023-2/gesvd.htmlt&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;C convention LAPACK_DECL: mkl_lapacke.h&lt;/P&gt;&lt;P&gt;lapack_int LAPACKE_zgesvd( int matrix_layout, char jobu, char jobvt,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lapack_int m, lapack_int n, lapack_complex_double* a,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lapack_int lda, double* s, lapack_complex_double* u,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lapack_int ldu, lapack_complex_double* vt,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lapack_int ldvt, double* superb );&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Fortran convention zgesvd declaration: mkl_lapack.h&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;void zgesvd( const char* jobu, const char* jobvt, const MKL_INT* m,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const MKL_INT* n, MKL_Complex16* a, const MKL_INT* lda, double* s,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MKL_Complex16* u, const MKL_INT* ldu, MKL_Complex16* vt,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const MKL_INT* ldvt, MKL_Complex16* work, const MKL_INT* lwork,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;double* rwork, MKL_INT* info ) NOTHROW;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;In addition to all the information mentioned above, you could go through the below link for more details on C and Fortran interfaces.&lt;/P&gt;&lt;P&gt;&lt;A href="https://www.intel.com/content/www/us/en/docs/onemkl/developer-reference-c/2023-2/c-interface-conventions-for-lapack-routines.html" target="_blank"&gt;https://www.intel.com/content/www/us/en/docs/onemkl/developer-reference-c/2023-2/c-interface-conventions-for-lapack-routines.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Shanmukh.SS&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Mon, 04 Sep 2023 10:59:12 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/What-is-the-difference-beween-LAPACKE-gesvd-and-gesvd/m-p/1520251#M35034</guid>
      <dc:creator>ShanmukhS_Intel</dc:creator>
      <dc:date>2023-09-04T10:59:12Z</dc:date>
    </item>
    <item>
      <title>Re: Re:What is the difference beween LAPACKE_?gesvd and ?gesvd</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/What-is-the-difference-beween-LAPACKE-gesvd-and-gesvd/m-p/1520504#M35039</link>
      <description>Hi ShanmukhS,&lt;BR /&gt;Thanks for your detailed reply, which answered my question very well.&lt;BR /&gt;Best regards,&lt;BR /&gt;Deng</description>
      <pubDate>Tue, 05 Sep 2023 02:13:39 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/What-is-the-difference-beween-LAPACKE-gesvd-and-gesvd/m-p/1520504#M35039</guid>
      <dc:creator>LinkDeng</dc:creator>
      <dc:date>2023-09-05T02:13:39Z</dc:date>
    </item>
    <item>
      <title>Re:What is the difference beween LAPACKE_?gesvd and ?gesvd</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/What-is-the-difference-beween-LAPACKE-gesvd-and-gesvd/m-p/1521172#M35055</link>
      <description>&lt;P&gt;Hi LinkDeng,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;It’s great to know that the issue has been resolved, in case you run into any other issues please feel free to create a new thread.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Shanmukh.SS&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Wed, 06 Sep 2023 16:17:47 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/What-is-the-difference-beween-LAPACKE-gesvd-and-gesvd/m-p/1521172#M35055</guid>
      <dc:creator>ShanmukhS_Intel</dc:creator>
      <dc:date>2023-09-06T16:17:47Z</dc:date>
    </item>
  </channel>
</rss>

