Hi everyone,
this is likely a non-issue, but figured I could ask just in case..
I was compiling Kaldi today and noticed it prints out stuff like:
#$ _SPACE_=
#$ _CUDART_=cudart
#$ _HERE_=/usr/local/cuda/bin
#$ _THERE_=/usr/local/cuda/bin
#$ _TARGET_SIZE_=
#$ _TARGET_DIR_=
#$ _TARGET_DIR_=targets/x86_64-linux
#$ TOP=/usr/local/cuda/bin/..
#$ NVVMIR_LIBRARY_DIR=/usr/local/cuda/bin/../nvvm/libdevice
#$ LD_LIBRARY_PATH=/usr/local/cuda/bin/../lib:
#$ PATH=/usr/local/cuda/bin/../open64/bin:/usr/local/cuda/bin/../nvvm/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:
/sbin:/bin:/usr/games:/usr/local/games
#$ INCLUDES="-I/usr/local/cuda/bin/../targets/x86_64-linux/include"
#$ LIBRARIES= "-L/usr/local/cuda/bin/../targets/x86_64-linux/lib/stubs" "-L/usr/local/cuda/bin/../targets/x86_64-linux/lib"
#$ CUDAFE_FLAGS=
#$ PTXAS_FLAGS=
#$ gcc -D__CUDA_ARCH__=530 -E -x c++ -DCUDA_DOUBLE_MATH_FUNCTIONS -D__CUDACC__ -D__NVCC__ -fPIC -I"/usr/local/cuda/include" -I"../" "-I/usr/lo
cal/cuda/bin/../targets/x86_64-linux/include" -D"__CUDACC_VER__=70517" -D"__CUDACC_VER_BUILD__=17" -D"__CUDACC_VER_MINOR__=5" -D"__CUDACC_VER_
MAJOR__=7" -D"HAVE_CUDA" -D"KALDI_DOUBLEPRECISION=0" -include "cuda_runtime.h" -m64 -g -gdwarf-2 "
cu-kernels.cu" > "/tmp/tmpxft_0000276a_0000000
0-19_cu-kernels.compute_53.cpp1.ii"
I was wondering about the "-DCUDA_DOUBLE_MATH_FUNCTIONS" bit.. Does it mean the compiled kernels will use double precision(i.e. slower) arithmetic? It's not immediately obvious to me where this comes from, but I suspect it's somehow added by nvidia's compilers, and not by Kaldi's build system?
In short my question is whether this flag can cause performance penalty and if so, how to get rid of it?
Thanks,
Vassil