Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build kaldi with Windows10 fails,error: cuda-decoder-kernels.cc not found #3584

Closed
hawl666 opened this issue Sep 11, 2019 · 11 comments
Closed

Comments

@hawl666
Copy link

hawl666 commented Sep 11, 2019

No description provided.

@hawl666 hawl666 changed the title build kaldi with Windows10 fails,error:cuda-decoder-kernels.cc not found build kaldi with Windows10 fails,error: cuda-decoder-kernels.cc not found Sep 11, 2019
@hawl666
Copy link
Author

hawl666 commented Sep 11, 2019

When i run ./generate_solution.pl --vsver vs2017 --enable-mkl with Git bash,it fails.
ERROR?: file \d\app\kaldi\windows..\src\cudadecoder\cuda-decoder-kernels.cc not found - project kaldi-cudadecoder

@YumnaBatool
Copy link

I am also facing the same issue. Any help?

@danpovey
Copy link
Contributor

danpovey commented Sep 19, 2019 via email

@kkm000
Copy link
Contributor

kkm000 commented Sep 20, 2019

Remove the reference to cudadecoder from SUBDIRS in the src/Makefile near the top--you won't run it anyway without CUDA. Likely the way the Makefile is written in that directory confuses the script.

while(<M>) {
# parsing the part of the top-level Makefile that's like:
# SUBDIRS = base util matrix feat tree model fstext hmm optimization \
# transform lm decoder bin fstbin gmmbin featbin
if (s/^(SUBDIRS|EXT_SUBDIRS)\s+=\s+//) {

You should be aware that training on Windows is nearly an impossible feat. If you are building just for the decoding part, there is a lot you won't need to build, probably 4/5 of all executable files, and they would be the slowest to build, especially with full optimization and more so with LTCG (a.k.a. "Full program optimization"). If you want only libraries, also remove anything that ends in 'bin' from SUBDIRS.

@kkm000
Copy link
Contributor

kkm000 commented Sep 20, 2019

I am closing this ticket for now. If you believe that your issue has not been addressed, please feel free to ping me, and I'll reopen it.

@kkm000 kkm000 closed this as completed Sep 20, 2019
@FaramarzZ
Copy link

I have the same problem on windows. it seems that nvcc should convert .cu files to .cc.

@Timothyhay
Copy link

I have the same problem on windows. it seems that nvcc should convert .cu files to .cc.

Convert .cu files to .cc. seems doesn't work for me. The following building step will still failed :(

@Styletto
Copy link

Styletto commented Feb 5, 2021

I have had build kaldi to Windows 10x64 with CUDA 11.2 successfully. Base tests cheked. But can't build without cuda.

./generate_solution.pl --vsver vs2019 --enable-mkl
ERROR?: file ... cuda-decoder-kernels.cc not found - project kaldi-cudadecoder
ERROR?: file ... batched-static-nnet3-kernels.cc not found - project kaldi-cudadecoder

@jtrmal
Copy link
Contributor

jtrmal commented Feb 5, 2021 via email

@kkm000
Copy link
Contributor

kkm000 commented Feb 17, 2021 via email

@jerrypcl
Copy link

Everyone, why are you doing this? You're unlikely to run a training pipeline on Windows, as it requires good working bash, perl, python, sed,awk and you name it. If you're building a product, install CUDA and oneMKL with VS integration, create your own projects, per-library or, as I've always preferred, all objects into a single static library. The VSIX installed by CUDA and oneMKL, oneTBB and other sr=tuff take care of setting correct paths, and Cuda treats .cu files as a separaty type in the file drop down, "CUDA Source." Both are integrated very nicely. VS LTCG is very efficient. What may take 60 minutes with Clang, takes 3 with the MS compiler/linker. The MS tools are one of the best, (although not without their own quirks). Of, and either take OpenFST from https://github.com/kkm000/openfst, if you want binaries, or just put the 10 or so files into a static library too. It's a quick setup. Take the list of warnings to disable from here https://github.com/kkm000/openfst/blob/30b198ac9cf382afd75899a9a90a6d9d9fef0c16/src/openfst.props#L96, and an additional preprocessor define in line 102, same file, to silence it even more. Both Kaldi and OpenFST are extremely easy to build into your own project libraries, selecting only the stuff you need. If you want to run training, get a Linux machine with a hefty CPU and some GPU, or rent one on Google Cloud. Training on Windows is an exercise in Masochism 201, advanced course. -kkm

On Fri, Feb 5, 2021 at 5:31 AM Styletto @.***> wrote: I have had build kaldi on Windows 10x64 with CUDA 11.2. But can't do it without cuda. ERROR?: file ... cuda-decoder-kernels.cc not found - project kaldi-cudadecoder ERROR?: file ... batched-static-nnet3-kernels.cc not found - project kaldi-cudadecoder — You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub <#3584 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB6Y3BOLG7OFUYKXE653WN3S5PXLXANCNFSM4IVRA3GQ .

One obvious reason is to debug all the bin. VisualStudio is still a very handy GUI debugger. "working bash, perl, python, sed,awk" are very easy to be replaced by each individual's tool or finding alternatives.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

9 participants