adds a definition file for building fastga as a Singularity container
This commit is contained in:
parent
cd7787bbab
commit
949b5818a2
1 changed files with 63 additions and 0 deletions
63
eo/contrib/irace/fastga.sindef
Normal file
63
eo/contrib/irace/fastga.sindef
Normal file
|
|
@ -0,0 +1,63 @@
|
||||||
|
Bootstrap: library
|
||||||
|
From: ubuntu:20.04
|
||||||
|
|
||||||
|
%post
|
||||||
|
|
||||||
|
# Dependencies
|
||||||
|
apt -y install software-properties-common
|
||||||
|
add-apt-repository universe
|
||||||
|
apt -y update
|
||||||
|
apt -y dist-upgrade
|
||||||
|
apt -y install git clang-9 cmake make libeigen3-dev
|
||||||
|
apt clean
|
||||||
|
update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-9 90
|
||||||
|
update-alternatives --set c++ /usr/bin/clang++-9
|
||||||
|
|
||||||
|
# Temporary directory where we are going to build everything.
|
||||||
|
tmpdir=$(mktemp -d)
|
||||||
|
mkdir -p ${tmpdir}/fastga/
|
||||||
|
|
||||||
|
# Build IOH
|
||||||
|
cd ${tmpdir}/fastga/
|
||||||
|
git clone --branch feat+EAF --single-branch --recurse-submodules https://github.com/jdreo/IOHexperimenter.git
|
||||||
|
cd IOHexperimenter
|
||||||
|
mkdir -p release
|
||||||
|
cd release
|
||||||
|
cmake -D CMAKE_BUILD_TYPE=Release -D BUILD_TESTS=OFF -D BUILD_EXAMPLE=OFF -D BUILD_GMOCK=OFF ..
|
||||||
|
make
|
||||||
|
|
||||||
|
# Build Paradiseo
|
||||||
|
cd ${tmpdir}/fastga/
|
||||||
|
git clone --branch feat+num_foundry --single-branch https://github.com/jdreo/paradiseo.git
|
||||||
|
cd paradiseo
|
||||||
|
touch LICENSE
|
||||||
|
mkdir -p release
|
||||||
|
cd release
|
||||||
|
cmake -D CMAKE_BUILD_TYPE=Release -EDO=ON -EDO_USE_LIB=Eigen3 ..
|
||||||
|
make
|
||||||
|
|
||||||
|
# Build FastGA
|
||||||
|
cd ${tmpdir}/fastga/paradiseo/eo/contrib/irace/
|
||||||
|
mkdir -p release
|
||||||
|
cd release
|
||||||
|
cmake -D CMAKE_BUILD_TYPE=Release -D IOH_ROOT=${tmpdir}/fastga/IOHexperimenter/ -D PARADISEO_ROOT=${tmpdir}/fastga/paradiseo/ -D PARADISEO_BUILD=${tmpdir}/fastga/paradiseo/release/ ..
|
||||||
|
make
|
||||||
|
|
||||||
|
# Install FastGA
|
||||||
|
cp fastga /usr/local/bin/
|
||||||
|
|
||||||
|
# Clean-up
|
||||||
|
rm -rf ${tmpdir}
|
||||||
|
apt -y purge software-properties-common git clang-9 cmake make libeigen3-dev
|
||||||
|
apt -y --purge autoremove
|
||||||
|
apt -y autoclean
|
||||||
|
apt clean
|
||||||
|
|
||||||
|
%environment
|
||||||
|
|
||||||
|
%runscript
|
||||||
|
/usr/local/bin/fastga $*
|
||||||
|
|
||||||
|
%labels
|
||||||
|
Author Quentin Renau
|
||||||
|
Author Johann Dreo
|
||||||
Loading…
Add table
Add a link
Reference in a new issue