Optix 5.1.1 crashes on A100 GPU on attempt to create buffer

Hi everybody,

My OptiX 5.1.1-based application crashes on attempt to create optix buffer when I run it on A100-PCIE-40GB GPU. The minimal example that reproduces the problem looks as following:

#include <optix.h>
#include <optixu/optixpp.h> 
int main()
{
         optix::Context OptixContext = optix::Context::create();
         optix::Buffer op_buf = OptixContext->createBuffer(RT_BUFFER_INPUT, RT_FORMAT_FLOAT);
         return 0;
}

This program crashes on OptixContext->createBuffer(…) call with the following output:

pure virtual method called
terminate called without an active exception

The display driver version is 450.119.03, operating system is Ubuntu 20.04.
I tried building it with both cuda 10.1.243 and cuda 11, but the problem persists. I used g+±8 for building.
The error doesn’t pop up when I build and run the example above on older gpu, e.g., RTX 2080 with display driver 450.102.04.

Do Ampere series GPUs still support OptiX 5? If yes, then any ideas what might cause the problem and how to fix it?

Thanks in advance!

Hi @PPavel,

OptiX 5 and earlier versions are indeed not supported on Ampere. The easiest immediate path forward is to move to OptiX 6.5 - there were only minor API changes. The safest long term path forward is to move to OptiX 7, but as you probably know the new API is very different from earlier versions and will require a bit more effort to update. Let us know if you need any help with the updating.


David.

Thanks a lot for your reply! Indeed, migration to OptiX 6.5 looks like a fast workaround at the moment, but I’ll consider the OptiX 7 option as well.