Broke out FFTW build into own script
This commit is contained in:
parent
438056eefc
commit
557025fe7a
2 changed files with 80 additions and 32 deletions
|
|
@ -184,8 +184,8 @@ pkg_install_dir=${OPENMPI_INSTALL_DIR}/${OPENMPI_VERSION}/${AVFS_COMPILER}/${AVF
|
|||
--libdir="${pkg_install_dir}/lib" \
|
||||
--enable-mpi1-compatibility \
|
||||
${EXTRA_CONFIGURE_FLAGS}
|
||||
make -j$(procs)
|
||||
make -j$(procs) install
|
||||
make -j$(nproc)
|
||||
make -j$(nproc) install
|
||||
|
||||
## INSTALL MPICH FROM SOURCE
|
||||
module load gcc/${GCC_VERSION} cmake/${CMAKE_VERSION}
|
||||
|
|
@ -221,8 +221,8 @@ pkg_install_dir=${MPICH_INSTALL_DIR}/${MPICH_VERSION}/${AVFS_COMPILER}/${AVFS_CO
|
|||
--without-x \
|
||||
--enable-gl=no \
|
||||
--with-device=${MPICH_DEVICE}
|
||||
make -j$(procs)
|
||||
make -j$(procs) install
|
||||
make -j$(nproc)
|
||||
make -j$(nproc) install
|
||||
|
||||
|
||||
MPIRUN="${pkg_install_dir}/bin/mpiexec"
|
||||
|
|
@ -289,34 +289,7 @@ make -j$(nproc) \
|
|||
PREFIX="${pkg_install_dir}" install
|
||||
|
||||
## INSTALL FFTW FROM SOURCE
|
||||
FFTW_BUILD_DIR=${BUILD_LOCATION}/fftw
|
||||
FFTW_INSTALL_DIR=${INSTALL_LOCATION}/fftw
|
||||
mkdir -p ${FFTW_BUILD_DIR}
|
||||
mkdir -p ${FFTW_INSTALL_DIR}
|
||||
|
||||
FFTW_VERSION=3.3.10
|
||||
|
||||
cd ${FFTW_BUILD_DIR}
|
||||
wget -c http://www.fftw.org/fftw-${FFTW_VERSION}.tar.gz
|
||||
tar -xf fftw-${FFTW_VERSION}.tar.gz
|
||||
cd fftw-${FFTW_VERSION}
|
||||
mkdir build && cd build
|
||||
FFTW_FLAGS="--enable-openmp --disable-shared --enable-static"
|
||||
|
||||
if [ "$MPI_ENABLED" = true ]; then
|
||||
FFTW_FLAGS="--enable-mpi ${FFTW_FLAGS}"
|
||||
fi
|
||||
if [ "${TARGET_CPU}" = "native" ]; then
|
||||
if [ -f /proc/cpuinfo ]; then
|
||||
grep '\bavx\b' /proc/cpuinfo 1> /dev/null && FFTW_FLAGS="${FFTW_FLAGS} --enable-avx"
|
||||
grep '\bavx2\b' /proc/cpuinfo 1> /dev/null && FFTW_FLAGS="${FFTW_FLAGS} --enable-avx2"
|
||||
grep '\bavx512f\b' /proc/cpuinfo 1> /dev/null && FFTW_FLAGS="${FFTW_FLAGS} --enable-avx512"
|
||||
fi
|
||||
fi
|
||||
pkg_install_dir=${PROGRAM_INSTALL_DIR}/${PROGRAM_VERSION}
|
||||
./configure --prefix=${pkg_install_dir} --libdir="${pkg_install_dir}/lib" ${FFTW_FLAGS}
|
||||
make -j$(nproc)
|
||||
make -j$(nproc) install
|
||||
./scripts/install_fftw.sh
|
||||
|
||||
## INSTALL HDF5 FROM SOURCE
|
||||
module load gcc/8.1.0 openmpi/4.1.4 cmake/3.21.3
|
||||
|
|
|
|||
75
scripts/install_fftw.sh
Normal file
75
scripts/install_fftw.sh
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
#!/bin/bash
|
||||
|
||||
if [[ "$BASH_SOURCE" == "$0" ]]; then
|
||||
BUILD_LOCATION=${PWD}
|
||||
INSTALL_LOCATION=/avfs/people/parl703
|
||||
LOG_LINES=200
|
||||
else
|
||||
ROOT=${PWD}
|
||||
fi
|
||||
|
||||
TARGET_CPU=${TARGET_CPU:-"native"}
|
||||
|
||||
echo "==================== Installing FFTW ===================="
|
||||
FFTW_VERSION=3.3.10
|
||||
|
||||
FFTW_BUILD_DIR=${BUILD_LOCATION}/fftw
|
||||
FFTW_INSTALL_DIR=${INSTALL_LOCATION}/fftw/${FFTW_VERSION}
|
||||
mkdir -p ${FFTW_BUILD_DIR}
|
||||
mkdir -p ${FFTW_INSTALL_DIR}
|
||||
|
||||
cd ${FFTW_BUILD_DIR}
|
||||
if [ -f fftw-${FFTW_VERSION}.tar.gz ]; then
|
||||
echo "fftw-${FFTW_VERSION}.tar.gz is found"
|
||||
else
|
||||
wget -c ftp://ftp.fftw.org/pub/fftw/fftw-${FFTW_VERSION}.tar.gz
|
||||
fi
|
||||
#[ -d fftw-${FFTW_VERSION}/build ] && rm -rf fftw-${FFTW_VERSION}/build
|
||||
#tar -xf fftw-${FFTW_VERSION}.tar.gz
|
||||
cd fftw-${FFTW_VERSION}
|
||||
mkdir -p build && cd build
|
||||
|
||||
FFTW_FLAGS="--enable-shared"
|
||||
|
||||
if [ "${TARGET_CPU}" = "native" ]; then
|
||||
if [ -f /proc/cpuinfo ]; then
|
||||
grep '\bavx\b' /proc/cpuinfo 1> /dev/null && FFTW_FLAGS="${FFTW_FLAGS} --enable-avx"
|
||||
grep '\bavx2\b' /proc/cpuinfo 1> /dev/null && FFTW_FLAGS="${FFTW_FLAGS} --enable-avx2"
|
||||
grep '\bavx512f\b' /proc/cpuinfo 1> /dev/null && FFTW_FLAGS="${FFTW_FLAGS} --enable-avx512"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$BUILD_SINGLE" = true ]; then
|
||||
FFTW_FLAGS="--enable-float ${FFTW_FLAGS}"
|
||||
fi
|
||||
|
||||
if [ "$OPENMP_ENALBED" = true ]; then
|
||||
FFTW_FLAGS="--enable-openmp ${FFTW_FLAGS}"
|
||||
OTHER=openmp
|
||||
else
|
||||
FFTW_FLAGS="--enable-threads ${FFTW_FLAGS}"
|
||||
OTHER=smp
|
||||
fi
|
||||
|
||||
if [ "$MPI_ENABLED" = true ]; then
|
||||
FFTW_FLAGS="--enable-mpi ${FFTW_FLAGS}"
|
||||
FFTW_INSTALL_DIR=${FFTW_INSTALL_DIR}/${MPI_MODE}/${MPI_VERSION}
|
||||
else
|
||||
FFTW_INSTALL_DIR=${FFTW_INSTALL_DIR}/${OTHER}
|
||||
fi
|
||||
|
||||
echo "Installing from scratch into ${FFTW_INSTALL_DIR}"
|
||||
echo ${FFTW_FLAGS}
|
||||
../configure --prefix=${FFTW_INSTALL_DIR} ${FFTW_FLAGS} > configure.log 2>&1 || tail -n ${LOG_LINES} configure.log
|
||||
make -j$(nproc) > make.log 2>&1 || tail -n ${LOG_LINES} make.log
|
||||
if [ -z "$SKIP_CHECK" ]; then
|
||||
echo -n "Checking that everything is working properly ... "
|
||||
make -j$(nproc) check > check.log 2>&1 || tail -n ${LOG_LINES} check.log
|
||||
echo "Success!"
|
||||
fi
|
||||
#make -j$(nproc) install > install.log 2>&1 || tail -n ${LOG_LINES} install.log
|
||||
|
||||
if [[ "$BASH_SOURCE" != "$0" ]]; then
|
||||
cd ${ROOT}
|
||||
echo "Exiting ..."
|
||||
fi
|
||||
Loading…
Add table
Add a link
Reference in a new issue