Cuda error using 11.1

I am building the LineArt branch for the community and one of the users has a NVidia 3090 graphics card, which I don’t have, so I can’t test the build. He keeps getting an error with Cycles, “cuda binary kernel for this graphics card compute capability (8.6) not found.”
I have tweaked the Make files and installed 11.1 Cuda Toolkit. According to the LineArt Developer, Yiming Wu, this needs attention at the Blender Dev. level, thus this thread, as I don’t know how else to raise the issue. Thank you all for help.

Which OS and compiler you are using. Me using Win10 and with Cmake and VisualStudio2019.
It sounds like you tweaked the Make files itself.With Cmake GUI you have to set all installation paths before.After clicking on configure,then you can simply chose features you want to install by clicking the checkboxes,then generate and Cmake makes the configuration for you.Now you can make your build.

Upload the CMakeCache.txt somewhere, that usually shows where the configuration issue is.

It is currently working better, however, one of the Users claimed that “I just tried the latest build you posted today and it is now rendering in cycles with the cpu but not with the gpu”
This same person before could only use Eevee, and he has a 3090 NVidia card, which I do not have to test against.CMakeCashe.txt from that build is attached for review.
11-01-20_CMakeCache.txt (65.9 KB)

A quick look at your CmakeCache file,looks like you have no path set to Cuda 11.1.There are only paths to 10.2

This is all well and good info, however, I attempted to put in lines to 10.1, 10.2, 11.1 but it doesn’t seem to get picked up. What lines to change, in what file to get the compiler to include these already installed libraries. Can I just do this myself, or do I need to have the Dev. (Yiming Wu) make changes at his level, as I am downloading via ‘make update’ then compiling with ‘make release.’ Thank you for any help or directions.

You need a Nvidia card with at least sm_52 Maxwell cards like GTX970 or higher/newer,to build Blender with Cuda 11.1

I do a make update from the cmd.exe to load the latest git files(from the blender-git/blender folder ofc).then i start the CmakeGUI.Then in CmakeGUI i press Configure .then i select (if not done before)all parts if want to be installed via the checkboxes.Then i press Generate,now Cmake has made the config file for you.
Now you get back to cmd and type make and press enter to build your config.

You have set all paths correct in Cmake ofc before,your Blender git install path,the cuda path ect.

my looks like this

I am running a NVidia GeForce RTX 2080 Ti on one station and compile on a station with NVidia GeForce GTX 1070 and GeForce GTX 760. I have removed the 10.1, 10.2 folder leaving the 11.1 folder as I could not see a clear description of using more than one.
I have compiled the most recent LineArt Branch and will post it to see if it works any better for others, as it works for me as is.

GTX 760 is not working with Cuda 11.1 it has sm_30 which is completly dropped from Cuda 11 onwards.

I dont think you can mixup the Cuda versions,since with Cuda 11.1 the shader kernals are getting compiled with its 11.1 versions(sm_52+).

If I understand, the Cuda 11.1 supersedes prior versions, not needing to have each installed, so I am going the right direction. The GTX 760 is a ‘leftover’ extra, which I had hoped would ‘contribute’ but not get in the way. If you perceive that it is in the way, I will remove that card. Thank you for the assistance. Let me know if I have this correct.

Tbh,i have not tested or know if you have to remove the card.Maybe temporary deactivating the GTX 760 in the Device manager before compiling could work?or a command for the compiler to only compiling with the GTX1070 @brecht anyone knows?
Or the compiler skips the old card automaticly with Cuda11.1,have you tested?

Compilation does not depend on the availability of GPUs. If there’s a card you don’t want to use, just disable it in the Blender preferences.

1 Like

Thank you Brecht. I am slowly migrating to higher end cards, but assumed that the ‘old’ card would contribute somewhat to any render, perhaps I am wrong on this aspect?

The old card could help, but you can’t compile kernels for it using CUDA 11.

1 Like