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