I am currently trying to use the following MKL function: mkl_sparse_?_mm(...) on Visual Studio 2008, Win32 Solution Platform, Windows 10 Pro, C language. MKL 2022.1.0.
My purpose is to multiply two matrices:
1. Sparse matrix A, sized: [256 x 256] , non zero elements: 3,784 (matrix sparsity = 94%)
2. Non sparse matrix B, sized: [256 x 88].
I want to calculate the product of the two matrices: C = A * B.
for my case, A is constant matrix, values does not change, B changes between iterations, so I update the values using:
mkl_sparse_s_update_values(csrB, nNonZero_B, indxB, indyB, values_B);
Initially I implemented the code in Visual Studio 2019, in Win32 Solution Platform, and by using the One API installer I managed to install and integrate the MKL libraries into the Visual Studio libraries, using the Static libraries option, without .dll files.
Now, I am trying to utilize the function: mkl_sparse_?_mm(...) in a new project in Visual Studio 2008. I am encountering several problems,
when compiling the same project (using the same source and header files) with the same .lib and header files, the IDE prints out an error: "Cannot open the 'stdint.h' ", as part of the includes in the "mkl_graph.h" file.
I copied the file mentioned, from the Visual Studio 2019 system header files, and then another file which was missing, named: "vcruntime.h", but then I keep getting other errors.
in the system requirements documentation I saw that only Visual Studio 2017 and higher are supported for intel One API Base toolkit.
My question is this, is there an option to utilize the MKL function while using Visual Studio 2008?
because I found some work arounds in the internet (for Fortran) but couldn't find one specific to my case.
Thank you for your help.
Thank you for posting on Intel Communities.
As mentioned by you, the minimum system requirements required for a code to be compatible is Microsoft Visual Studio* 2017 or higher and the codes are not downward compatible.
Thank you for your response.
Is there an option to use an older version of MKL which supports Visual Studio 2008 with the functionality of: mkl_sparse_?_mm(...) ?
it's a legacy code, which at the moment cannot be transferred to a newer IDE.
Earlier there were Intel® C++ and Fortran Compilers 10.1 to Intel® Composer XE 2013(compiler 14.0.1) which supported VS2008 and are currently not available, as the next generation of standards developed, the Intel® Parallel Studio XE Products evolved which were now been transitioned to Intel oneAPI toolkits.
The transition from Intel® Parallel Studio XE to Intel oneAPI toolkits delivers additional capabilities through existing tools and new tools.
For detailed information for Intel® Parallel Studio XE users, kindly refer to the below link https://www.intel.com/content/www/us/en/developer/tools/oneapi/commercial-base-hpc.html#gs.6ycuu7
We assume that your issue is resolved. If you need any additional information, please post a new question as this thread will no longer be monitored by Intel.