-
Notifications
You must be signed in to change notification settings - Fork 751
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
compile cuda presets on jetson nano #735
Comments
It looks like it comes with a special version of NPPI? We'll need to fix it
accordingly or just skip it for that platform.
|
Also make sure to delete src/gen before starting the build. |
Thanks for the advice, I will try that. I did come to realize that the latest version of javacpp-presets for cuda are against Cuda 10.1. Unfortunately, and surprisingly, it seems nVidia's latest cuda release for the Jetson Nano is 10.0. |
There is a backport for CUDA 10.0 in the cuda100 branch. |
Excellent, I was able to build it successfully on the cuda100 branch! |
Just to report back a bit more. I was able to successfully build against the cuda100 branch. I was able to use that to build nd4j.. and finally, pull it all together to see gpu accelerated VGG16 classification in MyRobotLab on the Jetson Nano.. My understanding is that the Nano will eventually support cuda 10.1.. but I have no idea when that will happen. I'm happy to share the jar files that I'm using for cuda & nd4j if anyone is interested. |
Awesome! We would need to get this working with cross compilation to make it useful for CI purposes though. Is this something you could start looking into? In any case, please do send pull requests for your updates, even if we need to compile on the device! Thanks |
So, there are toolchains available for x-compile of the jetson nano. I haven't tested them out. (I was able to cross compile the raspi stuff following the other tutorial.. so perhaps I could hack my way though the jetson tool chain stuff. (as this is a background project, I can't commit to getting it done.. but I will try..) Building natively on the jetson was a pain. (a number of issues with power supplies, limited memory, and poor disk i/o performance to the SD card.) Anyway, here's a pointer to a forum thread about setting up x-compile for the jetson boards |
If you could figure this out so that it could be automated for CI, that would be awesome! |
@kwatters Until then though, if you have an account at Sonatype OSS, I could give you permission to deploy artifacts. Just let me know your username! Thanks |
I'd be happy to share the binaries .. have a look here: I changed the artifact name to "cuda-nano" because it's set for cuda compatibility level 5.3 only. |
@kwatters What's the name of your account on https://oss.sonatype.org/? I'll need that so you can deploy them alongside the others |
I just registered an account kwatters@kmwllc.com ... |
What's your username though, just "kwatters"? |
Sorry for the late reply.. was traveling/vacation. Yes, my nickname is "kwatters" for sonatype. thanks! |
Ok, thanks! You should have access within a few days: |
Let's wait for this to happen, which will allow us to support ARM like all the other platforms: |
FYI, there is now a preview release for CUDA 10.2 available at: |
Awesome! I was beginning to wonder if Nvidia had forgotten about cuda on the nano. I'll see about blowing the dust off my nano and see how it goes. |
BTW, do you have a fork or a branch somewhere that shows what you had to modify to get it to build for CUDA 10.0 with the Jetson SDK? |
It doesn't look like this is going to help for Jetson though: |
Yeah, the jetson board bundle their software with the "jetpack" releases. So, I think the best we can try is to compile against the source and see how that goes. |
CUDA 11.2 is now supported on "linux-arm64", but this might not work with Jetson if the latest version supported there is 10.x. For that reason, we can now consider this issue to be about supporting old versions of CUDA. |
Duplicate of #918 |
So, I'm still working through building various javacpp presets for the jetson nano. Now, I'm working on getting the cuda version of libdn4j build. That depends on javacpp-cuda ... so, I've made some progress, but am running into a compilation issue that I'm hoping someone else might recognize ...
I've updated the cppbuild.sh to include a branch for linux-arm64 ... On the Jetson Nano, cuda is pre-installed into /usr/local/cuda (version 10.0 ) and it would seem the header files for cuDNN are available in /usr/include ...
in the javacpp-presets/cuda directory, i'm building with the following command
mvn clean install -DskipTests -Dmaven.javadoc.skip=true -Djavacpp.platform=linux-arm64 -nsu -X -Djavacpp.platform.library.path=/usr/local/cuda -Djavacpp.includePath=/usr/local/cuda/include:/usr/include
It seems to progress, but I end up with the failure below:
Any help is appreciated. I am building this on the 1.5 tagged release. I'm happy to provide a PR with my changes once I get it working.
The text was updated successfully, but these errors were encountered: