Compiling with multiple cuda versions

I have installed cuda 10.2 via jetpack 4.1 on an ubuntu host machine and jetson xavier agx, and have been cross compiling a c++/CUDA app on the ubuntu machine and then executing on the jetson. I’ve been using the multimedia api.

I’ve also been playing about a bit with deepstream by editing the deepstream test apps and compiling on the jetson device.

I want to attempt to use the Maxine Video Effects SDK as part of the application, but this seems to require cuda v11.1.
Deepstream and the multimedia api request installation only via jetpack which seems to be limited to cuda 10.2.
Is it possible to upgrade the cuda version seperately and compile apps for cuda 11 on my ubuntu machine and run them on the jetson?

So far, I have attempted to download cuda 11.4 onto the ubuntu host machine using the online instructions and softlink /usr/local/cuda to /usr/local/cuda-11.4 but i am getting a compilation error:

nvcc fatal : Unsupported gpu architecture ‘compute_30’

when trying to compile my multimedia-api app.

I have also experimented with replacing the cuda version on the jetson and compiling my deepstream app on the jetson device which is successful but gets lots of new run time errors. I’ve presumed this is because deepstream doesnt play nice with other cuda versions; am i wrong?

So my main questions are
(1) Can deepstream and/or the multimedia api run with cuda 11.4
(2) Is it possible to run maxine using cuda 10.2?
(3) If (1) == true && (2) == false
Can i safely replace my cuda version to compile on an ubuntu host machine and run on a jetson xavier agx? If so, how?


If you compile for CUDA 11.x, then your Jetson must have an environment that support 11.x (i.e. the same CUDA version support, or higher). It’s also true that CUDA 11.x no longer supports compute_30 but that should be irrelevant w.r.t. any recent Jetson device, including xavier agx.

The way to upgrade your CUDA environment on Jetson is via Jetpack. Please ask Jetson related questions on the appropriate Jetson forum. And its true that the latest Jetpack seems to support CUDA 10.2 at the moment.

Ok thanks that’s helpful.

Is there a setting i need to change in my application/makefile to prevent the compute_30 error?
Presumably theres something telling the compiler to use it that shouldn’t be there?


Yes, there is. Since you haven’t provided the makefile, its hard to be real specific. But simply grepping your makefile for compute_30 should probably find it. It sounds like you’re generally unfamiliar with compiling CUDA code, so studying something like this may help with understanding compute capability and this particular switch and what it does.

Ah yes i was using the wrong CMake options to try and pass the arch and code options through.
Thanks for your help

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.