<?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 Please provide the actual in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/different-results-for-LAPACKE-dgels-between-MKL-and-LAPACKE/m-p/1029510#M20062</link>
    <description>&lt;P&gt;Please provide the actual source code. You have probably listed most of the code above, but we need the complete code. For example, I do not know what is in&amp;nbsp;&lt;SPAN style="font-size: 12px; line-height: 12px;"&gt;print_matrix_col().&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 12px; line-height: 12px;"&gt;I think that your made-up matrix A is rank-deficient, so there is no unique "correct" solution.&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Wed, 16 Sep 2015 21:49:00 GMT</pubDate>
    <dc:creator>mecej4</dc:creator>
    <dc:date>2015-09-16T21:49:00Z</dc:date>
    <item>
      <title>different results for LAPACKE_dgels between MKL and LAPACKE</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/different-results-for-LAPACKE-dgels-between-MKL-and-LAPACKE/m-p/1029507#M20059</link>
      <description>&lt;P&gt;Hi guys,&lt;/P&gt;

&lt;P&gt;I wrote some code to do dgels originally using LAPACKE. I also tried to use MKL to do the dgels. From my understanding, with the exact same code base but just recompile/relink with MKL library would just do the job. Or &amp;nbsp;LD_PRELOAD=libmkl_rt.so can also work upon the test program built with LAPACKE. the programs run OK, but the final results are different.&lt;/P&gt;

&lt;P&gt;Any one can tell me why?&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Below is the the test program source code as well as the MakeFile lines.&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;#include &amp;lt;stdio.h&amp;gt;&lt;BR /&gt;
	#include &amp;lt;stdlib.h&amp;gt;&lt;BR /&gt;
	#include &amp;lt;math.h&amp;gt;&lt;BR /&gt;
	#include &amp;lt;time.h&amp;gt;&lt;BR /&gt;
	#include &amp;lt;errno.h&amp;gt;&lt;BR /&gt;
	#include &amp;lt;stdbool.h&amp;gt;&lt;BR /&gt;
	// Use LAPACKE&amp;nbsp;&lt;BR /&gt;
	#include &amp;lt;lapacke/lapacke.h&amp;gt;&lt;/P&gt;

&lt;P&gt;#ifndef MAX&lt;BR /&gt;
	#define MAX(a,b) ((a) &amp;gt; (b)? a: b)&lt;BR /&gt;
	#endif&lt;BR /&gt;
	#ifndef MIN&lt;BR /&gt;
	#define MIN(a,b) ((a) &amp;lt; (b)? a: b)&lt;BR /&gt;
	#endif&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&lt;BR /&gt;
	void dgels_arguments_print(int matrix_order, char trans, int m, int n, int nrhs, int lda, int ldb, FILE *f)&lt;BR /&gt;
	{&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; fprintf(f, "Dgels arguments\n");&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (matrix_order == 101)&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; fprintf(f, "Matrix order &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;LAPACK_ROW_MAJOR\n");&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; else if(matrix_order == 102)&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; fprintf(f, "Matrix order &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;LAPACK_COL_MAJOR\n");&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; else&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; fprintf(f, "Matrix order &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Unknown\n");&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; fprintf(f, "Transformation &amp;nbsp; &amp;nbsp; &amp;nbsp;%c\n", trans);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; fprintf(f, "Matrix A &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;%d by %d\n", m, n);&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; fprintf(f, "Matrix B &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;%d by %d\n", m, nrhs);&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; fprintf(f, "lda &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; %d\n", lda);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; fprintf(f, "ldb &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; %d\n", ldb);&lt;/P&gt;

&lt;P&gt;}&lt;/P&gt;

&lt;P&gt;//&lt;BR /&gt;
	// Row major print&lt;BR /&gt;
	void print_matrix_row(double *array, int row, int column)&lt;BR /&gt;
	{&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i=0; i&amp;lt;row; i++)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for (int j=0; j&amp;lt;column; j++)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printf("%1f\t", array[i*column+j]);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printf("\n");&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;/P&gt;

&lt;P&gt;}&lt;/P&gt;

&lt;P&gt;//&lt;BR /&gt;
	// Column major print&lt;BR /&gt;
	void print_matrix_col(double *array, int row, int column)&lt;BR /&gt;
	{&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i=0; i&amp;lt;row; i++)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for (int j=0; j&amp;lt;column; j++)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printf("%1f\t", array[i+row*j]);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printf("\n");&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	}&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;int main (int argc, char **argv)&lt;BR /&gt;
	{&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; printf("Test utility to do a simple LAPACK operation. A double-precision dense general\n");&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; printf("Test case: LAPACKE_DGELS\n");&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; // do overesitmated linear system solve always, so m&amp;gt;=n&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; lapack_int m = 10;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; lapack_int n = 5;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; lapack_int nrhs = 5;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; lapack_int lda, ldb, returninfo;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; char trans = 'N';//'T'&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; int matrix_order = LAPACK_COL_MAJOR;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; bool matrix_print = false;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; printf("%d %d %d\n",m,n,nrhs);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; matrix_print = (m*n&amp;lt;100)? true: false;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; // row major: lda = n, ldb = hrhs&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; // column major, lda = max(1,m), ldb = max(1,m,n)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; // use column major by default &amp;nbsp;b/c the lapack/magma_lapack use column major to reduce complexity&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; lda = MAX(1, m);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; ldb = MAX(lda, n);&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; dgels_arguments_print(matrix_order, trans, &amp;nbsp;m, n, nrhs, lda, ldb, stderr);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; fprintf(stderr, "Start allocating memory for matrix\n");&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; // Allocate matrix a and b memory&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; double *A = NULL;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; double *B = NULL;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; A = (double *)malloc(lda * n * sizeof(double));&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; B = (double *)malloc(ldb * nrhs * sizeof(double));&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if ((A == NULL) || (B == NULL))&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fprintf(stderr, "Unable to allocate memory!\n");&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; free(A);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; free(B);&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;exit(1);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; // Fill matrix A and B with values&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; for (int i=0; i&amp;lt; lda*n; i++)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // just example data&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; A&lt;I&gt; = i+0.50;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; for (int i=0; i&amp;lt; ldb*nrhs; i++)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // just example data&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; B&lt;I&gt; = 2*i+0.10;&lt;/I&gt;&lt;/I&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (matrix_print)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fprintf(stderr, "Original B\n");&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print_matrix_col(B, ldb, nrhs);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; fprintf(stderr, "Start LAPACKE_DGELS operation\n"); &amp;nbsp; &amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; returninfo = LAPACKE_dgels(matrix_order, trans, m, n, nrhs, A, lda, B, ldb);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; fprintf(stderr, "Return value = %d\n", returninfo);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; if (matrix_print)&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fprintf(stderr, "Output results:\n");&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fprintf(stderr, "Overwritten B\n");&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print_matrix_col(B, ldb, nrhs);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fprintf(stderr, "\n");&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print_matrix_col(B, n, nrhs);&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;/P&gt;

&lt;P&gt;&amp;nbsp; &amp;nbsp; free(A); A = NULL;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; free(B); B = NULL;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; return 0;&lt;BR /&gt;
	}&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;=========================================================&lt;/P&gt;

&lt;P&gt;# Programs/binaries&lt;BR /&gt;
	CC = gcc&lt;BR /&gt;
	RM = rm -f&lt;/P&gt;

&lt;P&gt;# Compiler and linker flags&lt;BR /&gt;
	OUTPUTFLAGS = -o $@&lt;BR /&gt;
	WFLAGS = -Wall&lt;BR /&gt;
	OPTFLAGS = -O3&lt;BR /&gt;
	DEBUGFLAGS = -g -DDEBUG $(OPTFLAGS)&lt;BR /&gt;
	RELEASEFLAGS = -DNDEBUG $(OPTFLAGS)&lt;/P&gt;

&lt;P&gt;CFLAGS = -std=gnu99 $(WFLAGS)&lt;/P&gt;

&lt;P&gt;default: debug&lt;/P&gt;

&lt;P&gt;debug: simple_lapacke_netlib.o simple_lapacke_mkl.o&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;@echo Build cleaning is done.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&lt;BR /&gt;
	simple_lapacke_netlib.o: simple_lapacke.c&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;$(CC) $(CFLAGS) $(DEBUGFLAGS) -o $@ $^ -llapacke -llapack -lm -lrt&lt;/P&gt;

&lt;P&gt;simple_lapacke_mkl.o: simple_lapacke.c&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;$(CC) $(CFLAGS) $(DEBUGFLAGS) -o $@ $^ -L/opt/intel/mkl/lib/intel64 -lmkl_rt -lm -lrt&lt;/P&gt;

&lt;P&gt;&lt;BR /&gt;
	clean:&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;$(RM) *.o&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; &amp;nbsp;@echo Build cleaning is done.&lt;/P&gt;</description>
      <pubDate>Wed, 16 Sep 2015 19:52:33 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/different-results-for-LAPACKE-dgels-between-MKL-and-LAPACKE/m-p/1029507#M20059</guid>
      <dc:creator>Jim_Z_</dc:creator>
      <dc:date>2015-09-16T19:52:33Z</dc:date>
    </item>
    <item>
      <title>LapackE is part of MKL; thus,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/different-results-for-LAPACKE-dgels-between-MKL-and-LAPACKE/m-p/1029508#M20060</link>
      <description>&lt;P&gt;LapackE is part of MKL; thus, when you pose them as alternatives to choose from, you confuse some of your readers.&lt;/P&gt;

&lt;P&gt;I notice -llapacke -llapack in your link line, which suggests that you have a separate pair of libraries (apart from MKL), which came with your Linux distribution or were obtained by you in some other way. It would be useful to know where these originated and whether you built them from sources yourself.&lt;/P&gt;

&lt;P&gt;Furthermore, please state which version of MKL you used, which compiler you used, the target architecture and OS, etc., provide the two solutions that you obtained, and point out the one that you think is correct.&lt;/P&gt;</description>
      <pubDate>Wed, 16 Sep 2015 20:09:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/different-results-for-LAPACKE-dgels-between-MKL-and-LAPACKE/m-p/1029508#M20060</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2015-09-16T20:09:00Z</dc:date>
    </item>
    <item>
      <title>Sorry for the confusion.</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/different-results-for-LAPACKE-dgels-between-MKL-and-LAPACKE/m-p/1029509#M20061</link>
      <description>&lt;P&gt;Sorry for the confusion.&lt;/P&gt;

&lt;P&gt;What I am doing is comparing between Netlib's LAPACKE and MKL LAPACKE. So I build test programs with both libraries separately but using the same code base.&lt;/P&gt;

&lt;P&gt;I am using MKL 11.2 on CentOS.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;The results I got form using Netlib LAPACKE is :&lt;/P&gt;

&lt;P&gt;1.802063&amp;nbsp;&amp;nbsp; &amp;nbsp;-0.000000&amp;nbsp;&amp;nbsp; &amp;nbsp;2.305364&amp;nbsp;&amp;nbsp; &amp;nbsp;-0.000000&amp;nbsp;&amp;nbsp; &amp;nbsp;0.008896&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;
	0.268674&amp;nbsp;&amp;nbsp; &amp;nbsp;-0.000000&amp;nbsp;&amp;nbsp; &amp;nbsp;-1.253072&amp;nbsp;&amp;nbsp; &amp;nbsp;0.000000&amp;nbsp;&amp;nbsp; &amp;nbsp;1.538632&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;
	0.040839&amp;nbsp;&amp;nbsp; &amp;nbsp;-0.000000&amp;nbsp;&amp;nbsp; &amp;nbsp;0.072373&amp;nbsp;&amp;nbsp; &amp;nbsp;0.000000&amp;nbsp;&amp;nbsp; &amp;nbsp;-1.178290&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;
	-0.005953&amp;nbsp;&amp;nbsp; &amp;nbsp;0.000000&amp;nbsp;&amp;nbsp; &amp;nbsp;0.483017&amp;nbsp;&amp;nbsp; &amp;nbsp;-0.000000&amp;nbsp;&amp;nbsp; &amp;nbsp;1.795102&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;
	-0.105624&amp;nbsp;&amp;nbsp; &amp;nbsp;0.000000&amp;nbsp;&amp;nbsp; &amp;nbsp;0.392319&amp;nbsp;&amp;nbsp; &amp;nbsp;0.000000&amp;nbsp;&amp;nbsp; &amp;nbsp;-0.164339&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;from using MKL LAPCKE is:&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;2.451472&amp;nbsp;&amp;nbsp; &amp;nbsp;-0.000000&amp;nbsp;&amp;nbsp; &amp;nbsp;1.619455&amp;nbsp;&amp;nbsp; &amp;nbsp;-0.000000&amp;nbsp;&amp;nbsp; &amp;nbsp;-0.105903&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;
	-1.040338&amp;nbsp;&amp;nbsp; &amp;nbsp;-0.000000&amp;nbsp;&amp;nbsp; &amp;nbsp;-0.113735&amp;nbsp;&amp;nbsp; &amp;nbsp;-0.000000&amp;nbsp;&amp;nbsp; &amp;nbsp;2.267483&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;
	0.758202&amp;nbsp;&amp;nbsp; &amp;nbsp;-0.000000&amp;nbsp;&amp;nbsp; &amp;nbsp;-0.231106&amp;nbsp;&amp;nbsp; &amp;nbsp;0.000000&amp;nbsp;&amp;nbsp; &amp;nbsp;-1.329784&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;
	-0.111278&amp;nbsp;&amp;nbsp; &amp;nbsp;0.000000&amp;nbsp;&amp;nbsp; &amp;nbsp;0.415596&amp;nbsp;&amp;nbsp; &amp;nbsp;0.000000&amp;nbsp;&amp;nbsp; &amp;nbsp;0.370730&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;
	-0.058058&amp;nbsp;&amp;nbsp; &amp;nbsp;0.000000&amp;nbsp;&amp;nbsp; &amp;nbsp;0.309790&amp;nbsp;&amp;nbsp; &amp;nbsp;0.000000&amp;nbsp;&amp;nbsp; &amp;nbsp;0.797474&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;I am not 100% sure which one is correct. But I wrote some GPU code using CUDA library and it indicates the results from Netlib LAPACKE is correct.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;Hope these help.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;mecej4 wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;LapackE is part of MKL; thus, when you pose them as alternatives to choose from, you confuse some of your readers.&lt;/P&gt;

&lt;P&gt;I notice -llapacke -llapack in your link line, which suggests that you have a separate pair of libraries (apart from MKL), which came with your Linux distribution or were obtained by you in some other way. It would be useful to know where these originated and whether you built them from sources yourself.&lt;/P&gt;

&lt;P&gt;Furthermore, please state which version of MKL you used, which compiler you used, the target architecture and OS, etc., provide the two solutions that you obtained, and point out the one that you think is correct.&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 16 Sep 2015 20:51:24 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/different-results-for-LAPACKE-dgels-between-MKL-and-LAPACKE/m-p/1029509#M20061</guid>
      <dc:creator>Jim_Z_</dc:creator>
      <dc:date>2015-09-16T20:51:24Z</dc:date>
    </item>
    <item>
      <title>Please provide the actual</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/different-results-for-LAPACKE-dgels-between-MKL-and-LAPACKE/m-p/1029510#M20062</link>
      <description>&lt;P&gt;Please provide the actual source code. You have probably listed most of the code above, but we need the complete code. For example, I do not know what is in&amp;nbsp;&lt;SPAN style="font-size: 12px; line-height: 12px;"&gt;print_matrix_col().&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 12px; line-height: 12px;"&gt;I think that your made-up matrix A is rank-deficient, so there is no unique "correct" solution.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 16 Sep 2015 21:49:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/different-results-for-LAPACKE-dgels-between-MKL-and-LAPACKE/m-p/1029510#M20062</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2015-09-16T21:49:00Z</dc:date>
    </item>
    <item>
      <title>Thank you for the input. I</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/different-results-for-LAPACKE-dgels-between-MKL-and-LAPACKE/m-p/1029511#M20063</link>
      <description>&lt;P&gt;Thank you for the input. I put all the source code in the original post and you should be able to see it now.&lt;/P&gt;

&lt;P&gt;If you think my makeup matrix is rank deficient, what would be the recommended way/matrix to compare performance? I hate to use random numbers I need to verify the correctness of two libraries.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;mecej4 wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;Please provide the actual source code. You have probably listed most of the code above, but we need the complete code. For example, I do not know what is in&amp;nbsp;print_matrix_col().&amp;nbsp;&lt;/P&gt;

&lt;P&gt;I think that your made-up matrix A is rank-deficient, so there is no unique "correct" solution.&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 17 Sep 2015 19:15:15 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/different-results-for-LAPACKE-dgels-between-MKL-and-LAPACKE/m-p/1029511#M20063</guid>
      <dc:creator>Jim_Z_</dc:creator>
      <dc:date>2015-09-17T19:15:15Z</dc:date>
    </item>
    <item>
      <title>A large collection of</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/different-results-for-LAPACKE-dgels-between-MKL-and-LAPACKE/m-p/1029512#M20064</link>
      <description>&lt;P&gt;A large collection of matrices with various properties and various storage formats are available at&amp;nbsp;http://math.nist.gov/MatrixMarket/ . You can "shop" for matrix data there.&lt;/P&gt;</description>
      <pubDate>Thu, 17 Sep 2015 20:44:39 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/different-results-for-LAPACKE-dgels-between-MKL-and-LAPACKE/m-p/1029512#M20064</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2015-09-17T20:44:39Z</dc:date>
    </item>
  </channel>
</rss>

