<?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 Quote:vincent.ferri wrote: in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Static-vs-dynamic-vector-input/m-p/932091#M13833</link>
    <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;vincent.ferri wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;
&lt;P&gt;a is [4 x 10] and b is [10X4] and c should be [10 X 10] not a scalar.&lt;/P&gt;
&lt;P&gt;What I now is Matlab computes the c matrix and inv(c) computs the correct coeff.&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Presumably, you want c to match b X a, rather than a X b, which would be a 4 X 4 matrix. Perhaps, you obtained the values of the elements of matrix c using Matlab or some such tool, but printed out the values with insufficient precision. Since a and b contain three-digit numbers, you need at least six digits for the elements of c. In the file, however, you only display three significant digits for&amp;nbsp; these. Therefore, you should expect errors of as much as 500 in the elements of matrix c in the file.&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;The solution is quite simple. Set Matlab (or other utility) to print enough significant digits before you compare.&lt;/P&gt;</description>
    <pubDate>Thu, 18 Apr 2013 20:14:00 GMT</pubDate>
    <dc:creator>mecej4</dc:creator>
    <dc:date>2013-04-18T20:14:00Z</dc:date>
    <item>
      <title>Static vs. dynamic vector input</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Static-vs-dynamic-vector-input/m-p/932068#M13810</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;I am having an issue with dynamic input arguements to the following functions;&lt;/P&gt;
&lt;P&gt;LAPACKE_dgelss();&lt;/P&gt;
&lt;P&gt;dgetrf();dgetri();&lt;/P&gt;
&lt;P&gt;ippmInvert_m_64f();&lt;/P&gt;
&lt;P&gt;When the input vector is static A[10 * 10] = {...}; the output is correct namely A inverse.&amp;nbsp; If the same data values are read into a dynamic vector the output is incorrect. Why am I getting this anomally?&lt;/P&gt;
&lt;P&gt;Thanks&lt;/P&gt;
&lt;P&gt;Vince&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 16 Apr 2013 18:42:04 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Static-vs-dynamic-vector-input/m-p/932068#M13810</guid>
      <dc:creator>vincent_ferri</dc:creator>
      <dc:date>2013-04-16T18:42:04Z</dc:date>
    </item>
    <item>
      <title>With the very limited</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Static-vs-dynamic-vector-input/m-p/932069#M13811</link>
      <description>&lt;P&gt;With the very limited information you provided, it's hard to reproduce the problem or guess an explanation. Would you provide a small reproducer? Or, at least show a code snippet calling these functions using static and dynamic arrays? Thanks.&lt;/P&gt;</description>
      <pubDate>Tue, 16 Apr 2013 19:09:48 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Static-vs-dynamic-vector-input/m-p/932069#M13811</guid>
      <dc:creator>Zhang_Z_Intel</dc:creator>
      <dc:date>2013-04-16T19:09:48Z</dc:date>
    </item>
    <item>
      <title>Hi,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Static-vs-dynamic-vector-input/m-p/932070#M13812</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;I will concentrate on one of the functions that I listed, it is used for LU factorization;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;lapack_int info;&lt;BR /&gt;&amp;nbsp;MKL_INT* ipiv;&lt;BR /&gt;&amp;nbsp;double dVandSize = 10;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;double* c = ( double * ) malloc ( dVandSize * dVandSize * sizeof ( double ) );&lt;/P&gt;
&lt;P&gt;//If input vector c[10 * 10] is a static array with initialized values the function works, if c is dynamic and contains the same values it doesn't work; I included a file called c_vector that contains c;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;&amp;nbsp;ipiv = ( MKL_INT * ) malloc ( dVandSize * sizeof ( MKL_INT ) );&lt;BR /&gt;&amp;nbsp;dgetrf(&amp;amp;dVandSize,&amp;amp;dVandSize,c,&amp;amp;dVandSize,ipiv,&amp;amp;info);&amp;nbsp; //Computes the LU factorization&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;&amp;nbsp;double* workspace = new double [dVandSize* sizeof(double)]; &lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; dgetri(&amp;amp;dVandSize, c, &amp;amp;dVandSize, ipiv, workspace, &amp;amp;dVandSize, &amp;amp;info);&lt;/P&gt;
&lt;P&gt;Thanks&lt;/P&gt;</description>
      <pubDate>Tue, 16 Apr 2013 19:23:10 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Static-vs-dynamic-vector-input/m-p/932070#M13812</guid>
      <dc:creator>vincent_ferri</dc:creator>
      <dc:date>2013-04-16T19:23:10Z</dc:date>
    </item>
    <item>
      <title>Well, I was not able to</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Static-vs-dynamic-vector-input/m-p/932071#M13813</link>
      <description>&lt;P&gt;Well, I was not able to reproduce the problem. Both static and dynamic arrays worked fine and gave identical results. See my test code attached.&lt;/P&gt;
&lt;P&gt;But a careful look at your code snippet revealed this problem:&lt;/P&gt;
&lt;P&gt;[cpp]double dVandSize = 10;[/cpp]&lt;/P&gt;
&lt;P&gt;Why was this variable declared as double when it should be an integer? Didn't you get compiler warnings?&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 16 Apr 2013 21:58:38 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Static-vs-dynamic-vector-input/m-p/932071#M13813</guid>
      <dc:creator>Zhang_Z_Intel</dc:creator>
      <dc:date>2013-04-16T21:58:38Z</dc:date>
    </item>
    <item>
      <title>&gt;&gt;... I was not able to</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Static-vs-dynamic-vector-input/m-p/932072#M13814</link>
      <description>&amp;gt;&amp;gt;... I was not able to reproduce the problem...

There are differences in initializations and take a look:

&lt;STRONG&gt;[ This is how Vincent initializes ]&lt;/STRONG&gt;
...
double *c = ( double * )malloc( dVandSize * dVandSize * sizeof ( double ) );
...
ipiv = ( MKL_INT * )malloc( dVandSize * sizeof ( MKL_INT ) );
...
double *workspace = &lt;STRONG&gt;new&lt;/STRONG&gt; double [ dVandSize &lt;STRONG&gt;* sizeof( double )&lt;/STRONG&gt; ]; // &lt;STRONG&gt;Note: &lt;/STRONG&gt; C++ operator &lt;STRONG&gt;new&lt;/STRONG&gt; is used
...

&lt;STRONG&gt;[ This is how Zhang initializes ]&lt;/STRONG&gt;
...
double *c = ( double * )malloc( dVandSize * dVandSize * sizeof( double ) );
...
ipiv = ( MKL_INT * )malloc( dVandSize * sizeof( MKL_INT ) );
...
double *workspace = ( double * )&lt;STRONG&gt;malloc&lt;/STRONG&gt;( dVandSize * sizeof( double ) ); // &lt;STRONG&gt;Note: &lt;/STRONG&gt; CRT-function &lt;STRONG&gt;malloc&lt;/STRONG&gt; is used
...

&lt;STRONG&gt;Vincent, my question is&lt;/STRONG&gt; Why do you need &lt;STRONG&gt;sizeof( double )&lt;/STRONG&gt; in &lt;STRONG&gt;new&lt;/STRONG&gt; double [ dVandSize * &lt;STRONG&gt;sizeof( double )&lt;/STRONG&gt; ]?</description>
      <pubDate>Wed, 17 Apr 2013 04:12:03 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Static-vs-dynamic-vector-input/m-p/932072#M13814</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2013-04-17T04:12:03Z</dc:date>
    </item>
    <item>
      <title>Results are absolutely</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Static-vs-dynamic-vector-input/m-p/932073#M13815</link>
      <description>Results are absolutely identical and please take a look:

&lt;STRONG&gt;[ Output when CRT-function 'malloc' is used ]&lt;/STRONG&gt;

Intel(R) Math Kernel Library Version 10.3.12 Product Build 20120831 for 32-bit applications
Major version         : 10
Minor version         : 3
Update version        : 12
Product status        : Product
Build                 : 20120831

 2.962044 -1.945165  0.176090  0.226115 -0.074739  0.002508  0.048719 -0.008698 -0.023452  0.007123
-1.945165  1.673040 -0.089525 -0.313017  0.066992  0.008686 -0.063396  0.020223  0.028665 -0.008833
 0.176090 -0.089525 -0.177685  0.130976 -0.004348 -0.005037  0.024478 -0.011186 -0.010619  0.003654
 0.226115 -0.313017  0.130976 -0.007564 -0.002099 -0.000986  0.002504  0.003507 -0.000518 -0.002568
-0.074739  0.066992 -0.004348 -0.002099  0.001317 -0.002620 -0.003569 -0.002405  0.001578  0.001495
 0.002508  0.008686 -0.005037 -0.000986 -0.002620  0.000504  0.002958 -0.000118 -0.001566  0.000534
 0.048719 -0.063396  0.024478  0.002504 -0.003569  0.002958 -0.003076  0.001410  0.000353 -0.000477
-0.008698  0.020223 -0.011186  0.003507 -0.002405 -0.000118  0.001410 -0.001292  0.000163  0.000311
-0.023452  0.028665 -0.010619 -0.000518  0.001578 -0.001566  0.000353  0.000163  0.000035  0.000025
 0.007123 -0.008833  0.003654 -0.002568  0.001495  0.000534 -0.000477  0.000311  0.000025 -0.000186

&lt;STRONG&gt;[ Output when C++ operator 'new' is used ]&lt;/STRONG&gt;

Intel(R) Math Kernel Library Version 10.3.12 Product Build 20120831 for 32-bit applications
Major version         : 10
Minor version         : 3
Update version        : 12
Product status        : Product
Build                 : 20120831

 2.962044 -1.945165  0.176090  0.226115 -0.074739  0.002508  0.048719 -0.008698 -0.023452  0.007123
-1.945165  1.673040 -0.089525 -0.313017  0.066992  0.008686 -0.063396  0.020223  0.028665 -0.008833
 0.176090 -0.089525 -0.177685  0.130976 -0.004348 -0.005037  0.024478 -0.011186 -0.010619  0.003654
 0.226115 -0.313017  0.130976 -0.007564 -0.002099 -0.000986  0.002504  0.003507 -0.000518 -0.002568
-0.074739  0.066992 -0.004348 -0.002099  0.001317 -0.002620 -0.003569 -0.002405  0.001578  0.001495
 0.002508  0.008686 -0.005037 -0.000986 -0.002620  0.000504  0.002958 -0.000118 -0.001566  0.000534
 0.048719 -0.063396  0.024478  0.002504 -0.003569  0.002958 -0.003076  0.001410  0.000353 -0.000477
-0.008698  0.020223 -0.011186  0.003507 -0.002405 -0.000118  0.001410 -0.001292  0.000163  0.000311
-0.023452  0.028665 -0.010619 -0.000518  0.001578 -0.001566  0.000353  0.000163  0.000035  0.000025
 0.007123 -0.008833  0.003654 -0.002568  0.001495  0.000534 -0.000477  0.000311  0.000025 -0.000186</description>
      <pubDate>Wed, 17 Apr 2013 19:29:20 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Static-vs-dynamic-vector-input/m-p/932073#M13815</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2013-04-17T19:29:20Z</dc:date>
    </item>
    <item>
      <title>// Sub-Test 1 - Gets MKL</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Static-vs-dynamic-vector-input/m-p/932074#M13816</link>
      <description>// Sub-Test 1 - Gets MKL version
	{
	///*
		MKLVersion Ver = { 0x0 };
		int iLenData = 256;
		char szVerData[256] = { 0x0 };

		MKL_Get_Version_String( szVerData, iLenData );
		CrtPrintfA( "\n%s\n", szVerData );

		MKL_Get_Version( &amp;amp;Ver );
		printf( "Major version         : %d\n", Ver.MajorVersion );
		printf( "Minor version         : %d\n", Ver.MinorVersion );
		printf( "Update version        : %d\n", Ver.UpdateVersion );
		printf( "Product status        : %s\n", Ver.ProductStatus );
		printf( "Build                 : %s\n", Ver.Build );

		printf( "\n" );
	//*/
	}

	// Sub-Test 2 - Test for dgetrf and dgetri functions
	{
	///*
		double data[] =
		{
			+4.00e+000,  +1.50e+001 , +4.00e+001 , +8.50e+001 , +1.56e+002 , +2.59e+002,  +4.00e+002 , +5.85e+002 , +8.20e+002,  +1.11e+003,
			+1.50e+001,  +8.50e+001,  +2.59e+002 , +5.85e+002 , +1.11e+003 , +1.89e+003 , +2.96e+003 , +4.37e+003 , +6.18e+003 , +8.42e+003,
			+4.00e+001,  +2.59e+002 , +8.20e+002 , +1.89e+003 , +3.62e+003 , +6.18e+003 , +9.72e+003 , +1.44e+004 , +2.04e+004 , +2.79e+004,
			+8.50e+001,  +5.85e+002 , +1.89e+003 , +4.37e+003 , +8.42e+003 , +1.44e+004 , +2.28e+004 , +3.38e+004 , +4.80e+004 , +6.56e+004,
			+1.56e+002 , +1.11e+003 , +3.62e+003 , +8.42e+003 , +1.63e+004 , +2.79e+004 , +4.41e+004,  +6.56e+004 , +9.32e+004,  +1.28e+005,
			+2.59e+002,  +1.89e+003,  +6.18e+003 , +1.44e+004  ,+2.79e+004  ,+4.80e+004 , +7.59e+004,  +1.13e+005 , +1.60e+005 , +2.20e+005,
			+4.00e+002 , +2.96e+003 , +9.72e+003 , +2.28e+004 , +4.41e+004 , +7.59e+004 , +1.20e+005 , +1.79e+005 , +2.54e+005 , +3.48e+005,
			+5.85e+002 , +4.37e+003 , +1.44e+004 , +3.38e+004 , +6.56e+004 , +1.13e+005 , +1.79e+005 , +2.66e+005 , +3.79e+005 , +5.18e+005,
			+8.20e+002 , +6.18e+003 , +2.04e+004 , +4.80e+004 , +9.32e+004 , +1.60e+005 , +2.54e+005 , +3.79e+005 , +5.38e+005 , +7.37e+005,
			+1.11e+003,  +8.42e+003 , +2.79e+004  ,+6.56e+004  ,+1.28e+005  ,+2.20e+005 , +3.48e+005 , +5.18e+005 , +7.37e+005 , +1.01e+006
		};

		lapack_int info = 0;
		MKL_INT *ipiv = NULL;
		MKL_INT dVandSize = 10;
		MKL_INT i;

	//	double *c = data;
	//	double *c = ( double * )malloc( dVandSize * dVandSize * sizeof( double ) );
		double *c = ( double * )new double[ dVandSize * dVandSize ];
		for( i = 0; i &amp;lt; dVandSize * dVandSize; i++ )
		{
			c&lt;I&gt; = data&lt;I&gt;;
		}

	//	ipiv = ( MKL_INT * )malloc( dVandSize * sizeof( MKL_INT ) );
		ipiv = ( MKL_INT * )new MKL_INT[ dVandSize ];

		dgetrf( &amp;amp;dVandSize, &amp;amp;dVandSize, c, &amp;amp;dVandSize, ipiv, &amp;amp;info );

		if( info != 0 )
		{
			printf( "DGETRF INFO: %d\n", info );
			exit( 1 );
		}

	//	double *workspace = ( double * )malloc( dVandSize * sizeof( double ) );
		double *workspace = ( double * )new double[ dVandSize ];

		dgetri( &amp;amp;dVandSize, c, &amp;amp;dVandSize, ipiv, workspace, &amp;amp;dVandSize, &amp;amp;info );
		if( info != 0 )
		{
			printf( "DGETRF INFO: %d\n", info );
			exit( 1 );
		}

		for( i = 0; i &amp;lt; dVandSize * dVandSize; i++ )
		{
			printf( "% lf ", c&lt;I&gt; );
			if( ( (i+1) % 10 ) == 0 )
				printf( "\n" );
		}

	//	if( workspace != NULL )
	//		free( workspace );
	//	if( ipiv != NULL )
	//		free( ipiv );
	//	if( c != NULL )
	//		free( c );

		if( workspace != NULL )
			delete workspace;
		if( ipiv != NULL )
			delete ipiv;
		if( c != NULL )
			delete c;

		printf( "\n" );
	//*/
	}&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;</description>
      <pubDate>Wed, 17 Apr 2013 19:30:14 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Static-vs-dynamic-vector-input/m-p/932074#M13816</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2013-04-17T19:30:14Z</dc:date>
    </item>
    <item>
      <title>But all you did was take a</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Static-vs-dynamic-vector-input/m-p/932075#M13817</link>
      <description>&lt;P&gt;But all you did was take a static vector and copy it to a dynamic vector, this works for me too.&amp;nbsp; But how about using&lt;/P&gt;
&lt;P&gt;cblas_dgemm(CblasRowMajor, CblasNoTrans, CblasNoTrans, dVandSize,ldB, iStrideB, beta , b, iStrideB, a, ldA, alpha, c, ldC); as indicated in my last post, take this c vector and put it into dgetrf() dgetri( ).&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;
&lt;P&gt;Vince&lt;/P&gt;</description>
      <pubDate>Wed, 17 Apr 2013 19:36:38 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Static-vs-dynamic-vector-input/m-p/932075#M13817</guid>
      <dc:creator>vincent_ferri</dc:creator>
      <dc:date>2013-04-17T19:36:38Z</dc:date>
    </item>
    <item>
      <title>Vince,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Static-vs-dynamic-vector-input/m-p/932076#M13818</link>
      <description>&lt;P&gt;Vince,&lt;/P&gt;
&lt;P&gt;What do you mean by "c vector"? How is it different than a staitc vector and a dynamic vector? And what does cblas_dgemm have to do with this? Instead of having all of us guessing what you want, it would be much easier to post your whole test code here, please?&lt;/P&gt;
&lt;P&gt;By the way, have you got a chance to look at the issue pointed out by other replies on this post? Why is 'dVandSize' a double floating point variable? If you follow DGETRF and DGETRI signatures, this argument should be an integer. Have you tried to make it an integer? Does this solve the problem?&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 17 Apr 2013 19:56:09 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Static-vs-dynamic-vector-input/m-p/932076#M13818</guid>
      <dc:creator>Zhang_Z_Intel</dc:creator>
      <dc:date>2013-04-17T19:56:09Z</dc:date>
    </item>
    <item>
      <title>Hi</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Static-vs-dynamic-vector-input/m-p/932077#M13819</link>
      <description>&lt;P&gt;Hi&lt;/P&gt;
&lt;P&gt;the c vector is the dyamic vector that you created, and cblas_dgemm () uses the a vector and b vector to produce the c vector and that is what you use for&amp;nbsp; LU. I have given the 'a' and 'b' vectors in the file c_vector.txt&lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;
&lt;P&gt;Vince&lt;/P&gt;</description>
      <pubDate>Wed, 17 Apr 2013 19:59:26 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Static-vs-dynamic-vector-input/m-p/932077#M13819</guid>
      <dc:creator>vincent_ferri</dc:creator>
      <dc:date>2013-04-17T19:59:26Z</dc:date>
    </item>
    <item>
      <title>I believe you certainly have</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Static-vs-dynamic-vector-input/m-p/932078#M13820</link>
      <description>&lt;P&gt;I believe you certainly have taken care of this, and it's probably not related to your original question. But just in case ..., the matrix order in cblas_dgemm can be either row major or column major, but dgetrf and dgetri assume column major matrix order as they are FORTRAN routines.&lt;/P&gt;
&lt;P&gt;I'll take another look at it and let you know.&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 17 Apr 2013 20:31:59 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Static-vs-dynamic-vector-input/m-p/932078#M13820</guid>
      <dc:creator>Zhang_Z_Intel</dc:creator>
      <dc:date>2013-04-17T20:31:59Z</dc:date>
    </item>
    <item>
      <title>int iVandSize = 10;</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Static-vs-dynamic-vector-input/m-p/932079#M13821</link>
      <description>&lt;P&gt;int iVandSize = 10;&lt;/P&gt;
&lt;P&gt;double&amp;nbsp; alpha = 1.0;&lt;BR /&gt;&amp;nbsp;double&amp;nbsp; beta = 1.0;&lt;BR /&gt;&amp;nbsp;int ldA = iVandSize; &lt;BR /&gt;&amp;nbsp;int ldB = iVandSize;&lt;BR /&gt;&amp;nbsp;int ldC = iVandSize;&lt;BR /&gt;&amp;nbsp;int iStrideB = 4;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;//cblas_dgemm(CblasRowMajor, CblasNoTrans, CblasNoTrans, iVandSize,ldB, iStrideB, beta , b, iStrideB, a, ldA, alpha, c, ldC);&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Thansk&lt;/P&gt;</description>
      <pubDate>Wed, 17 Apr 2013 20:34:51 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Static-vs-dynamic-vector-input/m-p/932079#M13821</guid>
      <dc:creator>vincent_ferri</dc:creator>
      <dc:date>2013-04-17T20:34:51Z</dc:date>
    </item>
    <item>
      <title>&gt;&gt;...Instead of having all of</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Static-vs-dynamic-vector-input/m-p/932080#M13822</link>
      <description>&amp;gt;&amp;gt;...Instead of having all of us guessing what you want, it would be much easier to post your whole test code here, please?..

Vincent,

We're trying to help you and &lt;STRONG&gt;please provide&lt;/STRONG&gt; as more as possible technical details, like complete codes ( not snippets ), MKL version / update, platform ( OS ), C/C++ compiler, command line options, IDE, etc. OK?

Since I've already created my own test case I'll do another verification with the latest version of MKL ( 11 ) on a 64-bit Windows platform.</description>
      <pubDate>Wed, 17 Apr 2013 23:20:06 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Static-vs-dynamic-vector-input/m-p/932080#M13822</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2013-04-17T23:20:06Z</dc:date>
    </item>
    <item>
      <title>Application - IccTestApp -</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Static-vs-dynamic-vector-input/m-p/932081#M13823</link>
      <description>Application - IccTestApp - WIN32_ICC - Debug
Tests: Start
&amp;gt; Test1153 Start &amp;lt;

&lt;STRONG&gt;Intel(R) Math Kernel Library Version 11.0.2 Product Build 20130123 for 32-bit applications&lt;/STRONG&gt;
Major version         : 11
Minor version         : 0
Update version        : 2
Product status        : Product
Build                 : 20130123
Processor optimization: Intel(R) Advanced Vector Extensions (Intel(R) AVX) Enabled Processor

 2.962044 -1.945165  0.176090  0.226115 -0.074739  0.002508  0.048719 -0.008698 -0.023452  0.007123
-1.945165  1.673040 -0.089525 -0.313017  0.066992  0.008686 -0.063396  0.020223  0.028665 -0.008833
 0.176090 -0.089525 -0.177685  0.130976 -0.004348 -0.005037  0.024478 -0.011186 -0.010619  0.003654
 0.226115 -0.313017  0.130976 -0.007564 -0.002099 -0.000986  0.002504  0.003507 -0.000518 -0.002568
-0.074739  0.066992 -0.004348 -0.002099  0.001317 -0.002620 -0.003569 -0.002405  0.001578  0.001495
 0.002508  0.008686 -0.005037 -0.000986 -0.002620  0.000504  0.002958 -0.000118 -0.001566  0.000534
 0.048719 -0.063396  0.024478  0.002504 -0.003569  0.002958 -0.003076  0.001410  0.000353 -0.000477
-0.008698  0.020223 -0.011186  0.003507 -0.002405 -0.000118  0.001410 -0.001292  0.000163  0.000311
-0.023452  0.028665 -0.010619 -0.000518  0.001578 -0.001566  0.000353  0.000163  0.000035  0.000025
 0.007123 -0.008833  0.003654 -0.002568  0.001495  0.000534 -0.000477  0.000311  0.000025 -0.000186

&amp;gt; Test1153 End &amp;lt;
Tests: Completed

//

Application - IccTestApp - WIN32_ICC - Release
Tests: Start
&amp;gt; Test1153 Start &amp;lt;

&lt;STRONG&gt;Intel(R) Math Kernel Library Version 11.0.2 Product Build 20130123 for 32-bit applications&lt;/STRONG&gt;
Major version         : 11
Minor version         : 0
Update version        : 2
Product status        : Product
Build                 : 20130123
Processor optimization: Intel(R) Advanced Vector Extensions (Intel(R) AVX) Enabled Processor

 2.962044 -1.945165  0.176090  0.226115 -0.074739  0.002508  0.048719 -0.008698 -0.023452  0.007123
-1.945165  1.673040 -0.089525 -0.313017  0.066992  0.008686 -0.063396  0.020223  0.028665 -0.008833
 0.176090 -0.089525 -0.177685  0.130976 -0.004348 -0.005037  0.024478 -0.011186 -0.010619  0.003654
 0.226115 -0.313017  0.130976 -0.007564 -0.002099 -0.000986  0.002504  0.003507 -0.000518 -0.002568
-0.074739  0.066992 -0.004348 -0.002099  0.001317 -0.002620 -0.003569 -0.002405  0.001578  0.001495
 0.002508  0.008686 -0.005037 -0.000986 -0.002620  0.000504  0.002958 -0.000118 -0.001566  0.000534
 0.048719 -0.063396  0.024478  0.002504 -0.003569  0.002958 -0.003076  0.001410  0.000353 -0.000477
-0.008698  0.020223 -0.011186  0.003507 -0.002405 -0.000118  0.001410 -0.001292  0.000163  0.000311
-0.023452  0.028665 -0.010619 -0.000518  0.001578 -0.001566  0.000353  0.000163  0.000035  0.000025
 0.007123 -0.008833  0.003654 -0.002568  0.001495  0.000534 -0.000477  0.000311  0.000025 -0.000186

&amp;gt; Test1153 End &amp;lt;
Tests: Completed

//

Application - IccTestApp - WIN32_ICC - Debug
Tests: Start
&amp;gt; Test1153 Start &amp;lt;

&lt;STRONG&gt;Intel(R) Math Kernel Library Version 11.0.2 Product Build 20130124 for Intel(R) 64 architecture applications&lt;/STRONG&gt;
Major version         : 11
Minor version         : 0
Update version        : 2
Product status        : Product
Build                 : 20130124
Processor optimization: Intel(R) Advanced Vector Extensions (Intel(R) AVX) Enabled Processor

 2.962044 -1.945165  0.176090  0.226115 -0.074739  0.002508  0.048719 -0.008698 -0.023452  0.007123
-1.945165  1.673040 -0.089525 -0.313017  0.066992  0.008686 -0.063396  0.020223  0.028665 -0.008833
 0.176090 -0.089525 -0.177685  0.130976 -0.004348 -0.005037  0.024478 -0.011186 -0.010619  0.003654
 0.226115 -0.313017  0.130976 -0.007564 -0.002099 -0.000986  0.002504  0.003507 -0.000518 -0.002568
-0.074739  0.066992 -0.004348 -0.002099  0.001317 -0.002620 -0.003569 -0.002405  0.001578  0.001495
 0.002508  0.008686 -0.005037 -0.000986 -0.002620  0.000504  0.002958 -0.000118 -0.001566  0.000534
 0.048719 -0.063396  0.024478  0.002504 -0.003569  0.002958 -0.003076  0.001410  0.000353 -0.000477
-0.008698  0.020223 -0.011186  0.003507 -0.002405 -0.000118  0.001410 -0.001292  0.000163  0.000311
-0.023452  0.028665 -0.010619 -0.000518  0.001578 -0.001566  0.000353  0.000163  0.000035  0.000025
 0.007123 -0.008833  0.003654 -0.002568  0.001495  0.000534 -0.000477  0.000311  0.000025 -0.000186

&amp;gt; Test1153 End &amp;lt;
Tests: Completed

//

Application - IccTestApp - WIN32_ICC - Release
Tests: Start
&amp;gt; Test1153 Start &amp;lt;

&lt;STRONG&gt;Intel(R) Math Kernel Library Version 11.0.2 Product Build 20130124 for Intel(R) 64 architecture applications&lt;/STRONG&gt;
Major version         : 11
Minor version         : 0
Update version        : 2
Product status        : Product
Build                 : 20130124
Processor optimization: Intel(R) Advanced Vector Extensions (Intel(R) AVX) Enabled Processor

 2.962044 -1.945165  0.176090  0.226115 -0.074739  0.002508  0.048719 -0.008698 -0.023452  0.007123
-1.945165  1.673040 -0.089525 -0.313017  0.066992  0.008686 -0.063396  0.020223  0.028665 -0.008833
 0.176090 -0.089525 -0.177685  0.130976 -0.004348 -0.005037  0.024478 -0.011186 -0.010619  0.003654
 0.226115 -0.313017  0.130976 -0.007564 -0.002099 -0.000986  0.002504  0.003507 -0.000518 -0.002568
-0.074739  0.066992 -0.004348 -0.002099  0.001317 -0.002620 -0.003569 -0.002405  0.001578  0.001495
 0.002508  0.008686 -0.005037 -0.000986 -0.002620  0.000504  0.002958 -0.000118 -0.001566  0.000534
 0.048719 -0.063396  0.024478  0.002504 -0.003569  0.002958 -0.003076  0.001410  0.000353 -0.000477
-0.008698  0.020223 -0.011186  0.003507 -0.002405 -0.000118  0.001410 -0.001292  0.000163  0.000311
-0.023452  0.028665 -0.010619 -0.000518  0.001578 -0.001566  0.000353  0.000163  0.000035  0.000025
 0.007123 -0.008833  0.003654 -0.002568  0.001495  0.000534 -0.000477  0.000311  0.000025 -0.000186

&amp;gt; Test1153 End &amp;lt;
Tests: Completed</description>
      <pubDate>Thu, 18 Apr 2013 05:37:01 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Static-vs-dynamic-vector-input/m-p/932081#M13823</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2013-04-18T05:37:01Z</dc:date>
    </item>
    <item>
      <title>Vince,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Static-vs-dynamic-vector-input/m-p/932082#M13824</link>
      <description>&lt;P&gt;Vince,&lt;/P&gt;
&lt;P&gt;The matrix produced by cblas_dgemm is very different than the original static matrix you provided. After cblas_dgemm, if you compare the result against the orignal static matrix, the root mean square error is more than 1.5e+02. Therefore, the inputs to the dgetrf call and the subsequent dgetri call are different, and different results are expected.&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 18 Apr 2013 06:21:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Static-vs-dynamic-vector-input/m-p/932082#M13824</guid>
      <dc:creator>Zhang_Z_Intel</dc:creator>
      <dc:date>2013-04-18T06:21:00Z</dc:date>
    </item>
    <item>
      <title>Hi,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Static-vs-dynamic-vector-input/m-p/932083#M13825</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;When I use dgemm with vector 'a' and 'b' provided from the file you do not get 'c' with the same data as provided, that makes no sense becasue 'c' is a copy and paste from that function, the order of arguements are;&lt;/P&gt;
&lt;P&gt;cblas_dgemm(CblasRowMajor, CblasNoTrans, CblasNoTrans, iVandSize,ldB, iStrideB, beta , b, iStrideB, a, ldA, alpha, c, ldC);&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Regards&lt;/P&gt;</description>
      <pubDate>Thu, 18 Apr 2013 13:34:43 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Static-vs-dynamic-vector-input/m-p/932083#M13825</guid>
      <dc:creator>vincent_ferri</dc:creator>
      <dc:date>2013-04-18T13:34:43Z</dc:date>
    </item>
    <item>
      <title>Quote:vincent.ferri wrote:</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Static-vs-dynamic-vector-input/m-p/932084#M13826</link>
      <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;vincent.ferri wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;When I use dgemm with vector 'a' and 'b' provided from the file you do not get 'c' with the same data as provided,&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;
&lt;P&gt;This is exactly what I was talking about. Multiplying 'a' and 'b' do not produce the same 'c'. It's not cblas_dgemm problem. I think the call to cblas_dgemm is correct. The order of arguments is correct. The problem is 'a' and 'b'. You need to check why your 'a' and 'b' do not produce the 'c' you expect. &lt;/P&gt;</description>
      <pubDate>Thu, 18 Apr 2013 14:27:25 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Static-vs-dynamic-vector-input/m-p/932084#M13826</guid>
      <dc:creator>Zhang_Z_Intel</dc:creator>
      <dc:date>2013-04-18T14:27:25Z</dc:date>
    </item>
    <item>
      <title>Hi,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Static-vs-dynamic-vector-input/m-p/932085#M13827</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;Do you get a 10 X 10 matrix or 4 X 4 it should be 10 X 10 since the product is b [10X4] * a[4 X 10].&lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;</description>
      <pubDate>Thu, 18 Apr 2013 15:16:37 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Static-vs-dynamic-vector-input/m-p/932085#M13827</guid>
      <dc:creator>vincent_ferri</dc:creator>
      <dc:date>2013-04-18T15:16:37Z</dc:date>
    </item>
    <item>
      <title>I copy/paste exactly the</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Static-vs-dynamic-vector-input/m-p/932086#M13828</link>
      <description>&lt;P&gt;I copy/paste exactly the cblas_dgemm call you gave in your post. The result is a 10x10 matrix. But it is different than your reference matrix (the one you gave in your earlier post).&lt;/P&gt;</description>
      <pubDate>Thu, 18 Apr 2013 17:25:39 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Static-vs-dynamic-vector-input/m-p/932086#M13828</guid>
      <dc:creator>Zhang_Z_Intel</dc:creator>
      <dc:date>2013-04-18T17:25:39Z</dc:date>
    </item>
    <item>
      <title>Hi,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Static-vs-dynamic-vector-input/m-p/932087#M13829</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;I apoligize for going back and forth, but with the given c_vector file that I attached with vector 'a' and 'b' if you multiply them you do not get vetor 'c' the one in the file.&amp;nbsp; In Matlab b * a = c and cblas_dgemm also gives me the same 'c'. Here is my snippet;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;double&amp;nbsp; alpha = 1.0;&lt;BR /&gt;&amp;nbsp;double&amp;nbsp; beta = 1.0;&lt;BR /&gt;&amp;nbsp;int iVandSize = 10;&lt;/P&gt;
&lt;P&gt;int ldA = iVandSize; &lt;BR /&gt;&amp;nbsp;int ldB = iVandSize;&lt;BR /&gt;&amp;nbsp;int ldC = iVandSize;&lt;BR /&gt;&amp;nbsp;int iStrideB = 4;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;//C = aphla*A*B + beta*C&lt;BR /&gt;&amp;nbsp;cblas_dgemm(CblasRowMajor, CblasNoTrans, CblasNoTrans, iVandSize,ldB, iStrideB, beta , b, iStrideB, a, ldA, alpha, c, ldC);&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;
&lt;P&gt;P.S is it possible to show me your out put from this call.&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 18 Apr 2013 17:42:25 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Static-vs-dynamic-vector-input/m-p/932087#M13829</guid>
      <dc:creator>vincent_ferri</dc:creator>
      <dc:date>2013-04-18T17:42:25Z</dc:date>
    </item>
  </channel>
</rss>

