安装kaldi提示CUDA版本与实际安装版本不符
在kaldi的src文件夹下运行
./configure --shared
提示:
***configure failed: CUDA 9_1 does not support g++ (g++-7).
You need g++ < 7.0. ***
而我在实际安装的版本是10_1:
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Sun_Jul_28_19:07:16_PDT_2019
Cuda compilation tools, release 10.1, V10.1.243
通过查看configure文件发现:
314 if [ ! -d "$CUDATKDIR" ]; then
315 for base in /usr/local/share/cuda /usr/local/cuda /usr/ ; do
316 if [ -f $base/bin/nvcc ]; then
317 CUDATKDIR=$base
318 fi
319 done
320 fi
通过输出发现这个CUDATKDIR设置成了/usr/(而我实际安装CUDA的目录为/usr/local/CUDA/,导致后续代码
322 if [ -d "$CUDATKDIR" ]; then
323 if [ ! -f $CUDATKDIR/bin/nvcc ]; then
324 failure "Cannnot find nvcc in CUDATKDIR=$CUDATKDIR"
325 fi
326
327 if [[ "$TARGET_ARCH" != "`uname -m`" ]] ; then
328 failure "Cannot cross compile with CUDA support"
329 fi
330
331 #add by mocai to test CUDA_VERSION
332 echo "CUDATKDIR:$CUDATKDIR "
333
334
335 # Determine 'CUDA_ARCH',
336 CUDA_VERSION=$($CUDATKDIR/bin/nvcc -V | tr '.,' '_ ' |
337 awk '/release/{sub(/.*release/,""); print $1;}')
中的CUDA_VERSION 被设置成了
/usr/bin/nvcc -V
版本变成了9_1。
解决办法:
修改configre文件,将/usr/放到第一个:
314 if [ ! -d "$CUDATKDIR" ]; then
315 for base in /usr/ /usr/local/share/cuda /usr/local/cuda ; do
316 if [ -f $base/bin/nvcc ]; then
317 CUDATKDIR=$base
318 fi
319 done
320 fi