4 ms·
The running time of a CUDA kernel is apparently impossible to determine except by experiment and measurement, and might be nondeterministic. By contrast for a
by throwaway81523 1y ago
The running time of a CUDA kernel is apparently impossible to determine except by experiment and measurement, and might be nondeterministic. By contrast for a more typical CPU, there's a compiler whose assembly output you can examine, and there's a processor manual that gives the cycle timing of each instruction. So you can compute the running time at least of inner loops that stay in cache, and that sort of thing.
- almostgotcaught 1y ago> By contrast for a more typical CPU, there's a compiler whose assembly output you can examine, and there's a processor manual that gives the cycle timing of each instruction 1. You can dump the SASS that corresponds to PTX: `cuobjdump --dump-sass <input_file>` 2. Getting the cycle count of a single instruction for an OOO architecture is completely meaningless because you have no idea when the instruction will actually be issued. This is true for both AMDGPU and NV.
- saagarjha 1y agoCPUs are generally a lot harder to reason about than GPUs because they run deeply OOO.