kaldi-asr / kaldi

kaldi-asr/kaldi is the official location of the Kaldi project.
http://kaldi-asr.org
Other
14.11k stars 5.31k forks source link

CUDA12.2 support #4931

Closed egbertn closed 2 weeks ago

egbertn commented 4 weeks ago

./configure --shared --use-cuda=yes --mathlib=OPENBLAS --openblas-root=/usr/local/openblas Configuring KALDI to use OPENBLAS. Checking compiler c++ ... Checking OpenFst library in /home/egbert/kaldi/tools/openfst-1.7.2 ... Checking cub library in /home/egbert/kaldi/tools/cub-1.8.0 ... Performing OS specific configuration ... On Linux: Checking for linear algebra header files ... Your math library seems to be OpenBLAS from /usr/local/openblas. Configuring appropriately. Configuring dynamically loaded OpenBlas since --static-math=no (the default) Successfully configured for Linux with OpenBLAS from /usr/local/openblas Unsupported CUDA_VERSION (CUDA_VERSION=12_2), please report it to Kaldi mailing list, together with 'nvcc -h' or 'ptxas -h' which lists allowed -gencode values...

nvcc --version nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2023 NVIDIA Corporation Built on Tue_Aug_15_22:08:11_PDT_2023 Cuda compilation tools, release 12.2, V12.2.140 Build cuda_12.2.r12.2/compiler.33191640_0

JETSON_CUDA_ARCH_BIN=8.7

Another thing, --openblas-root should not assume append a /lib folder to the argument --openblas-root the real folder On a Jetson (aarch64) this would be --openblas-root=/usr/lib/aarch64-linux-gnu So, I had to alias the libraries

kkm000 commented 2 weeks ago

I have an idea why 12.2 was rejected, will look into that.

Another thing, --openblas-root should not assume append a /lib folder to the argument --openblas-root the real folder. On a Jetson (aarch64) this would be --openblas-root=/usr/lib/aarch64-linux-gnu. So, I had to alias the libraries

Am I copying: you had to create a symlink /usr/local/openblas? This is what you mean by "alias", correct? If so, what does the symlink point to (like in ls -lF /usr/local/openblas, note no / at end)?

egbertn commented 2 weeks ago

I quit the kaldi path. Just this, when using pkg-config, you'll get the correct path.

pkg-config --libs openblas -L/usr/lib/aarch64-linux-gnu/openblas-pthread/ -lopenblas

Thanks.