Browse Source

MKL Provider: increment revision to 14

v4
Christoph Ruegg 6 years ago
parent
commit
c8b335b808
  1. 6
      src/NativeProviders/MKL/capabilities.cpp
  2. 8
      src/NativeProviders/MKL/dss.c
  3. 2
      src/Numerics/Providers/Common/Mkl/MklProvider.cs

6
src/NativeProviders/MKL/capabilities.cpp

@ -66,7 +66,7 @@ extern "C" {
} }
// COMMON/SHARED // COMMON/SHARED
case 64: return 13; // revision case 64: return 14; // revision
case 65: return 1; // numerical consistency, precision and accuracy modes case 65: return 1; // numerical consistency, precision and accuracy modes
case 66: return 1; // threading control case 66: return 1; // threading control
case 67: return 1; // memory management case 67: return 1; // memory management
@ -85,8 +85,8 @@ extern "C" {
case 385: return 0; // basic FFT (minor - non-breaking) case 385: return 0; // basic FFT (minor - non-breaking)
// SPARSE SOLVER // SPARSE SOLVER
case 512: return 1; case 512: return 1; // direct sparse solver (major - breaking)
case 513: return 0; case 513: return 0; // direct sparse solver (minor - non-breaking)
default: return 0; // unknown or not supported default: return 0; // unknown or not supported

8
src/NativeProviders/MKL/dss.c

@ -5,7 +5,7 @@
extern "C" { extern "C" {
#endif #endif
// Notes: zero-based indexing is used for rowIdx[] and colPtr[]. // Notes: zero-based indexing is used for rowIdx[] and colPtr[].
DLLEXPORT dss_int s_dss_solve(const dss_int matrixStructure, const dss_int matrixType, const dss_int systemType, DLLEXPORT dss_int s_dss_solve(const dss_int matrixStructure, const dss_int matrixType, const dss_int systemType,
const dss_int nRows, const dss_int nCols, const dss_int nnz, const dss_int rowIdx[], const dss_int colPtr[], const float values[], const dss_int nRows, const dss_int nCols, const dss_int nnz, const dss_int rowIdx[], const dss_int colPtr[], const float values[],
@ -16,7 +16,7 @@ extern "C" {
dss_int opt = MKL_DSS_MSG_LVL_WARNING + MKL_DSS_TERM_LVL_ERROR + MKL_DSS_ZERO_BASED_INDEXING + MKL_DSS_AUTO_ORDER; dss_int opt = MKL_DSS_MSG_LVL_WARNING + MKL_DSS_TERM_LVL_ERROR + MKL_DSS_ZERO_BASED_INDEXING + MKL_DSS_AUTO_ORDER;
opt += systemType; opt += systemType;
// Initialize the solver // Initialize the solver
error = dss_create(handle, opt); error = dss_create(handle, opt);
if (error != MKL_DSS_SUCCESS) return error; if (error != MKL_DSS_SUCCESS) return error;
@ -40,7 +40,7 @@ extern "C" {
// Deallocate solver storage // Deallocate solver storage
error = dss_delete(handle, opt); error = dss_delete(handle, opt);
return error; return error;
} }
DLLEXPORT dss_int d_dss_solve(const dss_int matrixStructure, const dss_int matrixType, const dss_int systemType, DLLEXPORT dss_int d_dss_solve(const dss_int matrixStructure, const dss_int matrixType, const dss_int systemType,
const dss_int nRows, const dss_int nCols, const dss_int nnz, const dss_int rowIdx[], const dss_int colPtr[], const double values[], const dss_int nRows, const dss_int nCols, const dss_int nnz, const dss_int rowIdx[], const dss_int colPtr[], const double values[],
@ -145,7 +145,7 @@ extern "C" {
// Deallocate solver storage // Deallocate solver storage
error = dss_delete(handle, opt); error = dss_delete(handle, opt);
return error; return error;
} }
#if __cplusplus #if __cplusplus
} }

2
src/Numerics/Providers/Common/Mkl/MklProvider.cs

@ -36,7 +36,7 @@ namespace MathNet.Numerics.Providers.Common.Mkl
{ {
public static class MklProvider public static class MklProvider
{ {
const int DesignTimeRevision = 12; const int DesignTimeRevision = 14;
const int MinimumCompatibleRevision = 4; const int MinimumCompatibleRevision = 4;
static int _nativeRevision; static int _nativeRevision;

Loading…
Cancel
Save