jcuda / jcuda-main

Summarizes the main JCuda libraries
MIT License
98 stars 20 forks source link

MacOS Sierra #13

Closed dalexandrov closed 5 years ago

dalexandrov commented 7 years ago

Any chance to build it on MacOS Sierra.

I've got this one:

Found CUDA: /usr/local/cuda/bin/nvcc CMake Error at CMakeLists.txt:45 (add_subdirectory): add_subdirectory given source "/Users/mitia/Documents/Java/JCuda/jcuda-main/../jnvgraph/JNvgraphJNI" which is not an existing directory.

CMake Error: The following variables are used in this project, but they are set to NOTFOUND. Please set them or make sure they are set and tested correctly in the CMake files: CUDA_nvrtc_LIBRARY linked by target "JNvrtc" in directory /Users/mitia/Documents/Java/JCuda/jcuda/JNvrtcJNI

Configuring incomplete, errors occurred! See also "/Users/mitia/Documents/Java/JCuda/bin/CMakeFiles/CMakeOutput.log".

jcuda commented 7 years ago

Regarding the missing JNvgraphJNI directory: In addition to the other git clone calls, you will need

git clone https://github.com/jcuda/jnvgraph.git

This was missing in the build instructions in the README, and I have just updated the README accordingly.


Regarding the missing NVRTC library:

This is similar to https://github.com/jcuda/jcuda/issues/3 , although this one referred to Linux. Some questions:

As a quick workaround for you: If you find the NVRTC CUDA library, you can set the CMake CUDA_nvrtc_LIBRARY variable in the cmake-gui to point to this library. Then it should be possible to build everything.

Of course, the library should be found automatically, but I may have to update the CMake find calls accordingly, as soon as I know the directory on MacOS where the NVRTC library is contained.

dalexandrov commented 7 years ago

Hello, thank you for an update.

I have installed the latest CUDA toolkit 8.0. Everything is under path /Developer/NVIDIA/CUDA-8.0 Unfortunately I couldn't find any *nvrtc*.dylib on my mac

So I'm currently like this: screenshot 2017-01-30_13-43-18

Thank you!

jcuda commented 7 years ago

I have never used a Mac, so I'm afraid I can't really give a focussed advice. Quick websearches indicate that there have been some glitches in the CUDA installation at least for version 7.5: http://stackoverflow.com/questions/36105066/cuda-7-5-install-on-mac-missing-nvrtc - maybe this is still the same for version 8.0? If so, it seems like you have to install XCode first.

As a last resort, you could compile all libraries except for that of JNvrtc, but of course, a working solution here would be preferable...

dalexandrov commented 7 years ago

I've managed to build it. Thank you!

jcuda commented 7 years ago

Thanks for the info. I assume that it was solved by installing XCode (i.e. the installation instructions for Mac). If not, people might be interested in knowing how you eventually solved it.

dalexandrov commented 7 years ago

XCode was already there. It was just use of the writing the right command

cmake ../jcuda-main -DCUDA_SDK_ROOT_DIR=/Developer/NVIDIA/CUDA-8.0 -DCUDA_nvrtc_LIBRARY=/Developer/NVIDIA/CUDA-8.0/lib/libnvrtc.dylib

jcuda commented 7 years ago

Actually, it should find these directory- and library names automatically. So it should not be necessary to give them at the command line. I'll review the CMakeLists.txt, to see whether this can be fixed.

dalexandrov commented 7 years ago

btw... may be you need these compiled for mac jars and native dylibs? For distribution?

jcuda commented 7 years ago

They should be available (for 0.8.0) according to https://github.com/jcuda/jcuda-main/issues/14 I'll try to create a Maven release ASAP, but have some other tasks in the next few days.

dalexandrov commented 7 years ago

ah, ok)

jcuda commented 5 years ago

The latest release (10.1) contains binaries for MacOS as well. If there are problems during the build for future versions, they could be discussed in a new issue.