AGILE (gpu image reconstruction library)
https://docs.rc.uab.edu/
Please use the new documentation url https://docs.rc.uab.edu/ for all Research Computing documentation needs.
As a result of this move, we have deprecated use of this wiki for documentation. We are providing read-only access to the content to facilitate migration of bookmarks and to serve as an historical record. All content updates should be made at the new documentation site. The original wiki will not receive further updates.
Thank you,
The Research Computing Team
AGILE (Environment for Linear and non-linear Image reconstruction using GPU Acceleration) is an open source library for GPU accelerated reconstruction problems in medical imaging. AGILE is developed at the Institute of Medical Engineering, Gratz University of Technology. It includes reconstruction code for Magnetic Resonance Imaging and Fluorescence Tomography, and was developed and tested on Linux systems.
Using AGILE
AGILE is available as a source code bundle and requires a GPU to execute.
AGILE on Cheaha
At this time, AGILE can only be run on Cheaha by building from source and running directly on the demonstration GPU node.
Preliminary Requirements
Before getting started, please review the Software Build Considerations to help create a sane, reproducible software product.
Using or building software for the GPU on Cheaha requires that you directly log into the GPU compute node. Start an SSH session with cheaha.uabgrid.uab.edu and after you log in execute a second SSH to the GPU compute node.
ssh cheaha-compute-1-9
Set up Build Environment
The build instructions below will assume all commands are executed from a directory dedicated to the AGILE build, after you are logged into the GPU compute node, set up your build environment. In addition to your base build environment you will need the CUDA compiler utilities.
mkdir agile-build cd agile-build bash PATH=/bin:/usr/bin; unset LD_LIBRARY_PATH module load cuda/cuda4.0
Install Dependencies for AGILE Build
CMake
CMake is a build management tool that provides utilities to support cross platform code. The CMake project provides a 32-bit binary for Linux that you can use. The utilities only control the build process, therefore the 32-bit code CMake code should not affect the 64-bit AGILE binaries produced below.
wget http://www.cmake.org/files/v2.8/cmake-2.8.6-Linux-i386.tar.gz tar xvfz cmake-2.8.6-Linux-i386.tar.gz PATH=$PATH:$PWD/cmake-2.8.6-Linux-i386/bin
Boost
Boost is a collection of peer-reviewed portable C++ libraries that are targeted for standardization. Install boost with:
wget http://downloads.sourceforge.net/project/boost/boost/1.48.0/boost_1_48_0.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fboost%2Ffiles%2Fboost%2F1.48.0%2F&ts=1322092023&use_mirror=cdnetworks-us-2 tar xvfz boost_1_48_0.tar.gz cd boost_1_48_0 ./bootstrap.sh --prefix=$PWD/../boost ./b2 install cd .. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD/boost/lib
Doxygen
Doxygen is a documentation system that supports many languages and builds documentation from source code and comments embedded in the source code, helping ensure accurate API documentation.
wget http://ftp.stack.nl/pub/users/dimitri/doxygen-1.7.5.1.src.tar.gz tar xvfz doxygen-1.7.5.1.src.tar.gz cd doxygen-1.7.5.1 ./configure --prefix $PWD/../doxygen make make install cd .. export PATH=$PATH:$PWD/doxygen/bin
Command to Build
The following build instructions were provided by Dr. Puri Bangalore
ls more INSTALL cd wget http://downloads.sourceforge.net/project/flex/flex/flex-2.5.35/flex-2.5.35.tar.gz?r=http%3A%2F%2Fflex.sourceforge.net%2F&ts=1322094898&use_mirror=voxel tar xvfz flex-2.5.35.tar.gz cd flex-2.5.35 ./configure --prefix=/home/puri/flex make install cd cd flex ls ls bin/ export PATH=$PATH:/home/puri/flex/bin cd cd doxygen-1.7.5.1 cd cd agile mkdir build cd build more ../readme.txt cmake -DBOOST_ROOT=/home/puri/boost -DCMAKE_INSTALL_PREFIX=/home/puri/apps/ .. ccmake . make make tut01 make tut01-run cd tutorial/tut01/tut01 cd tutorial/tut01/ ls ./tut01 cd ../tut02 ls ./tut02 ./tut02 cd ../tut03 ./tut03 cd ../tut04 ./tut04 cd ../tut05 ./tut05 mpirun -np 2 ./tut05 mpirun -np 4 ./tut05 cd ../tut06 ./tut06 mpirun -np 4 ./tut06 mpirun -np 2 ./tut06 mpirun -np 1 ./tut06 mpirun -np 2 compute-0-4 compute-0-7 ./tut06 mpirun -np 2 -host compute-0-4 compute-0-7 ./tut06 mpirun -help mpirun -host compute-0-4 compute-0-7 -np 2 ./tut06 mpirun --host compute-0-4 compute-0-7 -np 2 ./tut06 mpirun -np 2 --host compute-0-4 compute-0-7 ./tut06 mpirun -help cat > ~/hostfile mpirun -np 2 -hostfile ~/hostfile ./tut06 cd ../tut07 ls cd ../tut08 ls ./tut08 cd cd agile/apps/tgv_radial_image_recon/ /home/puri/agile/build/apps/tgv_radial_image_recon/nfft2d_tgv_recon_nogfx -param=recon_32_param.txt
AGILE Support
AGILE is not supported on Cheaha beyond the above build instructions provided for AGILE.
AGILE Tutorials
Please visit the AGILE web site for information on use.