Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

Evaluating Intel Math Kernel Library

atee1234
Beginner
1,749 Views

Hello, wehave developed a software for structural analysis and design.The software will use finite element analsysis for the purpose of analysisng structures. We would like to check the feasibility of the Intel Math Kernel library for finite element calculation purposes.

Type of matrices

We deal with matrices which are sparse i.e. many of its eleemnts are zero.

Operations required to be carried out using the matrices include;

i. Matrix multiplication

ii. Matrix addition

iii. Matrix subtraction

iv. Solving a system of linear simultaneous equations

Both iterative and non-iterative techniques are required to solve the system of linear simultaneous equations.

Exercise

We have the FE analysis calculations written in MathCAD and now would like to use the Intel Math Kernel Library to perform the above operations.

We are interested in using the Intel Math Kernel library to carry out the above stated calculations of matrices .We would like to like to have a demonstration/ evaluation version of the Intel Math Kernel library and would like to know how to go about using the functions/ sub-routines.

Specific questions;

i. We deal with matrices which are sparse (for carrying out finite element analysis).As you see these matrices, have a large number of elements 0. Does the Intel Math Kernel library have functions/ sub-routines that will convert a full matrix to sparse form by squeezing out any zero elements? OR Will the user of the Intel Math Kernel Library have to provide such a matrix (i.e. a matrix wherein the 0s are already squeezed out)?

ii. As we have the finite element calculations written in MathCAD, how do we go about using the Intel Math Kernel Library to evaluate its efficiency/ feasibility during the evaluation period? Any suggestions for these will be gratefully appreciated.

0 Kudos
6 Replies
Alemdar__Bulent
Beginner
1,749 Views
Atee1234
MKL library has several matrix format that supports sparse matrices (you only need to store non-zero values in your matrices).There are a few solvers provided that directly work with sparse matrices (PARDISO\DSS). Plus, the library also have many rouitines that does matrix computations (addition, multiplication, etc...) with different matrix types (sparse, banded, etc...).

I suggest you to read the documents that comes with the library. You will find most of the functionality you are asking in the library

bulent


0 Kudos
atee1234
Beginner
1,749 Views
Thanks Bulent,

I'm in process of going through the documentation indetail.


Actually, the matrices we have (i.e the ones generated by our program) store non zero AND zero values.

Does it mean that the matrix we provide to theIntel Math Kernel Library sub-routines have to provide such a matrix (i.e. a matrix wherein the 0s are already squeezed out)?

Because in the documentation I read , regarding the Sparse BLAS Level 1 routines, it says;

The Sparse BLAS Level 1 Routines and Functions and Sparse BLAS Level 2 Routines and Level 3 routines and functions operate on sparse vectors and matrices. These routines perform vector operations similar to the BLAS Level 1, 2, and 3 routines. The Sparse BLAS routines take advantage of vector and matrix sparsity: they allow you to store only non-zero elements of vectors and matrices. Intel MKL also supports Fortran 95 interface to Sparse BLAS routines.

So, my question is (again re-stating):

Does the Intel Math Kernel library have functions/ sub-routines (like SPARSE Blas Level 1 routines) that will convert a full matrix to sparse form by squeezing out any zero elements? OR Will the user of the Intel Math Kernel Library have to provide such a matrix (i.e. a matrix wherein the 0s are already squeezed out)?
0 Kudos
Gennady_F_Intel
Moderator
1,749 Views
yes, there are many of Sparse matrix convertes ( mkl_?dnscsr,mkl_?csrcooad etc)that convert sparse matrix from one storage format to another. Please refer to the Intel Reference Manual
0 Kudos
atee1234
Beginner
1,749 Views
I created a Microsoft VC++ empty project.But when I go to project menu, I only find:Add Clas,Ad Wizard, Add Resource. I do not find : Intel C++ Compiler XE > Use Intel C++ as sated here:http://software.intel.com/sites/products/documentation/hpc/composerxe/en-us/start/win/cpp/index.htm

Please can anyone help?
0 Kudos
atee1234
Beginner
1,749 Views
I'm not able to start the project--I dont get the option.Where are the example projects?
0 Kudos
Reply