Издержки clEnqueueWriteBuffer при совместном использовании CPU и GPU - PullRequest
0 голосов
/ 03 мая 2020

Я реализовал приложение, которое разбивает матричное векторное умножение на множество кусков и последовательно выполняет этапы с OpenCL на нескольких устройствах. Сначала я протестировал приложение на процессоре Intel, затем на трех графических процессорах NVIDIA, а затем на четырех устройствах вместе. В результате я не получаю ускорение при использовании всех четырех устройств. Я определяю, что передача на устройства стоит вдвое дороже по сравнению с временем передачи при работе одного ЦП или трех отдельных графических процессоров.

Функция clEnqueueWriteBuffer занимает вдвое больше времени и, как представляется, вызывает перерасход. Могут ли эти издержки возникнуть при использовании процессора в качестве хоста и устройства? Или от одновременной передачи данных в CPU и GPU?

...