#cupy
Вопрос:
Я пытаюсь профилировать программу с помощью CUPY с помощью nvprof. Я использую with cupy.prof.time_range
для маркировки блока кода. В некоторых блоках есть длинный вызов API cuLaunchKernel, но не во всех блоках.
Поэтому мой вопрос таков:
- что это за вызов API ?
- почему это происходит после инициализации, когда я использую только стандартные функции cupy, такие как сумма, деление и выбор диапазонов?
- при каких условиях это занимает очень много времени?
==79543== Range "PAY AND COLLECT TAXES" Type Time(%) Time Calls Avg Min Max Name Range: 100.00% 53.9934s 200 269.97ms 397.80us 284.49ms PAY AND COLLECT TAXES GPU activities: 88.21% 879.16ms 800 1.0989ms 3.3280us 4.3608ms cupy_sum 11.47% 114.32ms 800 142.90us 2.9440us 536.79us cupy_subtract__float64_float64_float64 0.24% 2.4255ms 800 3.0310us 2.8160us 3.8080us cupy_add__float64_float64_float64 0.07% 720.40us 200 3.6020us 3.0080us 3.9680us cupy_add__float_float64_float64 API calls: 100.00% 53.8110s 2600 20.697ms 6.3000us 125.94ms cuLaunchKernel