-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
[TMVA/CMake] Fix CMake setup for DNN CUDA implementation #283
Conversation
It builds fine on my machine with this cmake setup (note that CUDA 8.0 supports only GCC up to 5.3):
And here a test python file:
|
@simonpf How was it possible on your machine to build the CUDA DNN method with the include path of the library |
Hi Stefan, Concerning CUDA 8.0: I am using CUDA 7.5 on my machine (Ubuntu 15.10) and the techlab machine (Scientific Linux CERN SLC release 6.5) so I don't think requiring CUDA version >= 8.0 is a good idea. |
Regarding the include dirs, probably it's a threading problem? It fails finding header files, so the path is not properly populated on my machine(s). Nevertheless, setting the path directly solves it. I'm running Ubuntu 16.10 LTS and it fails with CUDA 7.5 but it runs fine with 8.0. It is true that it should be possible to compile it on CERN SLC, so I'll keep investigating what is going wrong on my machine. Though, it should also run on Ubuntu 16.10 because it's used frequently (and will be used the next years because it's a LTS). |
Could you maybe run For CUDA 8.0: Did you try if adding the following nvcc flag On 28 October 2016 at 13:34, Stefan Wunsch notifications@github.com wrote:
|
Regarding the include problem: Run with this CMake/make commands on ROOT master branch:
Here the error:
And now here the verbose make output (stdout grep 'nvcc'):
Now, if I run it with only one thread (
So, during the generation of the object file of Regarding building the method with CUDA 7.5 on Ubuntu 16.04: Here the CMake config:
The error message:
And yes, it is fixed, if you append |
The relevant target is probably Concerning CUDA 7.5 and Ubuntu 16.04: I see this rather as a problem with the User's CUDA setup than |
Unfortunately the error occurs with the default installation on Ubunut 16.04. But still, I think that you are right and it's not ROOT's problem at all. |
Yep, adding
This solutions seems pretty hacky for me, shouldn't a library be build with links to the headers in the source directory? Actually, I think that I'm missing something in the build system. |
OK, great. Now, if you could also remove CUDA_INCLUDE_DIRECTORIES the bug I am unsure about the hackieness of the solution, as I understand it this On 2 November 2016 at 10:07, Stefan Wunsch notifications@github.com wrote:
|
Following the line
the ROOT include directories point to the source directory, but now we are waiting for the Nevertheless, I'll close this here for now and ask CMake guru Pere for advice about the include directories. I think that we've figured out the problems! |
I talked to Pere, the @lmoneta From my point of view, this PR is merging ready! |
dnn_cuda
(previously used pathROOT_INCLUDE_DIRS
is not in local scope)