-
Notifications
You must be signed in to change notification settings - Fork 19
Building with Vc on KNL
Bryce Adelstein-Lelbach edited this page Mar 20, 2017
·
2 revisions
Get our fork of Vc:
git clone https://github.com/STEllAR-GROUP/Vc.git
cd Vc
Build and install it (note that we only use the header only component:
mkdir BUILD
cd BUILD
cmake -DCMAKE_CXX_COMPILER="g++" \
-DCMAKE_CXX_FLAGS="-march=knl" \
-DBUILD_TESTING=OFF \
-DCMAKE_INSTALL_PREFIX="../INSTALL" \
..
make -j16 install
Get HPX:
git clone https://github.com/STEllAR-GROUP/hpx.git
cd hpx
Build and install it (example here uses the Cray toolchain cmake script that works for Cori Phase II):
mkdir BUILD_AVX512_RELEASE
cd BUILD_AVX512_RELEASE
cmake -DCMAKE_TOOLCHAIN_FILE="${SOURCE}/cmake/toolchains/CrayKNL.cmake" \
-DCMAKE_BUILD_TYPE="Release" \
-DHPX_WITH_DATAPAR_VC=ON \
-DHPX_WITH_DATAPAR_VC_NO_LIBRARY=ON \
-DVc_INCLUDE_DIR="/path/to/your/Vc/INSTALL/include" \
-DBOOST_ROOT="/path/to/your/boost" \
-DTCMALLOC_ROOT="/path/to/your/tcmalloc" \
-DHWLOC_ROOT="/global/common/cori/software/hwloc/1.11.4/knl" \
-DHPX_WITH_MALLOC="tcmalloc" \
-DCMAKE_INSTALL_PREFIX="../INSTALL_AVX512_RELEASE" \
..
make -j16 install
Get Octotiger:
git clone https://github.com/STEllAR-GROUP/octotiger.git
cd octotiger
Build it:
mkdir BUILD_AVX512_RELEASE
cd BUILD_AVX512_RELEASE
cmake -DCMAKE_TOOLCHAIN_FILE="${SOURCE}/cmake/toolchains/CrayKNL.cmake" \
-DCMAKE_BUILD_TYPE="Release" \
-DCMAKE_PREFIX_PATH="/path/to/hpx" \
-DHPX_WITH_MALLOC="tcmalloc" \
-DSilo_LIBRARY="/path/to/silo/lib/libsilo.a" \
-DSilo_INCLUDE_DIR="/path/to/silo/include" \
-DCMAKE_INSTALL_PREFIX="../INSTALL_AVX512_RELEASE" \
..
make -j16 install