Skip to content
Snippets Groups Projects
Paul McCarthy's avatar
Paul McCarthy authored
b787ca31
History

fsl-base

This project contains the "base" of an FSL installation. It includes:

  • Configuration scripts for setting up an environment to use FSL
  • Makefile infrastructure used to compile and install FSL projects
  • Various other small configuration, data, and auxillary files

Prior to FSL 6.0.6, the contents of this project were provided by the etc and config projects.

Tests

The .ci directory contains a collection of tests which validate the behaviour of various aspects of the base project. All tests are written in Python, and are executed with pytest.

Building FSL CUDA projects.

Some FSL projects (e.g. [fsl/eddy(https://git.fmrib.ox.ac.uk/fsl/eddy) use CUDA for GPU acceleration. In order to compile these projects, the nvcc compiler must be available on your $PATH, or a variable called $NVCC must refer to the nvcc executable to use.

The following additional options may be used to control compilation of a CUDA project:

  • CUDA_STATIC: Statically link against the CUDA runtime and certain; CUDA Toolkit libraris (default is to use dynamic linking).
  • GENCODEFLAGS: -gencode options specifying the device architectures to compile device code for (default is to use the config/supportedGencodes.sh script).

For example, to compile a CUDA project with a specific CUDA installation, and using static linking:

export PATH=/usr/local/cuda-10.2/bin:$PATH
make CUDA_STATIC=1

The Makefile for each FSL CUDA project may provide additional options for controlling compilation.