Трудно определить точные «издержки» вызова OpenCL, потому что операции на GPU могут выполняться параллельно с тем, что еще выполняется на CPU.
В зависимости от вашего приложения вы можете, например, выполнить передачу фрагмента данных в графический процессор из вашего приложения и, в частности, выполнить некоторую предварительную обработку в ЦП следующего фрагмента данных. Точно так же, пока код выполняется на графическом процессоре, вы можете выполнять некоторые подготовительные работы с процессором над некоторыми данными, необходимыми в будущем.
Передачи в GPU будут осуществляться через передачи DMA, которые в целом очень быстрые.
Исходя из моего опыта, я смог передать около 4 МБ данных порядка 4 миллисекунд в графический процессор (современный графический процессор, современная материнская плата), выполняя некоторую обработку данных, которые были отправлены ранее.
Исходя из этого, можно с уверенностью сказать, что вы можете загружать и загружать порядка 1 ГБ данных в секунду в графический процессор и выполнять некоторую обработку этих данных.
В вашем случае узким местом будет либо GPU, либо сторона процессора. Сторона процессора, если она не может передавать, скажем, 1 ГБ подготовленных данных в графический процессор в секунду. Это может быть очень ограничено вашим дисковым вводом / выводом.
Чтобы проверить ваш путь к графическому процессору, настройте несколько буферов данных, готовых к обработке. Вы хотели бы продолжать отправлять эти данные в графический процессор, обрабатывать их и загружать результаты (которые вы отбросите). Измерьте пропускную способность и сравните с пропускной способностью вашей версии ЦП приложения.
Не измеряйте только часть обработки GPU, потому что передачи и обработка на GPU будут конкурировать за время контроллера памяти GPU и будут влиять на скорость друг друга.
Кроме того, если вам нужно очень хорошее время отклика для небольших фрагментов данных, а не хорошая пропускная способность, вы, вероятно, не выиграете от прохождения через графический процессор, поскольку это вносит небольшую задержку в вашу обработку.