All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Macros
System settings

Macros

#define BLAZE_BLAS_MODE   0
 Compilation switch for the BLAS mode.This compilation switch enables/disables the BLAS mode. In case the BLAS mode is enabled, several basic linear algebra functions (such as for instance matrix-matrix multiplications between two dense matrices) are handled by performance optimized BLAS functions. Note that in this case it is mandatory to provide the according BLAS header file for the compilation of the Blaze library. In case the BLAS mode is disabled, all linear algebra functions use the default implementations of the Blaze library and therefore BLAS is not a requirement for the compilation process. More...
 
#define BLAZE_BLAS_IS_PARALLEL   0
 Compilation switch for the parallel BLAS mode.This compilation switch specifies whether the used BLAS library is itself parallelized or not. In case the given BLAS library is itself parallelized, the Blaze library does not perform any attempt to parallelize the execution of BLAS kernels. If, however, the given BLAS library is not parallelized Blaze will attempt to parallelize the execution of BLAS kernels. More...
 
#define BLAZE_STRONG_INLINE   inline
 Platform dependent setup of a strengthened inline keyword.
 
#define BLAZE_ALWAYS_INLINE   BLAZE_STRONG_INLINE
 Platform dependent setup of an enforced inline keyword.
 
#define BLAZE_RESTRICT
 Platform dependent setup of the restrict keyword.
 
#define BLAZE_SIGNATURE   "Unknown function"
 Platform dependent setup of the type/function signature macro.This macro contains the signature of the function the macro is used in. Note that the macro must only be used inside a function!
 
#define BLAZE_OPENMP_PARALLEL_MODE   0
 Compilation switch for the OpenMP parallelization.This compilation switch enables/disables the OpenMP parallelization. In case OpenMP is enabled during compilation the Blaze library attempts to parallelize all matrix and vector computations. Note that the OpenMP-based parallelization has priority over the C++11 and Boost thread-based parallelization and will be preferred in case several parallelizations are activated. In case no parallelization is not enabled, all computations are performed on a single compute core.
 
#define BLAZE_CPP_THREADS_PARALLEL_MODE   0
 Compilation switch for the C++11 parallelization.This compilation switch enables/disables the parallelization based on C++11 threads. In case the BLAZE_USE_CPP_THREADS command line argument is specified during compilation the Blaze library attempts to parallelize all matrix and vector computations. Note however that the OpenMP-based parallelization has priority over the C++11 thread parallelization and will be preferred in case both parallelizations are activated. On the other hand, the C++11 thread parallelization has priority over the Boost thread-based parallelization. In case no parallelization is enabled, all computations are performed on a single compute core.
 
#define BLAZE_BOOST_THREADS_PARALLEL_MODE   0
 Compilation switch for the Boost parallelization.This compilation switch enables/disables the parallelization based on Boost threads. In case the BLAZE_USE_BOOST_THREADS command line argument is specified during compilation the Blaze library attempts to parallelize all matrix and vector computations. Note however that the OpenMP-based and the C++11 thread-based parallelizations have priority over the Boost thread parallelization and will be preferred in case several parallelizations are activated. In case no parallelization is enabled, all computations are performed on a single compute core.
 
#define BLAZE_SSE_MODE   0
 Compilation switch for the SSE mode.This compilation switch enables/disables the SSE mode. In case the SSE mode is enabled (i.e. in case SSE functionality is available) the Blaze library attempts to vectorize the linear algebra operations by SSE intrinsics. In case the SSE mode is disabled, the Blaze library chooses default, non-vectorized functionality for the operations.
 
#define BLAZE_SSE2_MODE   0
 Compilation switch for the SSE2 mode.This compilation switch enables/disables the SSE2 mode. In case the SSE2 mode is enabled (i.e. in case SSE2 functionality is available) the Blaze library attempts to vectorize the linear algebra operations by SSE2 intrinsics. In case the SSE2 mode is disabled, the Blaze library chooses default, non-vectorized functionality for the operations.
 
#define BLAZE_SSE3_MODE   0
 Compilation switch for the SSE3 mode.This compilation switch enables/disables the SSE3 mode. In case the SSE3 mode is enabled (i.e. in case SSE3 functionality is available) the Blaze library attempts to vectorize the linear algebra operations by SSE3 intrinsics. In case the SSE3 mode is disabled, the Blaze library chooses default, non-vectorized functionality for the operations.
 
#define BLAZE_SSSE3_MODE   0
 Compilation switch for the SSSE3 mode.This compilation switch enables/disables the SSSE3 mode. In case the SSSE3 mode is enabled (i.e. in case SSSE3 functionality is available) the Blaze library attempts to vectorize the linear algebra operations by SSSE3 intrinsics. In case the SSSE3 mode is disabled, the Blaze library chooses default, non-vectorized functionality for the operations.
 
#define BLAZE_SSE4_MODE   0
 Compilation switch for the SSE4 mode.This compilation switch enables/disables the SSE4 mode. In case the SSE4 mode is enabled (i.e. in case SSE4 functionality is available) the Blaze library attempts to vectorize the linear algebra operations by SSE4 intrinsics. In case the SSE4 mode is disabled, the Blaze library chooses default, non-vectorized functionality for the operations.
 
#define BLAZE_AVX_MODE   0
 Compilation switch for the AVX mode.This compilation switch enables/disables the AVX mode. In case the AVX mode is enabled (i.e. in case AVX functionality is available) the Blaze library attempts to vectorize the linear algebra operations by AVX intrinsics. In case the AVX mode is disabled, the Blaze library chooses default, non-vectorized functionality for the operations.
 
#define BLAZE_AVX2_MODE   0
 Compilation switch for the AVX2 mode.This compilation switch enables/disables the AVX2 mode. In case the AVX2 mode is enabled (i.e. in case AVX2 functionality is available) the Blaze library attempts to vectorize the linear algebra operations by AVX2 intrinsics. In case the AVX2 mode is disabled, the Blaze library chooses default, non-vectorized functionality for the operations.
 
#define BLAZE_MIC_MODE   0
 Compilation switch for the MIC mode.This compilation switch enables/disables the MIC mode. In case the MIC mode is enabled (i.e. in case MIC functionality is available) the Blaze library attempts to vectorize the linear algebra operations by MIC intrinsics. In case the MIC mode is disabled, the Blaze library chooses default, non-vectorized functionality for the operations.
 
#define BLAZE_MAJOR_VERSION   2
 Major version of the Blaze library.This value corresponds to the major version of the Blaze library. For instance, for Blaze version 2.0, the BLAZE_MAJOR_VERSION corresponds to 2.
 
#define BLAZE_MINOR_VERSION   2
 Minor version of the Blaze library.This value corresponds to the minor version of the Blaze library. For instance, for Blaze version 2.0, the BLAZE_MINOR_VERSION corresponds to 0.
 

Detailed Description

The system module contains all system settings for the Blaze library.

Macro Definition Documentation

#define BLAZE_BLAS_IS_PARALLEL   0

Compilation switch for the parallel BLAS mode.This compilation switch specifies whether the used BLAS library is itself parallelized or not. In case the given BLAS library is itself parallelized, the Blaze library does not perform any attempt to parallelize the execution of BLAS kernels. If, however, the given BLAS library is not parallelized Blaze will attempt to parallelize the execution of BLAS kernels.

Possible settings for the switch:

  • BLAS library is not parallelized: 0
  • BLAS library is parallelized : 1

Note that changing the setting of the BLAS mode requires a recompilation of the Blaze library. Also note that this switch is automatically set by the configuration script of the Blaze library.

#define BLAZE_BLAS_MODE   0

Compilation switch for the BLAS mode.This compilation switch enables/disables the BLAS mode. In case the BLAS mode is enabled, several basic linear algebra functions (such as for instance matrix-matrix multiplications between two dense matrices) are handled by performance optimized BLAS functions. Note that in this case it is mandatory to provide the according BLAS header file for the compilation of the Blaze library. In case the BLAS mode is disabled, all linear algebra functions use the default implementations of the Blaze library and therefore BLAS is not a requirement for the compilation process.

Possible settings for the BLAS switch:

  • Deactivated: 0
  • Activated : 1

Note that changing the setting of the BLAS mode requires a recompilation of the Blaze library. Also note that this switch is automatically set by the configuration script of the Blaze library.