-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Fixed cling argument --cuda-path #6707
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
Conversation
|
Starting build on |
|
Build failed on ROOT-fedora31/noimt. Failing tests:
|
|
Build failed on ROOT-performance-centos8-multicore/default. Failing tests:
|
|
Build failed on ROOT-fedora30/cxx14. Failing tests:
|
|
Build failed on mac1015/cxx17. Failing tests:
|
|
Build failed on ROOT-ubuntu16/nortcxxmod. Failing tests:
|
|
Build failed on mac1014/python3. Failing tests:
|
|
Build failed on ROOT-debian10-i386/cxx14. Failing tests:
|
|
@SimeonEhrig great, thanks! Could you check out https://github.com/root-project/roottest.git and modify the expected diagnostics ( |
I think I understand what you want. Unfortunately I have no idea what is causing the errors. The tests have nothing to do with my changes and I cannot reproduce the error on my system. I think the test scripts have problems catching the expected errors. |
05b0c45 to
d0d4e40
Compare
|
Starting build on |
|
Build failed on mac1015/cxx17. Errors:
|
|
Build failed on ROOT-fedora31/noimt. Failing tests:
|
|
Build failed on ROOT-fedora30/cxx14. Failing tests:
|
|
Build failed on ROOT-ubuntu16/nortcxxmod. Failing tests:
|
|
Build failed on ROOT-performance-centos8-multicore/default. Failing tests:
|
|
Build failed on ROOT-debian10-i386/cxx14. Failing tests:
|
| DiagnosticOptions& DiagOpts = InvocationPtr->getDiagnosticOpts(); | ||
| llvm::IntrusiveRefCntPtr<DiagnosticsEngine> Diags = | ||
| SetupDiagnostics(DiagOpts); | ||
| SetupDiagnostics(DiagOpts, COpts.CUDADevice ? "cling-ptx" : "cling"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I bet that this change is causing the test failures due to the output being different than expected. I am okay with showing cling as part of the diagnostic even for ROOT, but we will need to update the .ref files for the test suite. Can you take care of that, @SimeonEhrig or shall I?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You are right. I thought I implemented it in such a way that it doesn't affect the output when CUDA mode is not enabled to avoid this kind of problems with the CI, but that's wrong.
@Axel-Naumann
Can you please change the .ref files. I don`t have time to get involved at the moment. And please link the changes in this issue. Maybe then I understand how it works and can do it myself next time.
d0d4e40 to
d673399
Compare
|
Starting build on |
|
Build failed on ROOT-fedora31/noimt. Failing tests:
|
|
Build failed on ROOT-ubuntu16/nortcxxmod. Failing tests:
|
|
Build failed on windows10/cxx14. Errors:
|
|
Build failed on ROOT-performance-centos8-multicore/default. Failing tests:
|
|
Build failed on mac11.0/cxx17. Failing tests:
|
|
Build failed on ROOT-debian10-i386/cxx14. Failing tests:
|
|
Build failed on ROOT-fedora30/cxx14. Failing tests:
|
|
Build failed on windows10/cxx14. Errors:
|
|
The windows "error" is spurious, caused by the error log parser matching the commit log. |
interpreter/cling/lib/Interpreter/IncrementalCUDADeviceCompiler.cpp
Outdated
Show resolved
Hide resolved
- add the prefix "cling" (normal interpreter error) or "cling-ptx" (ptx interpreter -> just in CUDA mode) to every interpreter error message - example before: error: cannot find CUDA installation. Provide its path via --cuda-path, or pass -nocudainc to build without CUDA includes. error: cannot find libdevice for sm_20. Provide path to different CUDA installation via --cuda-path, or pass -nocudalib to build without linking with libdevice. error: cannot find CUDA installation. Provide its path via --cuda-path, or pass -nocudainc to build without CUDA includes. - example after: cling: error: cannot find CUDA installation. Provide its path via --cuda-path, or pass -nocudainc to build without CUDA includes. cling-ptx: error: cannot find libdevice for sm_20. Provide path to different CUDA installation via --cuda-path, or pass -nocudalib to build without linking with libdevice. cling-ptx: error: cannot find CUDA installation. Provide its path via --cuda-path, or pass -nocudainc to build without CUDA includes.
- make public that it is accessible via gCling object during the Cling runtime.
- now the custom path of `--cuda-path` is correctly set in the ptx compiler, allowing the use of CUDA SDK's which are not installed on in the default location
…ult location - To enable the CUDA test, lit detects the `libcudart.so` in `LD_LIBRARY_PATH`. Now lit also set the CUDA SDK root of `libcudart.so` as cling parameter (`--cuda-path`) in the tests. - Pass through the environment variable `CUDA_VISIBLE_DEVICES`.
2c9371d to
5d042dc
Compare
|
Starting build on |
|
Build failed on mac11.0/cxx17. Failing tests:
|
|
Build failed on windows10/cxx14. Errors:
|
Axel-Naumann
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That inline won't work, I meant to suggest to actually inline :-) See proposed changes.
| IncrementalCUDADeviceCompiler* Interpreter::getCUDACompiler() const { | ||
| return m_CUDACompiler.get(); | ||
| } | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| IncrementalCUDADeviceCompiler* Interpreter::getCUDACompiler() const { | |
| return m_CUDACompiler.get(); | |
| } |
|
Build failed on ROOT-debian10-i386/cxx14. Failing tests:
|
5d042dc to
02cfe25
Compare
|
Starting build on |
|
Build failed on ROOT-performance-centos8-multicore/default. Failing tests: |
|
Build failed on mac11.0/cxx17. Failing tests: |
|
Build failed on windows10/cxx14. Errors:
Failing tests:
|
|
@Axel-Naumann I applied your suggestions. I think, the CI is also fine. The MacOS 11 and CentOS 8 looks not related to my changes, and the Windows 10 job has the parser problems. |
|
Great, please go ahead and hit "rebase and merge"! |
done 😁 |
The cling argument
--cuda-pathis necessary if the CUDA SDK is not installed under/usr/local/cuda, e.g. on HPC systems. The integration tests are also updated to handle a CUDA SDK under a non-standard location.Additional diagnostic
To find the bug, I also add some diagnostic functions for the PTX compiler.
example
cudaIncrementalDeviceCompileravailable through reflection via thegClingobject.