Difference between revisions of "Appendix F: expert-level options"

From Spinach Documentation Wiki
Jump to: navigation, search
(Created page with "This section catalogs very advanced functionality that is stable and well-tested, but switched off by default. ==CUDA GPU support== Several functions in Spinach can make use ...")
 
Line 9: Line 9:
  
 
# Matrix exponential calculation in [[propagator.m]] function.
 
# Matrix exponential calculation in [[propagator.m]] function.
 +
# Matrix inverse-times-vector operation during the slow-passage detection in [[slowpass.m]] function.
 +
# Krylov propagation in [[krylov.m]] and [[step.m]] functions.
  
−
 
+
Numerical pseudocontact shift solvers also support GPUs for the Fourier solver option. GPU support is enabled in [[ipcs.m]] and [[kpcs.m]] by specifying
−
Numerical pseudocontact shift solvers also support GPUs for the Fourier solver option. Is is enabled in [[ipcs.m]] and [[kpcs.m]] by specifying
 
  
 
     options.gpu=1;
 
     options.gpu=1;
  
 
For the typical 128x128x128 point grids used in paramagnetic centre probability density reconstructions from PCS, using a Tesla K40 card results in up to an order of magnitude acceleration relative to 32 CPU cores.
 
For the typical 128x128x128 point grids used in paramagnetic centre probability density reconstructions from PCS, using a Tesla K40 card results in up to an order of magnitude acceleration relative to 32 CPU cores.

Revision as of 15:07, 9 August 2016

This section catalogs very advanced functionality that is stable and well-tested, but switched off by default.

CUDA GPU support

Several functions in Spinach can make use of CUDA GPUs. If your computer has a recent NVidia graphics card, enabling that functionality may be beneficial. This is done by adding 'gpu' to the enable switch:

    sys.enable={'gpu'};

Spinach kernel modules that can make use of GPU arithmetic are:

  1. Matrix exponential calculation in propagator.m function.
  2. Matrix inverse-times-vector operation during the slow-passage detection in slowpass.m function.
  3. Krylov propagation in krylov.m and step.m functions.

Numerical pseudocontact shift solvers also support GPUs for the Fourier solver option. GPU support is enabled in ipcs.m and kpcs.m by specifying

    options.gpu=1;

For the typical 128x128x128 point grids used in paramagnetic centre probability density reconstructions from PCS, using a Tesla K40 card results in up to an order of magnitude acceleration relative to 32 CPU cores.