<?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 Why matrix inversion (dpotrf &amp;amp; dpotri) faster than multiplication (dgemm) for matrix of same size? in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-matrix-inversion-dpotrf-amp-dpotri-faster-than/m-p/1250786#M30776</link>
    <description>&lt;P&gt;Dear all,&lt;/P&gt;
&lt;P&gt;I'm using Intel C++ Compiler 19.1 integrated on Visual Studio 2019 for MKL in Windows.&lt;/P&gt;
&lt;P&gt;Recently, I found that matrix inversion (using LAPACKE_dpotrf &amp;amp;&amp;nbsp;LAPACKE_dpotri) seems to be faster than the multiplication (using cblas_dgemm) for the same size N-by-N square matrix by a factor of 2. However, the total number of floating-point operations (flops) should be approximately the same for matrix inversion and multiplication, namely for inversion we have flops = 1/3 * (N^3) [dpotrf] + 2/3 * (N^3) [dpotri] = N^3, and for multiplication flops = N^w, with w&amp;lt;=3.0.&lt;/P&gt;
&lt;P&gt;Following is the code I used for the time test:&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#339966"&gt;// Matrix Inversion (N=3717)&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#339966"&gt;LAPACKE_dpotrf(LAPACK_COL_MAJOR, 'U', N, MAT_A, N);&amp;nbsp; // drop the first time call&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#339966"&gt;LAPACKE_dpotri(LAPACK_COL_MAJOR, 'U', N, MAT_A, N);&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#339966"&gt;time = dsecnd();&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#339966"&gt;for (i = 0; i &amp;lt; COUNT; i++)&amp;nbsp; &amp;nbsp; &amp;nbsp;// COUNT = 100&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#339966"&gt;{&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#339966"&gt;LAPACKE_dpotrf(LAPACK_COL_MAJOR, 'U', N, MAT_A, N);&amp;nbsp;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#339966"&gt;LAPACKE_dpotri(LAPACK_COL_MAJOR, 'U', N, MAT_A, N);&amp;nbsp;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#339966"&gt;}&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#339966"&gt;time = dsecnd() - time;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#339966"&gt;T_INV = time / COUNT;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#339966"&gt;// Matrix Multiplication (MAT_C = MAT_A * MAT_B)&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#339966"&gt;cblas_dgemm(CblasColMajor, CblasNoTrans, CblasNoTrans, N, N, N, 1.0, MAT_A, N, MAT_B, N, 0.0, MAT_C, N);&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#339966"&gt;time = dsecnd();&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#339966"&gt;for (i = 0; i &amp;lt; COUNT; i++)&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#339966"&gt;cblas_dgemm(CblasColMajor, CblasNoTrans, CblasNoTrans, N, N, N, 1.0, MAT_A, N, MAT_B, N, 0.0, MAT_C, N);&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#339966"&gt;time = dsecnd() - time;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#339966"&gt;T_MM = time / COUNT;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;where, N is the matrix size N = 3717, and COUNT = 100.&lt;/P&gt;
&lt;P&gt;The averaged time cost for N-by-N matrix inversion T_INV is about 0.79 seconds,&lt;/P&gt;
&lt;P&gt;and the averaged time cost for two N-by-N matrices multiplication T_MM is about 1.57 seconds&lt;/P&gt;
&lt;P&gt;We can observe clearly the inversion is faster than the multiplication, and I could not figure out why? probably due to that in the inversion, only the upper-triangular part is needed for calculation? Or my time cost test is not proper?&lt;/P&gt;
&lt;P&gt;Thank you very much!&lt;/P&gt;
&lt;P&gt;Best regards&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="ms-editor-squiggler" style="color: initial; font: initial; font-feature-settings: initial; font-kerning: initial; font-optical-sizing: initial; font-variation-settings: initial; forced-color-adjust: initial; text-orientation: initial; text-rendering: initial; -webkit-font-smoothing: initial; -webkit-locale: initial; -webkit-text-orientation: initial; -webkit-writing-mode: initial; writing-mode: initial; zoom: initial; place-content: initial; place-items: initial; place-self: initial; alignment-baseline: initial; animation: initial; appearance: initial; aspect-ratio: initial; backdrop-filter: initial; backface-visibility: initial; background: initial; background-blend-mode: initial; baseline-shift: initial; block-size: initial; border-block: initial; border: initial; border-radius: initial; border-collapse: initial; border-inline: initial; inset: initial; box-shadow: initial; box-sizing: initial; break-after: initial; break-before: initial; break-inside: initial; buffered-rendering: initial; caption-side: initial; caret-color: initial; clear: initial; clip: initial; clip-path: initial; clip-rule: initial; color-interpolation: initial; color-interpolation-filters: initial; color-rendering: initial; color-scheme: initial; columns: initial; column-fill: initial; gap: initial; column-rule: initial; column-span: initial; contain: initial; contain-intrinsic-size: initial; content: initial; content-visibility: initial; counter-increment: initial; counter-reset: initial; counter-set: initial; cursor: initial; cx: initial; cy: initial; d: initial; display: block; dominant-baseline: initial; empty-cells: initial; fill: initial; fill-opacity: initial; fill-rule: initial; filter: initial; flex: initial; flex-flow: initial; float: initial; flood-color: initial; flood-opacity: initial; grid: initial; grid-area: initial; height: initial; hyphens: initial; image-orientation: initial; image-rendering: initial; inline-size: initial; inset-block: initial; inset-inline: initial; isolation: initial; letter-spacing: initial; lighting-color: initial; line-break: initial; list-style: initial; margin-block: initial; margin: initial; margin-inline: initial; marker: initial; mask: initial; mask-type: initial; max-block-size: initial; max-height: initial; max-inline-size: initial; max-width: initial; min-block-size: initial; min-height: initial; min-inline-size: initial; min-width: initial; mix-blend-mode: initial; object-fit: initial; object-position: initial; offset: initial; opacity: initial; order: initial; origin-trial-test-property: initial; orphans: initial; outline: initial; outline-offset: initial; overflow-anchor: initial; overflow-wrap: initial; overflow: initial; overscroll-behavior-block: initial; overscroll-behavior-inline: initial; overscroll-behavior: initial; padding-block: initial; padding: initial; padding-inline: initial; page: initial; page-orientation: initial; paint-order: initial; perspective: initial; perspective-origin: initial; pointer-events: initial; position: initial; quotes: initial; r: initial; resize: initial; ruby-position: initial; rx: initial; ry: initial; scroll-behavior: initial; scroll-margin-block: initial; scroll-margin: initial; scroll-margin-inline: initial; scroll-padding-block: initial; scroll-padding: initial; scroll-padding-inline: initial; scroll-snap-align: initial; scroll-snap-stop: initial; scroll-snap-type: initial; shape-image-threshold: initial; shape-margin: initial; shape-outside: initial; shape-rendering: initial; size: initial; speak: initial; stop-color: initial; stop-opacity: initial; stroke: initial; stroke-dasharray: initial; stroke-dashoffset: initial; stroke-linecap: initial; stroke-linejoin: initial; stroke-miterlimit: initial; stroke-opacity: initial; stroke-width: initial; tab-size: initial; table-layout: initial; text-align: initial; text-align-last: initial; text-anchor: initial; text-combine-upright: initial; text-decoration: initial; text-decoration-skip-ink: initial; text-indent: initial; text-overflow: initial; text-shadow: initial; text-size-adjust: initial; text-transform: initial; text-underline-offset: initial; text-underline-position: initial; touch-action: initial; transform: initial; transform-box: initial; transform-origin: initial; transform-style: initial; transition: initial; user-select: initial; vector-effect: initial; vertical-align: initial; visibility: initial; -webkit-app-region: initial; border-spacing: initial; -webkit-border-image: initial; -webkit-box-align: initial; -webkit-box-decoration-break: initial; -webkit-box-direction: initial; -webkit-box-flex: initial; -webkit-box-ordinal-group: initial; -webkit-box-orient: initial; -webkit-box-pack: initial; -webkit-box-reflect: initial; -webkit-highlight: initial; -webkit-hyphenate-character: initial; -webkit-line-break: initial; -webkit-line-clamp: initial; -webkit-mask-box-image: initial; -webkit-mask: initial; -webkit-mask-composite: initial; -webkit-perspective-origin-x: initial; -webkit-perspective-origin-y: initial; -webkit-print-color-adjust: initial; -webkit-rtl-ordering: initial; -webkit-ruby-position: initial; -webkit-tap-highlight-color: initial; -webkit-text-combine: initial; -webkit-text-decorations-in-effect: initial; -webkit-text-emphasis: initial; -webkit-text-emphasis-position: initial; -webkit-text-fill-color: initial; -webkit-text-security: initial; -webkit-text-stroke: initial; -webkit-transform-origin-x: initial; -webkit-transform-origin-y: initial; -webkit-transform-origin-z: initial; -webkit-user-drag: initial; -webkit-user-modify: initial; white-space: initial; widows: initial; width: initial; will-change: initial; word-break: initial; word-spacing: initial; x: initial; y: initial; z-index: initial;"&gt;&amp;nbsp;&lt;/DIV&gt;</description>
    <pubDate>Thu, 28 Jan 2021 10:24:30 GMT</pubDate>
    <dc:creator>TonyNie</dc:creator>
    <dc:date>2021-01-28T10:24:30Z</dc:date>
    <item>
      <title>Why matrix inversion (dpotrf &amp; dpotri) faster than multiplication (dgemm) for matrix of same size?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-matrix-inversion-dpotrf-amp-dpotri-faster-than/m-p/1250786#M30776</link>
      <description>&lt;P&gt;Dear all,&lt;/P&gt;
&lt;P&gt;I'm using Intel C++ Compiler 19.1 integrated on Visual Studio 2019 for MKL in Windows.&lt;/P&gt;
&lt;P&gt;Recently, I found that matrix inversion (using LAPACKE_dpotrf &amp;amp;&amp;nbsp;LAPACKE_dpotri) seems to be faster than the multiplication (using cblas_dgemm) for the same size N-by-N square matrix by a factor of 2. However, the total number of floating-point operations (flops) should be approximately the same for matrix inversion and multiplication, namely for inversion we have flops = 1/3 * (N^3) [dpotrf] + 2/3 * (N^3) [dpotri] = N^3, and for multiplication flops = N^w, with w&amp;lt;=3.0.&lt;/P&gt;
&lt;P&gt;Following is the code I used for the time test:&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#339966"&gt;// Matrix Inversion (N=3717)&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#339966"&gt;LAPACKE_dpotrf(LAPACK_COL_MAJOR, 'U', N, MAT_A, N);&amp;nbsp; // drop the first time call&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#339966"&gt;LAPACKE_dpotri(LAPACK_COL_MAJOR, 'U', N, MAT_A, N);&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#339966"&gt;time = dsecnd();&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#339966"&gt;for (i = 0; i &amp;lt; COUNT; i++)&amp;nbsp; &amp;nbsp; &amp;nbsp;// COUNT = 100&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#339966"&gt;{&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#339966"&gt;LAPACKE_dpotrf(LAPACK_COL_MAJOR, 'U', N, MAT_A, N);&amp;nbsp;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#339966"&gt;LAPACKE_dpotri(LAPACK_COL_MAJOR, 'U', N, MAT_A, N);&amp;nbsp;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#339966"&gt;}&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#339966"&gt;time = dsecnd() - time;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#339966"&gt;T_INV = time / COUNT;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#339966"&gt;// Matrix Multiplication (MAT_C = MAT_A * MAT_B)&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#339966"&gt;cblas_dgemm(CblasColMajor, CblasNoTrans, CblasNoTrans, N, N, N, 1.0, MAT_A, N, MAT_B, N, 0.0, MAT_C, N);&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#339966"&gt;time = dsecnd();&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#339966"&gt;for (i = 0; i &amp;lt; COUNT; i++)&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#339966"&gt;cblas_dgemm(CblasColMajor, CblasNoTrans, CblasNoTrans, N, N, N, 1.0, MAT_A, N, MAT_B, N, 0.0, MAT_C, N);&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#339966"&gt;time = dsecnd() - time;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#339966"&gt;T_MM = time / COUNT;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;where, N is the matrix size N = 3717, and COUNT = 100.&lt;/P&gt;
&lt;P&gt;The averaged time cost for N-by-N matrix inversion T_INV is about 0.79 seconds,&lt;/P&gt;
&lt;P&gt;and the averaged time cost for two N-by-N matrices multiplication T_MM is about 1.57 seconds&lt;/P&gt;
&lt;P&gt;We can observe clearly the inversion is faster than the multiplication, and I could not figure out why? probably due to that in the inversion, only the upper-triangular part is needed for calculation? Or my time cost test is not proper?&lt;/P&gt;
&lt;P&gt;Thank you very much!&lt;/P&gt;
&lt;P&gt;Best regards&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="ms-editor-squiggler" style="color: initial; font: initial; font-feature-settings: initial; font-kerning: initial; font-optical-sizing: initial; font-variation-settings: initial; forced-color-adjust: initial; text-orientation: initial; text-rendering: initial; -webkit-font-smoothing: initial; -webkit-locale: initial; -webkit-text-orientation: initial; -webkit-writing-mode: initial; writing-mode: initial; zoom: initial; place-content: initial; place-items: initial; place-self: initial; alignment-baseline: initial; animation: initial; appearance: initial; aspect-ratio: initial; backdrop-filter: initial; backface-visibility: initial; background: initial; background-blend-mode: initial; baseline-shift: initial; block-size: initial; border-block: initial; border: initial; border-radius: initial; border-collapse: initial; border-inline: initial; inset: initial; box-shadow: initial; box-sizing: initial; break-after: initial; break-before: initial; break-inside: initial; buffered-rendering: initial; caption-side: initial; caret-color: initial; clear: initial; clip: initial; clip-path: initial; clip-rule: initial; color-interpolation: initial; color-interpolation-filters: initial; color-rendering: initial; color-scheme: initial; columns: initial; column-fill: initial; gap: initial; column-rule: initial; column-span: initial; contain: initial; contain-intrinsic-size: initial; content: initial; content-visibility: initial; counter-increment: initial; counter-reset: initial; counter-set: initial; cursor: initial; cx: initial; cy: initial; d: initial; display: block; dominant-baseline: initial; empty-cells: initial; fill: initial; fill-opacity: initial; fill-rule: initial; filter: initial; flex: initial; flex-flow: initial; float: initial; flood-color: initial; flood-opacity: initial; grid: initial; grid-area: initial; height: initial; hyphens: initial; image-orientation: initial; image-rendering: initial; inline-size: initial; inset-block: initial; inset-inline: initial; isolation: initial; letter-spacing: initial; lighting-color: initial; line-break: initial; list-style: initial; margin-block: initial; margin: initial; margin-inline: initial; marker: initial; mask: initial; mask-type: initial; max-block-size: initial; max-height: initial; max-inline-size: initial; max-width: initial; min-block-size: initial; min-height: initial; min-inline-size: initial; min-width: initial; mix-blend-mode: initial; object-fit: initial; object-position: initial; offset: initial; opacity: initial; order: initial; origin-trial-test-property: initial; orphans: initial; outline: initial; outline-offset: initial; overflow-anchor: initial; overflow-wrap: initial; overflow: initial; overscroll-behavior-block: initial; overscroll-behavior-inline: initial; overscroll-behavior: initial; padding-block: initial; padding: initial; padding-inline: initial; page: initial; page-orientation: initial; paint-order: initial; perspective: initial; perspective-origin: initial; pointer-events: initial; position: initial; quotes: initial; r: initial; resize: initial; ruby-position: initial; rx: initial; ry: initial; scroll-behavior: initial; scroll-margin-block: initial; scroll-margin: initial; scroll-margin-inline: initial; scroll-padding-block: initial; scroll-padding: initial; scroll-padding-inline: initial; scroll-snap-align: initial; scroll-snap-stop: initial; scroll-snap-type: initial; shape-image-threshold: initial; shape-margin: initial; shape-outside: initial; shape-rendering: initial; size: initial; speak: initial; stop-color: initial; stop-opacity: initial; stroke: initial; stroke-dasharray: initial; stroke-dashoffset: initial; stroke-linecap: initial; stroke-linejoin: initial; stroke-miterlimit: initial; stroke-opacity: initial; stroke-width: initial; tab-size: initial; table-layout: initial; text-align: initial; text-align-last: initial; text-anchor: initial; text-combine-upright: initial; text-decoration: initial; text-decoration-skip-ink: initial; text-indent: initial; text-overflow: initial; text-shadow: initial; text-size-adjust: initial; text-transform: initial; text-underline-offset: initial; text-underline-position: initial; touch-action: initial; transform: initial; transform-box: initial; transform-origin: initial; transform-style: initial; transition: initial; user-select: initial; vector-effect: initial; vertical-align: initial; visibility: initial; -webkit-app-region: initial; border-spacing: initial; -webkit-border-image: initial; -webkit-box-align: initial; -webkit-box-decoration-break: initial; -webkit-box-direction: initial; -webkit-box-flex: initial; -webkit-box-ordinal-group: initial; -webkit-box-orient: initial; -webkit-box-pack: initial; -webkit-box-reflect: initial; -webkit-highlight: initial; -webkit-hyphenate-character: initial; -webkit-line-break: initial; -webkit-line-clamp: initial; -webkit-mask-box-image: initial; -webkit-mask: initial; -webkit-mask-composite: initial; -webkit-perspective-origin-x: initial; -webkit-perspective-origin-y: initial; -webkit-print-color-adjust: initial; -webkit-rtl-ordering: initial; -webkit-ruby-position: initial; -webkit-tap-highlight-color: initial; -webkit-text-combine: initial; -webkit-text-decorations-in-effect: initial; -webkit-text-emphasis: initial; -webkit-text-emphasis-position: initial; -webkit-text-fill-color: initial; -webkit-text-security: initial; -webkit-text-stroke: initial; -webkit-transform-origin-x: initial; -webkit-transform-origin-y: initial; -webkit-transform-origin-z: initial; -webkit-user-drag: initial; -webkit-user-modify: initial; white-space: initial; widows: initial; width: initial; will-change: initial; word-break: initial; word-spacing: initial; x: initial; y: initial; z-index: initial;"&gt;&amp;nbsp;&lt;/DIV&gt;</description>
      <pubDate>Thu, 28 Jan 2021 10:24:30 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-matrix-inversion-dpotrf-amp-dpotri-faster-than/m-p/1250786#M30776</guid>
      <dc:creator>TonyNie</dc:creator>
      <dc:date>2021-01-28T10:24:30Z</dc:date>
    </item>
    <item>
      <title>Re:Why matrix inversion (dpotrf &amp;amp; dpotri) faster than multiplication (dgemm) for matrix of same size?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-matrix-inversion-dpotrf-amp-dpotri-faster-than/m-p/1251954#M30789</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thanks for reporting this issue. I've forwarded your query to the MKL experts. They will get in touch with you.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Rahul&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Mon, 01 Feb 2021 13:26:51 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-matrix-inversion-dpotrf-amp-dpotri-faster-than/m-p/1251954#M30789</guid>
      <dc:creator>RahulV_intel</dc:creator>
      <dc:date>2021-02-01T13:26:51Z</dc:date>
    </item>
    <item>
      <title>Re: Why matrix inversion (dpotrf &amp; dpotri) faster than multiplication (dgemm) for matrix of same</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-matrix-inversion-dpotrf-amp-dpotri-faster-than/m-p/1252383#M30810</link>
      <description>&lt;P&gt;thanks for the case. What is the CPU type you are running in this case?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 02 Feb 2021 14:17:43 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-matrix-inversion-dpotrf-amp-dpotri-faster-than/m-p/1252383#M30810</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2021-02-02T14:17:43Z</dc:date>
    </item>
    <item>
      <title>Re:Why matrix inversion (dpotrf &amp;amp; dpotri) faster than multiplication (dgemm) for matrix of same size?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-matrix-inversion-dpotrf-amp-dpotri-faster-than/m-p/1252401#M30811</link>
      <description>&lt;P&gt;here what i see on avx-512 based system, RH7, lp64 mode, mkl 2020 u4&lt;/P&gt;&lt;P&gt;./a.out&lt;/P&gt;&lt;P&gt;MKL_VERBOSE Intel(R) MKL 2020.0 Update 4 Product build 20200917 for Intel(R) 64 architecture Intel(R) Advanced Vector Extensions 512 (Intel(R) AVX-512) with support of Intel(R) Deep Learning Boost (Intel(R) DL Boost), Lnx 2.90GHz lp64 intel_thread:&lt;/P&gt;&lt;P&gt;&lt;B&gt;Inversion =0.172078 ,sec&lt;/B&gt;&lt;/P&gt;&lt;P&gt;&lt;B&gt;dgemm&amp;nbsp;&amp;nbsp;&amp;nbsp;=0.0497837 ,sec&lt;/B&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 02 Feb 2021 14:59:25 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-matrix-inversion-dpotrf-amp-dpotri-faster-than/m-p/1252401#M30811</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2021-02-02T14:59:25Z</dc:date>
    </item>
    <item>
      <title>Re: Why matrix inversion (dpotrf &amp; dpotri) faster than multiplication (dgemm) for matrix of same</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-matrix-inversion-dpotrf-amp-dpotri-faster-than/m-p/1252405#M30812</link>
      <description>&lt;P&gt;Hi,&amp;nbsp;&lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/41889"&gt;@Gennady_F_Intel&lt;/a&gt;&lt;/P&gt;
&lt;P&gt;Many thanks for your answer and test!&lt;/P&gt;
&lt;P&gt;I'm using the &amp;nbsp;Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz 1.99 GHz with 16GB RAM on Windows 10 platform, and the compiler is Intel C++ 19.1.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The test was run on the DEBUG mode, and the matrix I used for inversion is the positive definite symmetric matrix with the size of&amp;nbsp;3717-by-3717.&lt;/P&gt;
&lt;P&gt;So based on your test, the matrix inversion is about 3~4 times lower than the multiplication, and I would like to know what is the size of your square matrix?&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Furthermore, it is still not quite clear to me that why the time cost of inversion and multiplication for the matrix of the same size should differ significantly? Do we have any general rules on the performance comparisons between MKL matrix inversion and multiplication function for the matrix of the same size, like the flop complexity or others?&lt;/P&gt;
&lt;P&gt;Thank you very much!&lt;/P&gt;
&lt;P&gt;Best regards&lt;/P&gt;
&lt;DIV class="ms-editor-squiggler" style="color: initial; font: initial; font-feature-settings: initial; font-kerning: initial; font-optical-sizing: initial; font-variation-settings: initial; forced-color-adjust: initial; text-orientation: initial; text-rendering: initial; -webkit-font-smoothing: initial; -webkit-locale: initial; -webkit-text-orientation: initial; -webkit-writing-mode: initial; writing-mode: initial; zoom: initial; place-content: initial; place-items: initial; place-self: initial; alignment-baseline: initial; animation: initial; appearance: initial; aspect-ratio: initial; backdrop-filter: initial; backface-visibility: initial; background: initial; background-blend-mode: initial; baseline-shift: initial; block-size: initial; border-block: initial; border: initial; border-radius: initial; border-collapse: initial; border-inline: initial; inset: initial; box-shadow: initial; box-sizing: initial; break-after: initial; break-before: initial; break-inside: initial; buffered-rendering: initial; caption-side: initial; caret-color: initial; clear: initial; clip: initial; clip-path: initial; clip-rule: initial; color-interpolation: initial; color-interpolation-filters: initial; color-rendering: initial; color-scheme: initial; columns: initial; column-fill: initial; gap: initial; column-rule: initial; column-span: initial; contain: initial; contain-intrinsic-size: initial; content: initial; content-visibility: initial; counter-increment: initial; counter-reset: initial; counter-set: initial; cursor: initial; cx: initial; cy: initial; d: initial; display: block; dominant-baseline: initial; empty-cells: initial; fill: initial; fill-opacity: initial; fill-rule: initial; filter: initial; flex: initial; flex-flow: initial; float: initial; flood-color: initial; flood-opacity: initial; grid: initial; grid-area: initial; height: initial; hyphens: initial; image-orientation: initial; image-rendering: initial; inline-size: initial; inset-block: initial; inset-inline: initial; isolation: initial; letter-spacing: initial; lighting-color: initial; line-break: initial; list-style: initial; margin-block: initial; margin: initial; margin-inline: initial; marker: initial; mask: initial; mask-type: initial; max-block-size: initial; max-height: initial; max-inline-size: initial; max-width: initial; min-block-size: initial; min-height: initial; min-inline-size: initial; min-width: initial; mix-blend-mode: initial; object-fit: initial; object-position: initial; offset: initial; opacity: initial; order: initial; origin-trial-test-property: initial; orphans: initial; outline: initial; outline-offset: initial; overflow-anchor: initial; overflow-wrap: initial; overflow: initial; overscroll-behavior-block: initial; overscroll-behavior-inline: initial; overscroll-behavior: initial; padding-block: initial; padding: initial; padding-inline: initial; page: initial; page-orientation: initial; paint-order: initial; perspective: initial; perspective-origin: initial; pointer-events: initial; position: initial; quotes: initial; r: initial; resize: initial; ruby-position: initial; rx: initial; ry: initial; scroll-behavior: initial; scroll-margin-block: initial; scroll-margin: initial; scroll-margin-inline: initial; scroll-padding-block: initial; scroll-padding: initial; scroll-padding-inline: initial; scroll-snap-align: initial; scroll-snap-stop: initial; scroll-snap-type: initial; shape-image-threshold: initial; shape-margin: initial; shape-outside: initial; shape-rendering: initial; size: initial; speak: initial; stop-color: initial; stop-opacity: initial; stroke: initial; stroke-dasharray: initial; stroke-dashoffset: initial; stroke-linecap: initial; stroke-linejoin: initial; stroke-miterlimit: initial; stroke-opacity: initial; stroke-width: initial; tab-size: initial; table-layout: initial; text-align: initial; text-align-last: initial; text-anchor: initial; text-combine-upright: initial; text-decoration: initial; text-decoration-skip-ink: initial; text-indent: initial; text-overflow: initial; text-shadow: initial; text-size-adjust: initial; text-transform: initial; text-underline-offset: initial; text-underline-position: initial; touch-action: initial; transform: initial; transform-box: initial; transform-origin: initial; transform-style: initial; transition: initial; user-select: initial; vector-effect: initial; vertical-align: initial; visibility: initial; -webkit-app-region: initial; border-spacing: initial; -webkit-border-image: initial; -webkit-box-align: initial; -webkit-box-decoration-break: initial; -webkit-box-direction: initial; -webkit-box-flex: initial; -webkit-box-ordinal-group: initial; -webkit-box-orient: initial; -webkit-box-pack: initial; -webkit-box-reflect: initial; -webkit-highlight: initial; -webkit-hyphenate-character: initial; -webkit-line-break: initial; -webkit-line-clamp: initial; -webkit-mask-box-image: initial; -webkit-mask: initial; -webkit-mask-composite: initial; -webkit-perspective-origin-x: initial; -webkit-perspective-origin-y: initial; -webkit-print-color-adjust: initial; -webkit-rtl-ordering: initial; -webkit-ruby-position: initial; -webkit-tap-highlight-color: initial; -webkit-text-combine: initial; -webkit-text-decorations-in-effect: initial; -webkit-text-emphasis: initial; -webkit-text-emphasis-position: initial; -webkit-text-fill-color: initial; -webkit-text-security: initial; -webkit-text-stroke: initial; -webkit-transform-origin-x: initial; -webkit-transform-origin-y: initial; -webkit-transform-origin-z: initial; -webkit-user-drag: initial; -webkit-user-modify: initial; white-space: initial; widows: initial; width: initial; will-change: initial; word-break: initial; word-spacing: initial; x: initial; y: initial; z-index: initial;"&gt;&amp;nbsp;&lt;/DIV&gt;</description>
      <pubDate>Tue, 02 Feb 2021 15:22:17 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-matrix-inversion-dpotrf-amp-dpotri-faster-than/m-p/1252405#M30812</guid>
      <dc:creator>TonyNie</dc:creator>
      <dc:date>2021-02-02T15:22:17Z</dc:date>
    </item>
    <item>
      <title>Re: Re:Why matrix inversion (dpotrf &amp;amp; dpotri) faster than multiplication (dgemm) for matrix</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-matrix-inversion-dpotrf-amp-dpotri-faster-than/m-p/1252406#M30813</link>
      <description>&lt;P&gt;&lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/46"&gt;@RahulV_intel&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you!&lt;/P&gt;</description>
      <pubDate>Tue, 02 Feb 2021 15:22:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-matrix-inversion-dpotrf-amp-dpotri-faster-than/m-p/1252406#M30813</guid>
      <dc:creator>TonyNie</dc:creator>
      <dc:date>2021-02-02T15:22:42Z</dc:date>
    </item>
    <item>
      <title>Re:Why matrix inversion (dpotrf &amp;amp; dpotri) faster than multiplication (dgemm) for matrix of same size?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-matrix-inversion-dpotrf-amp-dpotri-faster-than/m-p/1252407#M30814</link>
      <description>&lt;P&gt;yes, I used exactly the same sizes( square case) and #of loops as you pointed out. You may set/export the MKL_VERBOSE environment variable and give us the very first lines of the output to check the exact version of mkl do you run.&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 02 Feb 2021 15:28:55 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-matrix-inversion-dpotrf-amp-dpotri-faster-than/m-p/1252407#M30814</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2021-02-02T15:28:55Z</dc:date>
    </item>
    <item>
      <title>Re: Re:Why matrix inversion (dpotrf &amp;amp; dpotri) faster than multiplication (dgemm) for matrix</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-matrix-inversion-dpotrf-amp-dpotri-faster-than/m-p/1252412#M30815</link>
      <description>&lt;P&gt;Hi,&amp;nbsp;&lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/41889"&gt;@Gennady_F_Intel&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you!&lt;/P&gt;
&lt;P&gt;However, I am not familiar with this&amp;nbsp;&lt;SPAN&gt;MKL_VERBOSE setting, could you please give me some instructions on how to get this? I'm using the Windows 10 system with Visual Studio 2019 IDE.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 02 Feb 2021 16:00:30 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-matrix-inversion-dpotrf-amp-dpotri-faster-than/m-p/1252412#M30815</guid>
      <dc:creator>TonyNie</dc:creator>
      <dc:date>2021-02-02T16:00:30Z</dc:date>
    </item>
    <item>
      <title>Re:Why matrix inversion (dpotrf &amp;amp; dpotri) faster than multiplication (dgemm) for matrix of same size?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-matrix-inversion-dpotrf-amp-dpotri-faster-than/m-p/1252451#M30818</link>
      <description>&lt;P&gt;you may find out this info in mkl's developer guide. If you run the under the VS IDE, then you may call &lt;SPAN style="font-size: 13.3333px; font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;mkl_verbose&lt;/SPAN&gt;&lt;SPAN style="font-size: 13.3333px; font-family: &amp;quot;Intel Clear&amp;quot;, Verdana, Arial, sans-serif;"&gt;(true) on the top of your mkl's call and see the output. &lt;/SPAN&gt;&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 02 Feb 2021 17:51:50 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-matrix-inversion-dpotrf-amp-dpotri-faster-than/m-p/1252451#M30818</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2021-02-02T17:51:50Z</dc:date>
    </item>
    <item>
      <title>Re: Re:Why matrix inversion (dpotrf &amp;amp; dpotri) faster than multiplication (dgemm) for matrix</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-matrix-inversion-dpotrf-amp-dpotri-faster-than/m-p/1252736#M30826</link>
      <description>&lt;P&gt;Hi,&amp;nbsp;&lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/41889"&gt;@Gennady_F_Intel&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Many thanks for the instruction!&lt;/P&gt;
&lt;P&gt;Here are my&amp;nbsp;&lt;SPAN&gt;mkl_verbose results, w&lt;FONT color="#000000"&gt;here 3 loops are used for inversion (DPOTRF &amp;amp; DPOTRI) and multiplication (DGEMM), and it seems the multiplication is still slower than the inversion for my case.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#800000"&gt;&lt;SPAN&gt;MKL_VERBOSE Intel(R) MKL 2020.0 Update 4 Product build 20200917 for Intel(R) 64 architecture Intel(R) Advanced Vector Extensions 2 (Intel(R) AVX2) enabled processors, Win 1.80GHz cdecl intel_thread&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#000000"&gt;&lt;SPAN&gt;MKL_VERBOSE &lt;FONT color="#339966"&gt;DPOTRF&lt;/FONT&gt;(U,3717,00000240BEF82070,3717,0) &lt;FONT color="#000000"&gt;206.48ms&lt;/FONT&gt; CNR:OFF Dyn:1 FastMM:1 TID:0 NThr:4&lt;BR /&gt;MKL_VERBOSE &lt;FONT color="#339966"&gt;DPOTRI&lt;/FONT&gt;(U,3717,00000240BEF82070,3717,0) &lt;FONT color="#000000"&gt;580.41ms &lt;/FONT&gt;CNR:OFF Dyn:1 FastMM:1 TID:0 NThr:4&lt;BR /&gt;MKL_VERBOSE &lt;FONT color="#339966"&gt;DPOTRF&lt;/FONT&gt;(U,3717,00000240BEF82070,3717,0) 188.61ms CNR:OFF Dyn:1 FastMM:1 TID:0 NThr:4&lt;BR /&gt;MKL_VERBOSE &lt;FONT color="#339966"&gt;DPOTRI&lt;/FONT&gt;(U,3717,00000240BEF82070,3717,0) &lt;FONT color="#000000"&gt;455.48ms&lt;/FONT&gt; CNR:OFF Dyn:1 FastMM:1 TID:0 NThr:4&lt;BR /&gt;MKL_VERBOSE &lt;FONT color="#339966"&gt;DPOTRF&lt;/FONT&gt;(U,3717,00000240BEF82070,3717,0) &lt;FONT color="#008000"&gt;188.05ms&lt;/FONT&gt; CNR:OFF Dyn:1 FastMM:1 TID:0 NThr:4&lt;BR /&gt;MKL_VERBOSE &lt;FONT color="#339966"&gt;DPOTRI&lt;/FONT&gt;(U,3717,00000240BEF82070,3717,0) &lt;FONT color="#008000"&gt;496.18ms&lt;/FONT&gt; CNR:OFF Dyn:1 FastMM:1 TID:0 NThr:4&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#000000"&gt;&lt;SPAN&gt;MKL_VERBOSE &lt;FONT color="#339966"&gt;DGEMM&lt;/FONT&gt;(N,N,3717,3717,3717,000000F2FBCFF550,00000240BEF82070,3717,00000240C58F4070,3717,000000F2FBCFF578,00000240CC26E070,3717) 949.66ms CNR:OFF Dyn:1 FastMM:1 TID:0 NThr:4&lt;BR /&gt;MKL_VERBOSE &lt;FONT color="#339966"&gt;DGEMM&lt;/FONT&gt;(N,N,3717,3717,3717,000000F2FBCFF550,00000240BEF82070,3717,00000240C58F4070,3717,000000F2FBCFF578,00000240CC26E070,3717) 942.71ms CNR:OFF Dyn:1 FastMM:1 TID:0 NThr:4&lt;BR /&gt;MKL_VERBOSE &lt;FONT color="#339966"&gt;DGEMM&lt;/FONT&gt;(N,N,3717,3717,3717,000000F2FBCFF550,00000240BEF82070,3717,00000240C58F4070,3717,000000F2FBCFF578,00000240CC26E070,3717) &lt;FONT color="#339966"&gt;961.10ms&lt;/FONT&gt; CNR:OFF Dyn:1 FastMM:1 TID:0 NThr:4&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#000000"&gt;&lt;SPAN&gt;&lt;FONT color="#3366FF"&gt;&lt;FONT color="#000000"&gt;Could you figure out the reason for that?&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#000000"&gt;&lt;SPAN&gt;&lt;FONT color="#3366FF"&gt;&lt;FONT color="#000000"&gt;Thank you very much!&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#000000"&gt;&lt;SPAN&gt;&lt;FONT color="#3366FF"&gt;&lt;FONT color="#000000"&gt;Best regards&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="ms-editor-squiggler" style="color: initial; font: initial; font-feature-settings: initial; font-kerning: initial; font-optical-sizing: initial; font-variation-settings: initial; forced-color-adjust: initial; text-orientation: initial; text-rendering: initial; -webkit-font-smoothing: initial; -webkit-locale: initial; -webkit-text-orientation: initial; -webkit-writing-mode: initial; writing-mode: initial; zoom: initial; place-content: initial; place-items: initial; place-self: initial; alignment-baseline: initial; animation: initial; appearance: initial; aspect-ratio: initial; backdrop-filter: initial; backface-visibility: initial; background: initial; background-blend-mode: initial; baseline-shift: initial; block-size: initial; border-block: initial; border: initial; border-radius: initial; border-collapse: initial; border-inline: initial; inset: initial; box-shadow: initial; box-sizing: initial; break-after: initial; break-before: initial; break-inside: initial; buffered-rendering: initial; caption-side: initial; caret-color: initial; clear: initial; clip: initial; clip-path: initial; clip-rule: initial; color-interpolation: initial; color-interpolation-filters: initial; color-rendering: initial; color-scheme: initial; columns: initial; column-fill: initial; gap: initial; column-rule: initial; column-span: initial; contain: initial; contain-intrinsic-size: initial; content: initial; content-visibility: initial; counter-increment: initial; counter-reset: initial; counter-set: initial; cursor: initial; cx: initial; cy: initial; d: initial; display: block; dominant-baseline: initial; empty-cells: initial; fill: initial; fill-opacity: initial; fill-rule: initial; filter: initial; flex: initial; flex-flow: initial; float: initial; flood-color: initial; flood-opacity: initial; grid: initial; grid-area: initial; height: initial; hyphens: initial; image-orientation: initial; image-rendering: initial; inline-size: initial; inset-block: initial; inset-inline: initial; isolation: initial; letter-spacing: initial; lighting-color: initial; line-break: initial; list-style: initial; margin-block: initial; margin: initial; margin-inline: initial; marker: initial; mask: initial; mask-type: initial; max-block-size: initial; max-height: initial; max-inline-size: initial; max-width: initial; min-block-size: initial; min-height: initial; min-inline-size: initial; min-width: initial; mix-blend-mode: initial; object-fit: initial; object-position: initial; offset: initial; opacity: initial; order: initial; origin-trial-test-property: initial; orphans: initial; outline: initial; outline-offset: initial; overflow-anchor: initial; overflow-wrap: initial; overflow: initial; overscroll-behavior-block: initial; overscroll-behavior-inline: initial; overscroll-behavior: initial; padding-block: initial; padding: initial; padding-inline: initial; page: initial; page-orientation: initial; paint-order: initial; perspective: initial; perspective-origin: initial; pointer-events: initial; position: initial; quotes: initial; r: initial; resize: initial; ruby-position: initial; rx: initial; ry: initial; scroll-behavior: initial; scroll-margin-block: initial; scroll-margin: initial; scroll-margin-inline: initial; scroll-padding-block: initial; scroll-padding: initial; scroll-padding-inline: initial; scroll-snap-align: initial; scroll-snap-stop: initial; scroll-snap-type: initial; shape-image-threshold: initial; shape-margin: initial; shape-outside: initial; shape-rendering: initial; size: initial; speak: initial; stop-color: initial; stop-opacity: initial; stroke: initial; stroke-dasharray: initial; stroke-dashoffset: initial; stroke-linecap: initial; stroke-linejoin: initial; stroke-miterlimit: initial; stroke-opacity: initial; stroke-width: initial; tab-size: initial; table-layout: initial; text-align: initial; text-align-last: initial; text-anchor: initial; text-combine-upright: initial; text-decoration: initial; text-decoration-skip-ink: initial; text-indent: initial; text-overflow: initial; text-shadow: initial; text-size-adjust: initial; text-transform: initial; text-underline-offset: initial; text-underline-position: initial; touch-action: initial; transform: initial; transform-box: initial; transform-origin: initial; transform-style: initial; transition: initial; user-select: initial; vector-effect: initial; vertical-align: initial; visibility: initial; -webkit-app-region: initial; border-spacing: initial; -webkit-border-image: initial; -webkit-box-align: initial; -webkit-box-decoration-break: initial; -webkit-box-direction: initial; -webkit-box-flex: initial; -webkit-box-ordinal-group: initial; -webkit-box-orient: initial; -webkit-box-pack: initial; -webkit-box-reflect: initial; -webkit-highlight: initial; -webkit-hyphenate-character: initial; -webkit-line-break: initial; -webkit-line-clamp: initial; -webkit-mask-box-image: initial; -webkit-mask: initial; -webkit-mask-composite: initial; -webkit-perspective-origin-x: initial; -webkit-perspective-origin-y: initial; -webkit-print-color-adjust: initial; -webkit-rtl-ordering: initial; -webkit-ruby-position: initial; -webkit-tap-highlight-color: initial; -webkit-text-combine: initial; -webkit-text-decorations-in-effect: initial; -webkit-text-emphasis: initial; -webkit-text-emphasis-position: initial; -webkit-text-fill-color: initial; -webkit-text-security: initial; -webkit-text-stroke: initial; -webkit-transform-origin-x: initial; -webkit-transform-origin-y: initial; -webkit-transform-origin-z: initial; -webkit-user-drag: initial; -webkit-user-modify: initial; white-space: initial; widows: initial; width: initial; will-change: initial; word-break: initial; word-spacing: initial; x: initial; y: initial; z-index: initial;"&gt;&amp;nbsp;&lt;/DIV&gt;</description>
      <pubDate>Wed, 03 Feb 2021 11:08:49 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-matrix-inversion-dpotrf-amp-dpotri-faster-than/m-p/1252736#M30826</guid>
      <dc:creator>TonyNie</dc:creator>
      <dc:date>2021-02-03T11:08:49Z</dc:date>
    </item>
    <item>
      <title>Re: Re:Why matrix inversion (dpotrf &amp;amp; dpotri) faster than multiplication (dgemm) for matrix</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-matrix-inversion-dpotrf-amp-dpotri-faster-than/m-p/1253119#M30834</link>
      <description>&lt;P&gt;ok, I see the verbose shows that avx2 code path is called. I see you run only 4 threads. Is this windows OS?&lt;/P&gt;</description>
      <pubDate>Thu, 04 Feb 2021 12:43:31 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-matrix-inversion-dpotrf-amp-dpotri-faster-than/m-p/1253119#M30834</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2021-02-04T12:43:31Z</dc:date>
    </item>
    <item>
      <title>Re: Re:Why matrix inversion (dpotrf &amp;amp; dpotri) faster than multiplication (dgemm) for matrix</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-matrix-inversion-dpotrf-amp-dpotri-faster-than/m-p/1253163#M30835</link>
      <description>&lt;P&gt;Hi,&amp;nbsp;&lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/41889"&gt;@Gennady_F_Intel&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Yes, I was running the codes on the Windows OS. The CPU of my laptop is Intel&amp;nbsp;&lt;SPAN class="value" data-key="ProcessorNumber"&gt;i7-8565U with #4 cores and #8 threads. Thank you~&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="ms-editor-squiggler" style="color: initial; font: initial; font-feature-settings: initial; font-kerning: initial; font-optical-sizing: initial; font-variation-settings: initial; forced-color-adjust: initial; text-orientation: initial; text-rendering: initial; -webkit-font-smoothing: initial; -webkit-locale: initial; -webkit-text-orientation: initial; -webkit-writing-mode: initial; writing-mode: initial; zoom: initial; place-content: initial; place-items: initial; place-self: initial; alignment-baseline: initial; animation: initial; appearance: initial; aspect-ratio: initial; backdrop-filter: initial; backface-visibility: initial; background: initial; background-blend-mode: initial; baseline-shift: initial; block-size: initial; border-block: initial; border: initial; border-radius: initial; border-collapse: initial; border-inline: initial; inset: initial; box-shadow: initial; box-sizing: initial; break-after: initial; break-before: initial; break-inside: initial; buffered-rendering: initial; caption-side: initial; caret-color: initial; clear: initial; clip: initial; clip-path: initial; clip-rule: initial; color-interpolation: initial; color-interpolation-filters: initial; color-rendering: initial; color-scheme: initial; columns: initial; column-fill: initial; gap: initial; column-rule: initial; column-span: initial; contain: initial; contain-intrinsic-size: initial; content: initial; content-visibility: initial; counter-increment: initial; counter-reset: initial; counter-set: initial; cursor: initial; cx: initial; cy: initial; d: initial; display: block; dominant-baseline: initial; empty-cells: initial; fill: initial; fill-opacity: initial; fill-rule: initial; filter: initial; flex: initial; flex-flow: initial; float: initial; flood-color: initial; flood-opacity: initial; grid: initial; grid-area: initial; height: initial; hyphens: initial; image-orientation: initial; image-rendering: initial; inline-size: initial; inset-block: initial; inset-inline: initial; isolation: initial; letter-spacing: initial; lighting-color: initial; line-break: initial; list-style: initial; margin-block: initial; margin: initial; margin-inline: initial; marker: initial; mask: initial; mask-type: initial; max-block-size: initial; max-height: initial; max-inline-size: initial; max-width: initial; min-block-size: initial; min-height: initial; min-inline-size: initial; min-width: initial; mix-blend-mode: initial; object-fit: initial; object-position: initial; offset: initial; opacity: initial; order: initial; origin-trial-test-property: initial; orphans: initial; outline: initial; outline-offset: initial; overflow-anchor: initial; overflow-wrap: initial; overflow: initial; overscroll-behavior-block: initial; overscroll-behavior-inline: initial; overscroll-behavior: initial; padding-block: initial; padding: initial; padding-inline: initial; page: initial; page-orientation: initial; paint-order: initial; perspective: initial; perspective-origin: initial; pointer-events: initial; position: initial; quotes: initial; r: initial; resize: initial; ruby-position: initial; rx: initial; ry: initial; scroll-behavior: initial; scroll-margin-block: initial; scroll-margin: initial; scroll-margin-inline: initial; scroll-padding-block: initial; scroll-padding: initial; scroll-padding-inline: initial; scroll-snap-align: initial; scroll-snap-stop: initial; scroll-snap-type: initial; shape-image-threshold: initial; shape-margin: initial; shape-outside: initial; shape-rendering: initial; size: initial; speak: initial; stop-color: initial; stop-opacity: initial; stroke: initial; stroke-dasharray: initial; stroke-dashoffset: initial; stroke-linecap: initial; stroke-linejoin: initial; stroke-miterlimit: initial; stroke-opacity: initial; stroke-width: initial; tab-size: initial; table-layout: initial; text-align: initial; text-align-last: initial; text-anchor: initial; text-combine-upright: initial; text-decoration: initial; text-decoration-skip-ink: initial; text-indent: initial; text-overflow: initial; text-shadow: initial; text-size-adjust: initial; text-transform: initial; text-underline-offset: initial; text-underline-position: initial; touch-action: initial; transform: initial; transform-box: initial; transform-origin: initial; transform-style: initial; transition: initial; user-select: initial; vector-effect: initial; vertical-align: initial; visibility: initial; -webkit-app-region: initial; border-spacing: initial; -webkit-border-image: initial; -webkit-box-align: initial; -webkit-box-decoration-break: initial; -webkit-box-direction: initial; -webkit-box-flex: initial; -webkit-box-ordinal-group: initial; -webkit-box-orient: initial; -webkit-box-pack: initial; -webkit-box-reflect: initial; -webkit-highlight: initial; -webkit-hyphenate-character: initial; -webkit-line-break: initial; -webkit-line-clamp: initial; -webkit-mask-box-image: initial; -webkit-mask: initial; -webkit-mask-composite: initial; -webkit-perspective-origin-x: initial; -webkit-perspective-origin-y: initial; -webkit-print-color-adjust: initial; -webkit-rtl-ordering: initial; -webkit-ruby-position: initial; -webkit-tap-highlight-color: initial; -webkit-text-combine: initial; -webkit-text-decorations-in-effect: initial; -webkit-text-emphasis: initial; -webkit-text-emphasis-position: initial; -webkit-text-fill-color: initial; -webkit-text-security: initial; -webkit-text-stroke: initial; -webkit-transform-origin-x: initial; -webkit-transform-origin-y: initial; -webkit-transform-origin-z: initial; -webkit-user-drag: initial; -webkit-user-modify: initial; white-space: initial; widows: initial; width: initial; will-change: initial; word-break: initial; word-spacing: initial; x: initial; y: initial; z-index: initial;"&gt;&amp;nbsp;&lt;/DIV&gt;</description>
      <pubDate>Thu, 04 Feb 2021 14:59:01 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-matrix-inversion-dpotrf-amp-dpotri-faster-than/m-p/1253163#M30835</guid>
      <dc:creator>TonyNie</dc:creator>
      <dc:date>2021-02-04T14:59:01Z</dc:date>
    </item>
    <item>
      <title>Re:Why matrix inversion (dpotrf &amp;amp; dpotri) faster than multiplication (dgemm) for matrix of same size?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-matrix-inversion-dpotrf-amp-dpotri-faster-than/m-p/1253451#M30840</link>
      <description>&lt;P&gt;Ok, I reproduced the problem with the avx2 code branch on lin os as well. I guess that the gemm is not well optimized for the avx2 code path for some specific input problem sizes. You may escalate this issue to the official Intel Online Service Center. &lt;/P&gt;&lt;P&gt;Running the same code on AVX-512 based system on 1K-10K problem size, I see that gemm outperforms potrf/potri.  &lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Gennady&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Fri, 05 Feb 2021 11:29:35 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-matrix-inversion-dpotrf-amp-dpotri-faster-than/m-p/1253451#M30840</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2021-02-05T11:29:35Z</dc:date>
    </item>
    <item>
      <title>Re:Why matrix inversion (dpotrf &amp;amp; dpotri) faster than multiplication (dgemm) for matrix of same size?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-matrix-inversion-dpotrf-amp-dpotri-faster-than/m-p/1259572#M30950</link>
      <description>&lt;P&gt;The issue is closing and we will no longer respond to this thread.&amp;nbsp;If you require additional assistance from Intel, please start a new thread.&amp;nbsp;Any further interaction in this thread will be considered community only.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Fri, 26 Feb 2021 04:37:58 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-matrix-inversion-dpotrf-amp-dpotri-faster-than/m-p/1259572#M30950</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2021-02-26T04:37:58Z</dc:date>
    </item>
  </channel>
</rss>

