qcdcode / quda

QUDA is a library for performing calculations in lattice QCD on GPUs.
http://lattice.github.com/quda
Other
2 stars 0 forks source link

suggestion for faster compilation #10

Open kostrzewa opened 3 years ago

kostrzewa commented 3 years ago

QUDA compile times can be daunting. Limiting some of the template explosion can help significantly:

#!/bin/bash
cmake \
-DCMAKE_INSTALL_PREFIX="$(pwd)/install" \
-DQUDA_FAST_COMPILE_REDUCE=ON \
-DQUDA_FAST_COMPILE_DSLASH=ON \
-DQUDA_RECONSTRUCT=4 \
-DQUDA_PRECISION=8 \
-DQUDA_MAX_MULTI_BLAS_N=1 \
-DQUDA_BUILD_ALL_TESTS=ON \
-DQUDA_GPU_ARCH=sm_61 \
-DQUDA_INTERFACE_QDP=ON \
-DQUDA_INTERFACE_MILC=OFF \
-DQUDA_MPI=OFF \
-DQUDA_DIRAC_WILSON=ON \
-DQUDA_DIRAC_TWISTED_MASS=ON \
-DQUDA_DIRAC_TWISTED_CLOVER=ON \
-DQUDA_DIRAC_NDEG_TWISTED_CLOVER=ON \
-DQUDA_DIRAC_NDEG_TWISTED_MASS=ON \
-DQUDA_DIRAC_CLOVER=ON \
-DQUDA_DYNAMIC_CLOVER=ON \
-DQUDA_DIRAC_DOMAIN_WALL=OFF \
-DQUDA_MULTIGRID=ON \
-DQUDA_QMP=ON \
-DQUDA_QIO=ON \
-DQUDA_DOWNLOAD_USQCD=ON \
-DQUDA_DIRAC_STAGGERED=OFF \
${QUDA_SRC_DIR}

See https://github.com/lattice/quda/wiki/QUDA-Build-With-CMake#reducing-qudas-build-time for datails.

kostrzewa commented 3 years ago

@urbach

kostrzewa commented 3 years ago

The settings above enable QUDA (with tests) to be built in its entirety in 8 minutes on my machine. A change in dslash_ndeg_twisted_clover_preconditioned.cuh implies just a 90 second compile or so (compared to over 30 minutes with the full set of template combinations).