vSMC
vSMC: Scalable Monte Carlo
Macros
Configuration

Configuration macros and default values if undefined. More...

Macros

#define VSMC_ALIGNED_MEMORY_TYPE   ::vsmc::AlignedMemorySYS
 Default AlignedMemory type. More...
 
#define VSMC_CBLAS_THRESHOLD   1000
 When MKL or vecLib CBLAS is available, the threshold of the number of elements above which these libraries will be used. More...
 
#define VSMC_CSTRING_NON_TEMPORAL_THRESHOLD   0
 Threshold above which non-temporal copy shall be used (0 for auto) More...
 
#define VSMC_CSTRING_RUNTIME_DISPATCH   0
 Shall functions in this module do runtime dispatch. More...
 
#define VSMC_RESAMPLE_RNG_TYPE   ::vsmc::Threefry4x64
 Default RNG type for resampling. More...
 
#define VSMC_RNG_AES_BLOCKS   1
 AESEngine default blocks. More...
 
#define VSMC_RNG_ARS_BLOCKS   1
 ARSEngine default blocks. More...
 
#define VSMC_RNG_ARS_ROUNDS   7
 ARSEngine default rounds. More...
 
#define VSMC_RNG_PHILOX_ROUNDS   10
 PhiloxEngine default rounds. More...
 
#define VSMC_RNG_SET_TYPE   ::vsmc::RngSet< ::vsmc::Threefry4x64, ::vsmc::Vector>
 Default RNG set type. More...
 
#define VSMC_RNG_THREEFRY_ROUNDS   20
 ThreefryEngine default rounds. More...
 
#define VSMC_RUNTIME_ASSERT_AS_EXCEPTION   0
 Turn vSMC runtime assertions into exceptions. More...
 
#define VSMC_RUNTIME_WARNING_AS_EXCEPTION   0
 Turn vSMC runtime warnings into exceptions. More...
 
#define VSMC_SEED_RESULT_TYPE   unsigned
 Default result type of Seed. More...
 
#define VSMC_STOP_WATCH_CHRONO_CLOCK_TYPE   std::chrono::high_resolution_clock
 Default C++11 clock used as StopWatch if VSMC_HAS_CXX11LIB_CHRONO test successes. More...
 
#define VSMC_STOP_WATCH_TYPE   ::vsmc::StopWatchChrono
 Default StopWatch type. More...
 
#define VSMC_VMATH_THRESHOLD   1000
 When MKL (VML) or vecLib (vForce) is available, the threshold of the number of elements above which these libraries will be used. More...
 

Detailed Description

Configuration macros and default values if undefined.

Macro Definition Documentation

#define VSMC_ALIGNED_MEMORY_TYPE   ::vsmc::AlignedMemorySYS

Default AlignedMemory type.

Definition at line 55 of file aligned_memory.hpp.

#define VSMC_CBLAS_THRESHOLD   1000

When MKL or vecLib CBLAS is available, the threshold of the number of elements above which these libraries will be used.

Definition at line 51 of file cblas.hpp.

#define VSMC_CSTRING_NON_TEMPORAL_THRESHOLD   0

Threshold above which non-temporal copy shall be used (0 for auto)

Definition at line 117 of file cstring.hpp.

#define VSMC_CSTRING_RUNTIME_DISPATCH   0

Shall functions in this module do runtime dispatch.

Definition at line 111 of file cstring.hpp.

#define VSMC_RESAMPLE_RNG_TYPE   ::vsmc::Threefry4x64

Default RNG type for resampling.

Definition at line 47 of file common.hpp.

#define VSMC_RNG_AES_BLOCKS   1

AESEngine default blocks.

Definition at line 45 of file aes.hpp.

#define VSMC_RNG_ARS_BLOCKS   1

ARSEngine default blocks.

Definition at line 41 of file ars.hpp.

#define VSMC_RNG_ARS_ROUNDS   7

ARSEngine default rounds.

Definition at line 47 of file ars.hpp.

#define VSMC_RNG_PHILOX_ROUNDS   10

PhiloxEngine default rounds.

Definition at line 66 of file philox.hpp.

#define VSMC_RNG_SET_TYPE   ::vsmc::RngSet< ::vsmc::Threefry4x64, ::vsmc::Vector>

Default RNG set type.

Definition at line 47 of file rng_set.hpp.

#define VSMC_RNG_THREEFRY_ROUNDS   20

ThreefryEngine default rounds.

Definition at line 58 of file threefry.hpp.

#define VSMC_RUNTIME_ASSERT_AS_EXCEPTION   0

Turn vSMC runtime assertions into exceptions.

Definition at line 64 of file config.hpp.

#define VSMC_RUNTIME_WARNING_AS_EXCEPTION   0

Turn vSMC runtime warnings into exceptions.

Definition at line 70 of file config.hpp.

#define VSMC_SEED_RESULT_TYPE   unsigned

Default result type of Seed.

Definition at line 59 of file seed.hpp.

#define VSMC_STOP_WATCH_CHRONO_CLOCK_TYPE   std::chrono::high_resolution_clock

Default C++11 clock used as StopWatch if VSMC_HAS_CXX11LIB_CHRONO test successes.

Definition at line 45 of file stop_watch.hpp.

#define VSMC_STOP_WATCH_TYPE   ::vsmc::StopWatchChrono

Default StopWatch type.

Definition at line 52 of file stop_watch.hpp.

#define VSMC_VMATH_THRESHOLD   1000

When MKL (VML) or vecLib (vForce) is available, the threshold of the number of elements above which these libraries will be used.

This macro change the behavior of all functions in the vMath module. One can also define function specific macros to change the threshold of only one function. For example, VSMC_VMATH_THRESHOLD_Add will change how a call vAdd(n, a, b, y) will behave. Also call this function explicitly with a template parameter, vAdd<double>(n, a, b, y) will bypass the library calls entirely.

Definition at line 57 of file vmath.hpp.