OptiX profiling?

Hi, I am researching acceleration general-purpose algorithms using rt-core

similar to this: RTNN (not my research) https://dl.acm.org/doi/abs/10.1145/3503221.3508409

However, when I use nsight compute, I can`t profile thrust and optiX kernels.

Is there any profiling tool or method?

Profiling OptiX and thrust should be supported by Nsight Compute. Could you let me know what GPU, CUDA version, driver, and Nsight Compute version you are using? What specifically do you mean by “can’t profile”? What command are you running and what output are you seeing?

1 Like

My GPU is RTX 2070 super and CUDA 11.0, driver 511.65
I use the NVIDIA Nsight Compute 2020.1.1,

To profile my program, I select the profile:


and I can see the analysis file:


Here, what should I focus on?

In detail, To choose thread layout for my program, I use the square root of point size because my input is point list.

const int vSize = (int)ptssize_[objIDX];
int sqrtSize = ceil(sqrt(vSize));

cudaEventRecord(start, optixProgram.stream);

OPTIX_CHECK(optixLaunch(optixProgram.pipeline, optixProgram.stream,
cudaEventRecord(end, optixProgram.stream);

And my 'cant profile' means that Im not sure my program really uses RT core.

Your Nsight Compute and CUDA versions are both pretty old. Are you able to update them? Nsight Compute has made a lot of changes, particularly with OptiX support since then. OptiX support was only add in version 2021.1 for OptiX 6.x and newer. RT Core metrics were only added recently. What version of OptiX are you using?

1 Like

Hi, @aister91

Is your problem solved by upgrading NCU and CUDA ? We are glad to help if you still have any other issue.

1 Like

I`m sorry about this topic,
I was busy with other work,

So maybe I can update Nsight compute and CUDA this week, and then I will report them.

Thanks for your interest.

@veraj @jmarusarz

I updated the CUDA and Nsight compute versions to CUDA 12.3 and NSight compute 2023.3.1
I used OptiX 7.4.0,

I got the result that is analysis of my program, however, I couldn`t find that my program really uses RT-core.

How can I have confidence that my program uses RT- or Tensor core?

Hi, @aister91

Thanks for the update ! Actually if you see kernels shown as cmdlist(optix…), that means you are using RTCore already. On modern cards, using OptiX is a pretty strong guarantee RTCores are being used.

1 Like

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