В мире OpenCL есть функция clGetEventProfilingInfo, которая возвращает всю информацию профилирования события, такого как очередь, отправленное, начало и конец в наносекундах. Это довольно удобно, потому что я могу printf
, что информация, когда я хочу.Есть ли какая-то часть кода кода программы CUDA
Например, с PyOpenCL можно написать код, как этот
profile = event.profile
print("%gs + %gs" % (1e-9*(profile.end - profile.start), 1e-9*(profile.start - profile.queued)))
, который является весьма информативным для моей задачи.
Возможно ли получить такую информацию в коде вместо использования внешнего профилирующего инструмента, такого как nvprof и company?
система cudaEvent может предоставить вам эквивалент 'profile.end-profile.start' через' cudaEventElapsedTime' –