Installation guide¶
Sampling of metabolic models is a two-step process. The first step is the generation of warmup points that will be used as a startign point for the actual sampling.
Generation of warmup points¶
To generate warmup points for metabolic models, we will use the VFWarmup
tool that uses a hybrid MPI/OpenMP distributed approach to ensure dynamic load balancing.
Requirements¶
- Linux-based system
- IBM CPLEX 12.6.3 and above Free academic version
- OpenMp comes by default in the latest gcc versions
- MPI through the OpenMPI 1.10.3 implementation.
Quick install¶
cd VFWarmup
source ./install.sh
make
Troubleshooting¶
Quick install downloads and installs 1) OpenMPI and 2) IBM CPLEX for 64-bit machines.
You can do each step separately if quick install did not work or if you have different machine specs.
- MPI: You can use the following code snippet to install MPI
VERSION=3.1.2
wget --no-check-certificate https://www.open-mpi.org/software/ompi/v3.1/downloads/openmpi-$VERSION.tar.gz
tar -xzf openmpi-$VERSION.tar.gz
cd openmpi-$VERSION
mkdir build && cd build
../configure CFLAGS="-w" --prefix=$HOME/open-mpi \
--without-verbs --without-fca --without-mxm --without-ucx \
--without-portals4 --without-psm --without-psm2 \
--without-libfabric --without-usnic \
--without-udreg --without-ugni --without-xpmem \
--without-alps --without-munge \
--without-sge --without-loadleveler --without-tm \
--without-lsf --without-slurm \
--without-pvfs2 --without-plfs \
--without-cuda --disable-oshmem \
--disable-mpi-fortran --disable-oshmem-fortran \
--disable-libompitrace \
--disable-mpi-io --disable-io-romio \
--disable-static #--enable-mpi-thread-multiple
make -j2
make install
You might also need to add MPI path
export PATH=$HOME/open-mpi/bin:$PATH
- IBM CPLEX: The recommended approach is to download IBM CPLEX and register for the free academic version.
Make sure that the CPLEXDIR path in VFWarmup/Makefile
corresponds to the installation folder of CPLEX.
- Once the required dependencies installed,
cd ACHR.cu/VFWarmup
thenmake
at the root ofVFWarmup
. - Alternatively, you can open an issue here.
Sampling¶
The actual sampling uses ACHR.cu
and starts from the warmup points generated by VFWarmup
. It is a CUDA-based GP-GPU software.
Requirements¶
- Linux-based system
- Nvidia GPU with
sm_35
architecture. Check the specs of your card here This architecture is needed asACHR.cu
uses nested parallelism to gain even higher speed-ups. - CUDA v8.0 and above
- GSL linear algebra library needed for the sequential SVD and QR.
- IBM CPLEX 12.6.3 and above
Once the required dependencies installed, make
at the root of ACHRcu
Quick install¶
cd ACHRcu
source ./install.sh
make
Troubleshooting¶
Quick install downloads and installs 1) CUDA 8.0 for 64 bit machines and 2) GSL.
You can do each step separately if quick install did not work or if you have different machine specs.
- CUDA v 8.0: You can download CUDA here, then follow the instructions for the installation.
You might also need to add CUDA path
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH
CUDA v 8.0 and above are required because ACHR.cu enables dynamic parallelism. For CUDA v 8.0, a GCC version < 5.0 is required.
You can install GCC 4.8 like the following:
sudo apt install gcc-4.8 g++-4.8
sudo ln -s /usr/bin/gcc-4.8 /usr/local/cuda/bin/gcc
You can also install newer CUDA versions that support recent versions of GCC.
- GSL: You can install GSL like the following
sudo apt-get install libgsl-dev
- IBM CPLEX: check the installation of
VFWarmup
for the download and install of IBM CPLEX.
Make sure that the CPLEXDIR path in ACHRcu/Makefile
corresponds to the installation folder of CPLEX.
- Once the required dependencies installed,
cd ACHR.cu/ACHRcu
thenmake
at the root ofACHRcu
. - Alternatively, you can open an issue here.