CUDA 11.0.x support in Blender

Maybe I’m missing it, but I don’t see a task for CUDA 11 support in Blender 2.90 and there isn’t a milestone for the next release (3.0?). When is CUDA 11 support planned? With Ampere launching in September, there are some important new features and optimizations including support for the 3rd gen Tensor cores, hardware JPEG acceleration, and performance optimizations for a bunch of libraries.

There is a file, which has to be changed for supporting CUDA11&sm_80:

//blender/intern/cycles/kernel/kernels/cuda/kernel_config.h
//#elif __CUDA_ARCH__ <= 799
/* 8.x */
#elif __CUDA_ARCH__ <= 899

Here is the result for NVIDIA A100 before changes:
benchmark1

Here is the result for NVIDIA A100 after changes:
benchmark2

For ex. rendertimes for classroom: 97s->81s

any downsides on supporting CUDA 11 that you know? the speed gain is quite cool

I had problems with 10.2 version, but I did not find any problem with 11.0 version in B2.83/B2.9 for now.

1 Like

I’m also compiling with CUDA 11 under Linux but I can’t use the Optix denoiser with it (which I don’t need anyway).

Have you tried with Optix 7.1?

Maybe it only works with 7.1 and not with 7.0.

Yes, 7.1. It complains about sm_33 or something like that. Although I don’t even try to compile that old kernel.

1 Like

You may try to disable some architectures at compilation time, I think it’s specified in cmake-gui

That’s exactly what I did. I only compile for my 1080ti (forgot the architecture) and still it complains about some ancient arch during compilation.

weird, maybe @brecht can shed some light on this, although since CUDA 11 is not official yet maybe it’s some other problem.

Apart from not being able to use Optix denoiser (which isn’t a big deal for me) CUDA 11 feels really stable so far.

Awesome, but I would like to be able to use Optix, and for other users of our build I’m sure Optix is important :slight_smile:

Out of curiosity, have you tried to build Blender with all the architectures?

Yes, I did. Problem might be I’m not a very experienced builder or rather a coder.

Thanks, I’ll commit that change.

5 Likes

@brecht Thanks.
@JeroenBakker Could you try it to make a new test (Blender Open Data) with sm_86? Thanks.

Be aware that SM_30, SM_35 and SM_37 have to be disabled, not just 30, so maybe that’s your problem :slight_smile:

I built it with CUDA 11 and Optix 7.1 and it built without trouble but of course some GPU’s are not available now, mostly model 6xx and 7xx I think.

1 Like

D8063 did all these things, so you could give that a whirl until proper support lands

2 Likes

Nice, it worked!
I’m sure I tried exactly the same some weeks ago and it failed although I only enabled sm_51. But nice, now I also have Optix denoiser in the viewport in my Linux builds.

1 Like

I don’t have that card anymore, but will pass on the message to @sergey

It could be to use for sm_86 too. But I dont have this new card (yet:))). Many countries still wait on RTX30series.