Installation instructions

Linux/Windows, using conda for Python

Requirements: conda Python environment, with 64 bit Python 3.5-3.11 or 2.7.

Conda packages for ASTRA Toolbox are available from the astra-toolbox channel, whereas CUDA-related packages can be installed from nvidia channel. To install ASTRA into the desired conda environment, run:

conda install astra-toolbox -c astra-toolbox -c nvidia

Windows, binary

Add the mex/ and tools/ subdirectories to your MATLAB path, or copy the Python astra module to your Python site-packages directory. We require the Microsoft Visual Studio 2015 redistributable package. If this is not already installed on your system, it is included as vc_redist.x64.exe in the ASTRA zip file.

Linux, from source

For MATLAB

Requirements: g++ (7.1 or higher), CUDA (5.5 or higher), MATLAB (R2012a or higher)

cd build/linux
./autogen.sh   # when building a git version
./configure --with-cuda=/usr/local/cuda \
            --with-matlab=/usr/local/MATLAB/R2012a \
            --prefix=$HOME/astra \
            --with-install-type=module
make
make install

Add $HOME/astra/matlab and its subdirectories (tools, mex) to your MATLAB path.

If you want to build the Octave interface instead of the MATLAB interface, specify --enable-octave instead of --with-matlab=.... The Octave files will be installed into $HOME/astra/octave .

NB: Each MATLAB version only supports a specific range of g++ versions. Despite this, if you have a newer g++ and if you get errors related to missing GLIBCXX_3.4.xx symbols, it is often possible to work around this requirement by deleting the version of libstdc++ supplied by MATLAB in MATLAB_PATH/bin/glnx86 or MATLAB_PATH/bin/glnxa64 (at your own risk), or setting LD_PRELOAD=/usr/lib64/libstdc++.so.6 (or similar) when starting MATLAB.

For Python

Requirements: g++ (7.1 or higher), CUDA (5.5 or higher), Python (2.7 or 3.x), Cython, six, scipy

cd build/linux
./autogen.sh   # when building a git version
./configure --with-cuda=/usr/local/cuda \
            --with-python \
            --with-install-type=module
make
make install

This will install ASTRA into your current Python environment.

Windows, from source using Visual Studio 2015

Requirements: Visual Studio 2015 (full or community), boost (recent), CUDA 8.0, MATLAB (R2012a or higher) and/or WinPython 2.7/3.x.

Using the Visual Studio IDE

  • Set the environment variable MATLAB_ROOT to your MATLAB install location.

  • Copy boost headers to lib\include\boost (i.e., copy the boost subdirectory from the boost source archive to lib\include), and boost libraries to lib\x64.

  • Open astra_vc14.sln in Visual Studio.

  • Select the appropriate solution configuration (typically Release_CUDA|x64).

  • Build the solution.

  • Install by copying AstraCuda64.dll and all .mexw64 files from bin\x64\Release_CUDA and the entire matlab\tools directory to a directory to be added to your MATLAB path.

Using .bat scripts in build\msvc

  • Edit build_env.bat and set up the correct directories.

  • Run build_setup.bat to automatically copy the boost headers and libraries.

  • For MATLAB: Run build_matlab.bat. The .dll and .mexw64 files will be in bin\x64\Release_Cuda.

  • For Python 2.7/3.5: Run build_python27.bat or build_python35.bat. ASTRA will be directly installed into site-packages.

Linux, building conda packages

To build your own conda packages for the ASTRA toolbox, perform the following steps inside the conda environment:

cd python/conda/libastra
CUDA_ROOT=/path/to/cuda conda-build ./ # Build C++ library
cd ../
CUDA_ROOT=/path/to/cuda conda-build ./ # Build Python interface