Optix 6.5 - Prime Samples fail with RTX 3080

yes, but the message in the forums was always, it will not benefit performance-wise from RT Cores, but it will it will run on the HW (which was the case for RTX 20xx). You made also that assumption.

Correct, I did make that assumption. Talking to the team, I found what happened here is that we did not explicitly decide to prevent OptiX Prime from running on Ampere, we wanted it to run and it would be nice if it still continued to work. Ampere related compiler changes broke Prime unexpectedly. As part of the discussion that your report started, it was deemed too much effort and not a high enough priority to fix, because we had already communicated that Prime was deprecated, because we were not aware of customers still depending on Prime before it broke, and because we already provided an upgrade path for Prime users, one that like Detlef points out enables superior performance and flexibility.

From a developer point of view, we would appreciate if we can reuse existing code with minimal effort for future HW updates.

Yes, for what it’s worth, we very much completely agree! We have been striving to make minimal effort upgrades possible and will continue to do so. The huge change from OptiX 6 to OptiX 7 was debated internally for years(!), and everyone on the team was very worried about the fact that the new API was incompatible with the old one. We are going to do everything we can do prevent that from happening again. It’s simply that the high level OptiX 6 and earlier API was deemed to be fundamentally going in a different direction than was needed, and a course correction was necessary. We think OptiX 7 is on the right course. So far, all of our professional partners agree, and we think it will not need such a large course change again. There have been other threads about this in the past you can read that might help with context, for example Optix 7 breaking changes

That said, we are not making promises or guarantees about what will happen in the future. I don’t think OptiX will ever change again as dramatically, at least for the foreseeable future, but to answer your question directly and honestly and completely, that’s not something we have committed to. Our mission with OptiX is to enable the highest performance ray tracing that is possible, not to promise that it won’t change. There are some options available for helping to manage expectations, ensuring that changes to the OptiX API will not be a surprise, and being able to plan upgrade schedules:

  • Plan ahead to lock your SDK version and driver version for the duration of code freeze you need. Take advantage of the time after code freeze to upgrade.
  • Communicate your support needs in advance to us, let us know what you’re using a how long you’d like it to work. Even if it’s more than we can agree to support, we will hear you and you’ll be more likely to get notified of changes and have advocates.
  • Use an API that comes with a published standard. Even though we really like OptiX and think it’s the best API for GPU ray tracing, it may be worth considering Vulkan or DirectX instead. Those APIs have changed less because they change later than OptiX, they change more slowly, and they come with published standards. If stability is the priority, then these shouldn’t be ruled out. OptiX does try new things earlier than either VKR or DXR, and in part because of that, the OptiX API changes more frequently.


David.