Is Optix 9 Clusters API supported on Ampere?

Hi,

I was trying to test this repo (https://github.com/NVIDIA/optix-subd) today and encountered a couple of issues. According to the Optix 9 programming guide, cluster acceleration structure should be supported on an Ampere gpu but when I try to build the optix module I get the error: “Cluster Acceleration Structures are not supported on this device.”

Also the OPTIX_DEVICE_PROPERTY_CLUSTER_ACCEL device query returns false for my device with the driver 576.40 (which returns true with the driver ver. 572.70 but have a crush in nvrtum64.dll for some reason)

Did anyone tried running this repo on an Ampere system successfully? Maybe there might be something wrong with my gpu? Thanks.

My system:
RTX 3090 (GA102)
Windows 10
Cuda SDK 12.8
Nvidia Game Ready driver 32.0.15.7640 (576.40)

Yes, clusters are supported on Ampere. I’ll go grab an A6000 and give it a quick test just to confirm. I can’t explain the behavior you’re seeing where a newer driver returns false/unsupported and an older driver returns true/supported, but if I find anything I’ll report back here.

Also just to confirm : your system has a single GPU, no other discrete or integrated GPU, correct? And do other OptiX SDK samples work fine?

Hi, thanks for looking into it. Yes my system has only a single discrete 3090. I just tested the optix advanced samples again with this driver (GitHub - NVIDIA/OptiX_Apps: Advanced Samples for the NVIDIA OptiX 7 Ray Tracing SDK) and they seem to run just fine.

Thanks.

I tried two different Ampere gpus (A6000, 3090 Ti) on Ubuntu using a recent public driver and wasn’t able to repro. I can try on Windows 11 this week on the slim chance that the specific driver you listed has a problem.

On your end, rather than testing the Advanced Samples, how about the “optixClusterStructuredMesh” sample in the OptiX 9.0 SDK? This is a simpler sample that uses clusters, including the device query for cluster support.

Hi @dlacewell, I just tested the optixClusteredMesh from the Optix9 SDK and it also shows the same issue (returns false for OPTIX_DEVICE_PROPERTY_CLUSTER_ACCEL flag).

Btw I’ve also tested this on my work pc (WIndows 11, Cuda 12.8 and Driver 576.40) with a RTX A4500 and that gpu does not have the same issue, so I’m thinking it’s rather specifically my gpu or the windows 10 might be the problem.

I will try to upgrade to windows 11 and try again to see if that makes a difference.

Hi again @dlacewell,

I’ve upgraded my pc to windows 11 (which was way overdue anyway) and I’m not having any problems anymore. I don’t know what the problem was on windows 10 but I can say all is working well now.

I can run the optixClusteredMesh example and the optix subd repos successfully.

1 Like

That’s great news, thanks for tracking it down and reporting back. We don’t have a lot of machines with Windows 10 on them, although it’s technically supported so I’ll ask around for a QA machine.

You probably found this in the README already, but you can load your own quad meshes and scenes into that sample pretty easily.

also on the screenshot you posted, you’re getting 4 fps? That should be way, way higher on an A6000. Is it a debug build? Try going to Release; debug builds are super slow because we compile the shaders with full info.

Hi again, that screenshot was from a debug build launched from inside vs with a 3090. WIth a release build I can get up to 500fps which I think is quite good for my gpu.

1 Like

Now that’s more like it :)

Some more interesting scenes here:

Manually clone these to a directory named “assets” inside the top of the optix-subd project.

1 Like

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