Geogram  Version 1.9.1
A programming library of geometric algorithms
nl_mkl.h File Reference

Internal OpenNL functions that interface MKL. More...

#include "nl_private.h"
#include "nl_matrix.h"

Go to the source code of this file.

Functions

NLboolean nlInitExtension_MKL (void)
 Initializes the MKL extension. More...
 
NLboolean nlExtensionIsInitialized_MKL (void)
 Tests whether the MKL extension is initialized. More...
 
NLMatrix nlMKLMatrixNewFromSparseMatrix (NLSparseMatrix *M)
 Creates an optimized MKL matrix from a dynamic sparse matrix. More...
 
NLMatrix nlMKLMatrixNewFromCRSMatrix (NLCRSMatrix *M)
 Creates an optimized MKL matrix from a CRS sparse matrix. More...
 

Variables

NLMultMatrixVectorFunc NLMultMatrixVector_MKL
 The function pointer to the sparse-matrix times vector function that uses the MKL. If the extension is not initialized, then the pointer is NULL. Works for matrix in the CRS format. Both general and symmetric storage are supported.
 

Detailed Description

Internal OpenNL functions that interface MKL.

Definition in file nl_mkl.h.

Function Documentation

◆ nlExtensionIsInitialized_MKL()

NLboolean nlExtensionIsInitialized_MKL ( void  )

Tests whether the MKL extension is initialized.

Return values
NL_TRUEif the extension is initialized
NL_FALSEotherwise

◆ nlInitExtension_MKL()

NLboolean nlInitExtension_MKL ( void  )

Initializes the MKL extension.

This dynamically loads the MKL library available in the system (if available) and retreives the symbols in there.

Return values
NL_TRUEif MKL could be successfully dynamically loaded and all functions could be found in it.
NL_FALSEotherwise.
Note
For now, only implemented under Linux in dynamic libraries mode, compiled with Intel C Compiler

◆ nlMKLMatrixNewFromCRSMatrix()

NLMatrix nlMKLMatrixNewFromCRSMatrix ( NLCRSMatrix M)

Creates an optimized MKL matrix from a CRS sparse matrix.

The matrix M should have stored rows. Symmetric storage is not supported yet.

Parameters
[in]Mthe dynamic sparse matrix.
Returns
a pointer to the created matrix

◆ nlMKLMatrixNewFromSparseMatrix()

NLMatrix nlMKLMatrixNewFromSparseMatrix ( NLSparseMatrix M)

Creates an optimized MKL matrix from a dynamic sparse matrix.

The matrix M should have stored rows. Symmetric storage is not supported yet.

Parameters
[in]Mthe dynamic sparse matrix.
Returns
a pointer to the created matrix