Is it possible to measure memory transfer time and kernel execution time in ITK + GPU?

When benchmarking GPU algorithms it is important to measure kernel execution time separated from memory transfer times (CPU->GPU and GPU->CPU). Is it possible to measure these times separately for existing algorithms (e.g., GPUBinaryThresholdImageFilter?). Thanks in advance.

Hi @Rafael_Palomar ,

Welcome to the ITK community! :sun_with_face:

To separate the memory transfer times, call UpdateBuffers() on the images.

Here is an example:


2 posts were split to a new topic: GPU support in Python packages

Thank you, @matt.mccormick! That solved the issue.