ROCm/HIPIFY

[HIPIFY][win] cannot find CUDA installation

JinchiDai opened this issue · 18 comments

Problem Description

I managed to generate the hipify-clang tool on win10, but it doesn't look good.

My installation path of CUDA is: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6
When I type: " hipify-clang.exe D:\code\C++\CudaRuntime1\CudaRuntime1\kernel.cu --cuda-path=C:\Program Files\NVIDIA GPU Computing Toolkit "

The error is like:
error: no such file or directory: 'Files\NVIDIA'
error: no such file or directory: 'GPU'
error: no such file or directory: 'Computing'
error: no such file or directory: 'Toolkit\Files'
error: unsupported architecture 'nvptx64' for host compilation

error: cannot find CUDA installation; provide its path via '--cuda-path', or pass '-nocudainc' to build without CUDA includes
C:\Users\DaisyDIE\AppData\Local\Temp\kernel.cu-87d3d6.hip:2:10: fatal error: 'cuda_runtime.h' file not found
#include "cuda_runtime.h"

I want to know what I should do next.

Operating System

Windows 10 pro 19045.3803

CPU

Intel Core i7-10870H

ROCm Version

No response

ROCm Component

HIPIFY

Steps to Reproduce

cuda path: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6
cudnn path: D:\software\cudnn-windows-x86_64-8.4.0.27_cuda11.6-archive
llvm path: D:\software\llvm-project-14.0.6.src\dist

by the way, I\ve added the installation path of the CUDA to the environment variable

(Optional for Linux users) Output of /opt/rocm/bin/rocminfo --support

No response

Additional Information

No response

Specify CUDA path in double quotes as below
hipify-clang.exe D:\code\C++\CudaRuntime1\CudaRuntime1\kernel.cu --cuda-path="C:\Program Files\NVIDIA GPU Computing Toolkit"

Specify CUDA path in double quotes as below hipify-clang.exe D:\code\C++\CudaRuntime1\CudaRuntime1\kernel.cu --cuda-path="C:\Program Files\NVIDIA GPU Computing Toolkit"

I've tried, but unfortunately, that doesn't work

Please, use an exact path to your CUDA: --cuda-path="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6".

Please, use an exact path to your CUDA: --cuda-path="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6".

It works! Thanks so much! However, I ran into a new problem.

The error is like:
error:
STL1002: Unexpected compiler version, expected CUDA 10.1 Update 2 or newer.
error: expected expression
addKernel << <1, size >> > (dev_c, dev_a, dev_b);

Is this because I didn't install CUDA properly? But cuda 11.6 works fine in my Visual Studio 2022.

Could you provide an exact error log, please? Probably, the error is in space symbols in << < and >> >.

Could you provide an exact error log, please? Probably, the error is in space symbols in << < and >> >.

Same as u think!

here is the exact error:
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.30.30705\include\yvals_core.h:571:2: error:
STL1002: Unexpected compiler version, expected CUDA 10.1 Update 2 or newer.
#error STL1002: Unexpected compiler version, expected CUDA 10.1 Update 2 or newer.
^
C:\Users\DaisyDIE\AppData\Local\Temp\kernel.cu-51000a.hip:91:15: error: expected expression
addKernel << <1, size >> > (dev_c, dev_a, dev_b);
^
C:\Users\DaisyDIE\AppData\Local\Temp\kernel.cu-51000a.hip:91:27: error: expected expression
addKernel << <1, size >> > (dev_c, dev_a, dev_b);

Could you please provide a whole hipify-clang output log (with the -v option) and its invocation command line?

Could you please provide a whole hipify-clang output log (with the -v option) and its invocation command line?

Of course!

D:\software\Hipify\dist\bin>hipify-clang.exe D:\code\C++\CudaRuntime1\CudaRuntime1\kernel.cu --cuda-path="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6"
warning: CUDA version is newer than the latest supported version 11.5 [-Wunknown-cuda-version]
In file included from :1:
In file included from D:/software/llvm-project-14.0.6.src/dist/lib/clang/14.0.6\include__clang_cuda_runtime_wrapper.h:41:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.30.30705\include\cmath:9:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.30.30705\include\yvals.h:9:
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.30.30705\include\yvals_core.h:571:2: error: STL1002: Unexpected compiler version, expected CUDA
10.1 Update 2 or newer.
#error STL1002: Unexpected compiler version, expected CUDA 10.1 Update 2 or newer.
^
C:\Users\DaisyDIE\AppData\Local\Temp\kernel.cu-8e4c6f.hip:91:15: error: expected expression
addKernel << <1, size >> > (dev_c, dev_a, dev_b);
^
C:\Users\DaisyDIE\AppData\Local\Temp\kernel.cu-8e4c6f.hip:91:27: error: expected expression
addKernel << <1, size >> > (dev_c, dev_a, dev_b);
^
C:\Users\DaisyDIE\AppData\Local\Temp\kernel.cu-8e4c6f.hip:91:30: warning: left operand of comma operator has no effect [-Wunused-value]
addKernel << <1, size >> > (dev_c, dev_a, dev_b);
^~~~~
C:\Users\DaisyDIE\AppData\Local\Temp\kernel.cu-8e4c6f.hip:91:37: warning: left operand of comma operator has no effect [-Wunused-value]
addKernel << <1, size >> > (dev_c, dev_a, dev_b);
^~~~~
2 warnings and 3 errors generated when compiling for host.
Error while processing C:\Users\DaisyDIE\AppData\Local\Temp\kernel.cu-8e4c6f.hip.

Thanks, but could you provide a verbose log (-v), please?

Thanks, but could you provide a verbose log (-v), please?

Sorry, I didn't understand it before, but now I do.
Did u mean this :

D:\software\Hipify\dist\bin>hipify-clang.exe D:\code\C++\CudaRuntime1\CudaRuntime1\kernel.cu --cuda-path="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6" -v
clang version 14.0.6
Target: x86_64-pc-windows-msvc
Thread model: posix
InstalledDir: D:\software\Hipify\dist\bin
Found CUDA installation: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6, version
warning: CUDA version is newer than the latest supported version 11.5 [-Wunknown-cuda-version]
clang Invocation:
"D:\software\Hipify\dist\bin\clang-tool" "-cc1" "-triple" "x86_64-pc-windows-msvc19.30.30705" "-target-sdk-version=11.5" "-aux-triple" "nvptx64-nvidia-cuda" "-fsyntax-only" "-disable-free" "-clear-ast-before-backend" "-disable-llvm-verifier" "-discard-value-names" "-main-file-name" "kernel.cu-ffafab.hip" "-mrelocation-model" "pic" "-pic-level" "2" "-mframe-pointer=none" "-fmath-errno" "-ffp-contract=on" "-fno-rounding-math" "-mconstructor-aliases" "-funwind-tables=2" "-target-cpu" "x86-64" "-tune-cpu" "generic" "-mllvm" "-treat-scalable-fixed-error-as-warning" "-v" "-fcoverage-compilation-dir=D:\software\Hipify\dist\bin" "-resource-dir" "D:/software/llvm-project-14.0.6.src/dist/lib/clang/14.0.6" "-internal-isystem" "D:/software/llvm-project-14.0.6.src/dist/lib/clang/14.0.6\include\cuda_wrappers" "-include" "__clang_cuda_runtime_wrapper.h" "-I" "D:\code\C++\CudaRuntime1\CudaRuntime1" "-internal-isystem" "D:/software/llvm-project-14.0.6.src/dist/lib/clang/14.0.6\include" "-internal-isystem" "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.30.30705\include" "-internal-isystem" "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.30.30705\atlmfc\include" "-internal-isystem" "C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt" "-internal-isystem" "C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\shared" "-internal-isystem" "C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um" "-internal-isystem" "C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\winrt" "-internal-isystem" "C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\cppwinrt" "-internal-isystem" "D:/software/llvm-project-14.0.6.src/dist/lib/clang/14.0.6\include" "-internal-isystem" "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.30.30705\include" "-internal-isystem" "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.30.30705\atlmfc\include" "-internal-isystem" "C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt" "-internal-isystem" "C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\shared" "-internal-isystem" "C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um" "-internal-isystem" "C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\winrt" "-internal-isystem" "C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\cppwinrt" "-internal-isystem" "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6/include" "-Wno-pragma-once-outside-header" "-std=c++14" "-fdeprecated-macro" "-fdebug-compilation-dir=D:\software\Hipify\dist\bin" "-ferror-limit" "19" "-fmessage-length=188" "-fno-use-cxa-atexit" "-fms-extensions" "-fms-compatibility" "-fms-compatibility-version=19.30.30705" "-fcxx-exceptions" "-fexceptions" "-fcolor-diagnostics" "-internal-isystem" "D:\software\Hipify\dist\bin/../include/hipify/cuda_wrappers" "-internal-isystem" "D:\software\Hipify\dist\bin/../include/hipify" "-internal-isystem" "D:\software\Hipify\dist\bin/include/cuda_wrappers" "-internal-isystem" "D:\software\Hipify\dist\bin/include" "-faddrsig" "-x" "cuda" "C:\Users\DaisyDIE\AppData\Local\Temp\kernel.cu-ffafab.hip"

clang -cc1 version 14.0.6 based upon LLVM 14.0.6 default target x86_64-pc-windows-msvc
ignoring nonexistent directory "D:\software\Hipify\dist\bin/../include/hipify/cuda_wrappers"
ignoring nonexistent directory "D:\software\Hipify\dist\bin/../include/hipify"
ignoring nonexistent directory "D:\software\Hipify\dist\bin/include/cuda_wrappers"
ignoring nonexistent directory "D:\software\Hipify\dist\bin/include"
ignoring duplicate directory "D:/software/llvm-project-14.0.6.src/dist/lib/clang/14.0.6\include"
ignoring duplicate directory "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.30.30705\include"
ignoring duplicate directory "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.30.30705\atlmfc\include"
ignoring duplicate directory "C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt"
ignoring duplicate directory "C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\shared"
ignoring duplicate directory "C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um"
ignoring duplicate directory "C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\winrt"
ignoring duplicate directory "C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\cppwinrt"
#include "..." search starts here:
#include <...> search starts here:
D:\code\C++\CudaRuntime1\CudaRuntime1
D:/software/llvm-project-14.0.6.src/dist/lib/clang/14.0.6\include\cuda_wrappers
D:/software/llvm-project-14.0.6.src/dist/lib/clang/14.0.6\include
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.30.30705\include
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.30.30705\atlmfc\include
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\shared
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\winrt
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\cppwinrt
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6/include
End of search list.
In file included from :1:
In file included from D:/software/llvm-project-14.0.6.src/dist/lib/clang/14.0.6\include__clang_cuda_runtime_wrapper.h:41:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.30.30705\include\cmath:9:
In file included from C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.30.30705\include\yvals.h:9:
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.30.30705\include\yvals_core.h:571:2: error: STL1002: Unexpected compiler version, expected CUDA 10.1 Update 2 or
newer.
#error STL1002: Unexpected compiler version, expected CUDA 10.1 Update 2 or newer.
^
C:\Users\DaisyDIE\AppData\Local\Temp\kernel.cu-ffafab.hip:91:15: error: expected expression
addKernel << <1, size >> > (dev_c, dev_a, dev_b);
^
C:\Users\DaisyDIE\AppData\Local\Temp\kernel.cu-ffafab.hip:91:27: error: expected expression
addKernel << <1, size >> > (dev_c, dev_a, dev_b);
^
C:\Users\DaisyDIE\AppData\Local\Temp\kernel.cu-ffafab.hip:91:30: warning: left operand of comma operator has no effect [-Wunused-value]
addKernel << <1, size >> > (dev_c, dev_a, dev_b);
^~~~~
C:\Users\DaisyDIE\AppData\Local\Temp\kernel.cu-ffafab.hip:91:37: warning: left operand of comma operator has no effect [-Wunused-value]
addKernel << <1, size >> > (dev_c, dev_a, dev_b);
^~~~~
2 warnings and 3 errors generated when compiling for host.
Error while processing C:\Users\DaisyDIE\AppData\Local\Temp\kernel.cu-ffafab.hip.

Thanks. And what version of Microsoft Visual Studio 2022 are you using?

Thanks. And what version of Microsoft Visual Studio 2022 are you using?

Thanks. I'm using Microsoft Visual Studio Enterprise 2022 (x64) - Current version 17.0.0

So, it looks like your configuration of LLVM 14.0.6 + MSVC 17.0.0 is not quite supported: I see an STL mismatch, first. And this configuration has not been tested on our side: https://github.com/ROCm/HIPIFY/blob/amd-staging/docs/hipify-clang.md#hipify-clang-windows-testing.
Additionally, kernel invocation syntax is incorrect, as it contains space symbols.

The best solution here is to 1) fix the sources by removing the abovementioned spaces; 2) use a newer LLVM version (better, 17.x); 3) update your VS 2022 to the latest version (17.8.x).

So, it looks like your configuration of LLVM 14.0.6 + MSVC 17.0.0 is not quite supported: I see an STL mismatch, first. And this configuration has not been tested on our side: https://github.com/ROCm/HIPIFY/blob/amd-staging/docs/hipify-clang.md#hipify-clang-windows-testing. Additionally, kernel invocation syntax is incorrect, as it contains space symbols.

The best solution here is to 1) fix the sources by removing the abovementioned spaces; 2) use a newer LLVM version (better, 17.x); 3) update your VS 2022 to the latest version (17.8.x).

Thanks so much! I'll get back to you after I've tried 2) and 3)!
I still don't quite understand 1) . could you please give me an example of how to use it correctly?

addKernel << <1, size >> > (dev_c, dev_a, dev_b);

is incorrect; should be:

addKernel <<<1, size >>> (dev_c, dev_a, dev_b);
addKernel << <1, size >> > (dev_c, dev_a, dev_b);

is incorrect; should be:

addKernel <<<1, size >>> (dev_c, dev_a, dev_b);

Thanks! I'll give it a try.

So, it looks like your configuration of LLVM 14.0.6 + MSVC 17.0.0 is not quite supported: I see an STL mismatch, first. And this configuration has not been tested on our side: https://github.com/ROCm/HIPIFY/blob/amd-staging/docs/hipify-clang.md#hipify-clang-windows-testing. Additionally, kernel invocation syntax is incorrect, as it contains space symbols.

The best solution here is to 1) fix the sources by removing the abovementioned spaces; 2) use a newer LLVM version (better, 17.x); 3) update your VS 2022 to the latest version (17.8.x).

Thanks for your responsibility and kindness! Your suggestion worked!

Thanks for the help!