<?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 anyways for me to download the standalone mkl versions before the year of 2019 ? in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/anyways-for-me-to-download-the-standalone-mkl-versions-before/m-p/1629174#M36391</link>
    <description>&lt;P&gt;Hi, I am using intel mkl 2024.2 now, and I found that the function "mkl_dcsrmultcsr" is no longer available.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;However, I am working on a old project (year 2019), which depends on "mkl_dcsrmultcsr" for sparse matrix multiplication. I wonder if there is anyways to download the standalone mkl library for me to build this old project?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am aware that 2024.2 allows me to do the multiplication with function "mkl_sparse_spmm", but this does not allow me to allocate memory for the result matrix manually. Thus, "mkl_dcsrmultcsr" is the only hope for me to achieve this goal in mkl.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;</description>
    <pubDate>Fri, 06 Sep 2024 05:45:51 GMT</pubDate>
    <dc:creator>huangwentao</dc:creator>
    <dc:date>2024-09-06T05:45:51Z</dc:date>
    <item>
      <title>anyways for me to download the standalone mkl versions before the year of 2019 ?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/anyways-for-me-to-download-the-standalone-mkl-versions-before/m-p/1629174#M36391</link>
      <description>&lt;P&gt;Hi, I am using intel mkl 2024.2 now, and I found that the function "mkl_dcsrmultcsr" is no longer available.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;However, I am working on a old project (year 2019), which depends on "mkl_dcsrmultcsr" for sparse matrix multiplication. I wonder if there is anyways to download the standalone mkl library for me to build this old project?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am aware that 2024.2 allows me to do the multiplication with function "mkl_sparse_spmm", but this does not allow me to allocate memory for the result matrix manually. Thus, "mkl_dcsrmultcsr" is the only hope for me to achieve this goal in mkl.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;</description>
      <pubDate>Fri, 06 Sep 2024 05:45:51 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/anyways-for-me-to-download-the-standalone-mkl-versions-before/m-p/1629174#M36391</guid>
      <dc:creator>huangwentao</dc:creator>
      <dc:date>2024-09-06T05:45:51Z</dc:date>
    </item>
    <item>
      <title>Re: anyways for me to download the standalone mkl versions before the year of 2019 ?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/anyways-for-me-to-download-the-standalone-mkl-versions-before/m-p/1629244#M36393</link>
      <description>&lt;P&gt;Hi &lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/153941"&gt;@huangwentao&lt;/a&gt;&amp;nbsp;,&lt;BR /&gt;&lt;BR /&gt;The &lt;SPAN&gt;mkl_?csrmultcsr&amp;nbsp;&lt;/SPAN&gt;APIs are marked as deprecated but they are still available in the 2024.2 version of the library and still documented in the Developer Reference:&lt;BR /&gt;Fortran:&amp;nbsp;&lt;A href="https://www.intel.com/content/www/us/en/docs/onemkl/developer-reference-fortran/2024-2/mkl-csrmultcsr.html" target="_blank"&gt;https://www.intel.com/content/www/us/en/docs/onemkl/developer-reference-fortran/2024-2/mkl-csrmultcsr.html&lt;/A&gt;&lt;BR /&gt;C:&amp;nbsp;&lt;A href="https://www.intel.com/content/www/us/en/docs/onemkl/developer-reference-c/2024-2/mkl-csrmultcsr.html" target="_blank"&gt;https://www.intel.com/content/www/us/en/docs/onemkl/developer-reference-c/2024-2/mkl-csrmultcsr.html&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;Did you try to link and run your project with oneMKL 2024.2? Please let us know if you encounter any issue in doing so.&lt;BR /&gt;&lt;BR /&gt;Best,&lt;BR /&gt;Nicolas&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 06 Sep 2024 08:03:30 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/anyways-for-me-to-download-the-standalone-mkl-versions-before/m-p/1629244#M36393</guid>
      <dc:creator>noffermans</dc:creator>
      <dc:date>2024-09-06T08:03:30Z</dc:date>
    </item>
    <item>
      <title>Re: anyways for me to download the standalone mkl versions before the year of 2019 ?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/anyways-for-me-to-download-the-standalone-mkl-versions-before/m-p/1629247#M36394</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/281315"&gt;@noffermans&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;yes, already try to compile the project with 2024.2. but it says,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;"undefined reference to `mkl_dcsrmultcsr'"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I guess it does not work with 2024.2.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Wentao&lt;/P&gt;</description>
      <pubDate>Fri, 06 Sep 2024 08:07:48 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/anyways-for-me-to-download-the-standalone-mkl-versions-before/m-p/1629247#M36394</guid>
      <dc:creator>huangwentao</dc:creator>
      <dc:date>2024-09-06T08:07:48Z</dc:date>
    </item>
    <item>
      <title>Re: anyways for me to download the standalone mkl versions before the year of 2019 ?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/anyways-for-me-to-download-the-standalone-mkl-versions-before/m-p/1629267#M36395</link>
      <description>&lt;P&gt;This is probably due to an issue with the way the project is built and linked, because the routine is still available and defined in oneMKL 2024.2.&lt;BR /&gt;I would recommend checking the MKL's link line advisor for help with linking:&lt;BR /&gt;&lt;A href="https://www.intel.com/content/www/us/en/developer/tools/oneapi/onemkl-link-line-advisor.html" target="_blank"&gt;https://www.intel.com/content/www/us/en/developer/tools/oneapi/onemkl-link-line-advisor.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Note: you should see some warnings when using deprecated APIs:&lt;/P&gt;&lt;PRE&gt;warning: 'mkl_dcsrmultcsr' is deprecated [-Wdeprecated-declarations]&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;or&lt;/P&gt;&lt;PRE&gt;note: 'mkl_dcsrmultcsr' has been explicitly marked deprecated here &lt;/PRE&gt;&lt;P&gt;&amp;nbsp;but it does not affect functionality.&lt;BR /&gt;&lt;BR /&gt;Best,&lt;BR /&gt;Nicolas&lt;/P&gt;</description>
      <pubDate>Fri, 06 Sep 2024 09:45:27 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/anyways-for-me-to-download-the-standalone-mkl-versions-before/m-p/1629267#M36395</guid>
      <dc:creator>noffermans</dc:creator>
      <dc:date>2024-09-06T09:45:27Z</dc:date>
    </item>
    <item>
      <title>Re: anyways for me to download the standalone mkl versions before the year of 2019 ?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/anyways-for-me-to-download-the-standalone-mkl-versions-before/m-p/1629669#M36404</link>
      <description>&lt;P&gt;Thank you,&amp;nbsp;&lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/281315"&gt;@noffermans&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;After checking the link-line-advisor, I have successfully built the code.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;However, I found that the code execution is not correct, I am not sure if it is due to the deprecated routine problem. Would you mind having a glance of the following C code, "mytest.c" and see what is wrong?&lt;/P&gt;&lt;LI-CODE lang="cpp"&gt;#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;stdlib.h&amp;gt;
#include &amp;lt;string.h&amp;gt;
#include "mkl.h"

int main() {
	// Matrix A in CSR format (3x5)
	MKL_INT rowsA = 2, colsA = 3;
	MKL_INT rowptrA[2 + 1] = {0, 2, 3}; // Row pointers for matrix A in CSR format
	MKL_INT colindA[3] = {0, 1, 2}; // Column indices of non-zero elements
	double valuesA[3] = {1.0, 2.0, 3.0}; // Non-zero values

	// Matrix B in CSR format (5x7)
	MKL_INT rowsB = 3, colsB = 4;
	MKL_INT rowptrB[3 + 1] = {0, 1, 3, 4}; // Row pointers for matrix B in CSR format
	MKL_INT colindB[4] = {0, 1, 2, 3}; // Column indices of non-zero elements
	double valuesB[4] = {4.0, 5.0, 6.0, 7.0}; // Non-zero values


	/**
	// Output the result in CSR format
	printf("Result matrix A in CSR format:\n");

	printf("Row pointers: ");
	for (int i = 0; i &amp;lt;= rowsA; i++) {
		printf("%lld ", rowptrA[i]);
	}
	printf("\nColumn indices: ");
	for (int i = 0; i &amp;lt; rowptrA[rowsA]; i++) {
		printf("%lld ", colindA[i]);
	}
	printf("\nValues: ");
	for (int i = 0; i &amp;lt; rowptrA[rowsA]; i++) {
		printf("%f ", valuesA[i]);
	}
	printf("\n\n");


	// Output the result in CSR format
	printf("Result matrix B in CSR format:\n");

	printf("Row pointers: ");
	for (int i = 0; i &amp;lt;= rowsB; i++) {
		printf("%lld ", rowptrB[i]);
	}
	printf("\nColumn indices: ");
	for (int i = 0; i &amp;lt; rowptrB[rowsB]; i++) {
		printf("%lld ", colindB[i]);
	}
	printf("\nValues: ");
	for (int i = 0; i &amp;lt; rowptrB[rowsB]; i++) {
		printf("%f ", valuesB[i]);
	}
	printf("\n\n");
	*/

	// Matrix C will be the result (3x7)
	MKL_INT rowsC = rowsA, colsC = colsB;
	// Pre-allocate space for C in CSR format
	MKL_INT rowptrC[rowsC + 1]; // Row pointers for C
	memset(rowptrC, 0, sizeof(MKL_INT) * (rowsC+1));
	MKL_INT request = 1;
	MKL_INT sort = 7; // don't sort anything
	MKL_INT info = 0; // output info flag
	mkl_dcsrmultcsr((char*)"N", &amp;amp;request, &amp;amp;sort,
		&amp;amp;rowsA, &amp;amp;colsA, &amp;amp;colsB,
		valuesA, colindA, rowptrA, 
		valuesB, colindB, rowptrB, 
		NULL, NULL, rowptrC,
		NULL, &amp;amp;info
	);
	printf("info-values: %lld\n", info);
	MKL_INT nnzC = rowptrC[rowsC] - 1;
	MKL_INT* colindC = (MKL_INT*) malloc( sizeof(MKL_INT) * nnzC );
	double* valuesC = (double*) malloc( sizeof(double) * nnzC );
	memset(colindC, 0, sizeof(MKL_INT) * nnzC);
	memset(valuesC, 0, sizeof(double) * nnzC);

	request = 2;
	sort = 8;
	mkl_dcsrmultcsr((char*)"N", &amp;amp;request, &amp;amp;sort,
		&amp;amp;rowsA, &amp;amp;colsA, &amp;amp;colsB,
		valuesA, colindA, rowptrA, 
		valuesB, colindB, rowptrB, 
		valuesC, colindC, rowptrC,
		NULL, &amp;amp;info
	);
	printf("info-values: %lld\n", info);

	// Output the result in CSR format
	printf("Result matrix C in CSR format:\n");

	printf("Row pointers: ");
	for (int i = 0; i &amp;lt;= rowsC; i++) {
		printf("%lld ", rowptrC[i]);
	}
	printf("\nColumn indices: ");
	for (int i = 0; i &amp;lt; rowptrC[rowsC]; i++) {
		printf("%lld ", colindC[i]);
	}
	printf("\nValues: ");
	for (int i = 0; i &amp;lt; rowptrC[rowsC]; i++) {
		printf("%f ", valuesC[i]);
	}
	printf("\n");


	free(colindC);
	free(valuesC);

	return 0;
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I built this project with the following makefile,&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;LI-CODE lang="bash"&gt;CC = gcc

MKLROOT = /opt/intel/oneapi/mkl/2024.2
MKL_FLAGS_GCC = -DMKL_ILP64 \
				-I"${MKLROOT}/include" \
				-m64 -L${MKLROOT}/lib/intel64 \
				-Wl,-rpath,${MKLROOT}/lib/intel64 \
				-lmkl_intel_ilp64 \
				-lmkl_sequential -lmkl_core -lpthread -lm -ldl

mytest: mytest.c
	$(CC) -o $@ $&amp;lt; $(MKL_FLAGS_GCC) -Wall

clean:
	rm mytest&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you, and look forward to your reply.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Wentao&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 09 Sep 2024 04:10:47 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/anyways-for-me-to-download-the-standalone-mkl-versions-before/m-p/1629669#M36404</guid>
      <dc:creator>huangwentao</dc:creator>
      <dc:date>2024-09-09T04:10:47Z</dc:date>
    </item>
    <item>
      <title>Re: anyways for me to download the standalone mkl versions before the year of 2019 ?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/anyways-for-me-to-download-the-standalone-mkl-versions-before/m-p/1629814#M36406</link>
      <description>&lt;P&gt;Great to hear that it compiles!&lt;/P&gt;&lt;P&gt;The routine only supports 1-based indexing, so you would need to add 1 to all your row and column indices. The output C matrix will be 1-based as well. This is easy to miss, but it is actually mentioned in the short description at the top of the doc page for the routine.&lt;/P&gt;&lt;P&gt;Hope this helps.&lt;BR /&gt;&lt;BR /&gt;Best,&lt;BR /&gt;Nicolas&lt;/P&gt;</description>
      <pubDate>Mon, 09 Sep 2024 12:35:24 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/anyways-for-me-to-download-the-standalone-mkl-versions-before/m-p/1629814#M36406</guid>
      <dc:creator>noffermans</dc:creator>
      <dc:date>2024-09-09T12:35:24Z</dc:date>
    </item>
    <item>
      <title>Re: anyways for me to download the standalone mkl versions before the year of 2019 ?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/anyways-for-me-to-download-the-standalone-mkl-versions-before/m-p/1629841#M36407</link>
      <description>&lt;P&gt;Thank you&amp;nbsp;&lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/281315"&gt;@noffermans&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I forgot to check the indexing. I can continue with my work now&amp;nbsp; : )&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Wentao&lt;/P&gt;</description>
      <pubDate>Mon, 09 Sep 2024 16:05:56 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/anyways-for-me-to-download-the-standalone-mkl-versions-before/m-p/1629841#M36407</guid>
      <dc:creator>huangwentao</dc:creator>
      <dc:date>2024-09-09T16:05:56Z</dc:date>
    </item>
  </channel>
</rss>

