Как правило, при работе с современными графическими процессорами больший размер данных лучше. Вы не говорите, какой API вы используете (OpenGL, CUDA и т. Д.), Но вы можете думать об этом так:
chunk_time = overhead_time + (num_of_elements/num_of_chunks) * per_element_time
total_time = chunk_time * num_of_chunks
Вы получите накладные расходы как на передачу памяти, так и на выполнение кода для каждой порции данных, через которую вы отправляете. У вас могут быть другие ограничения в зависимости от размера ваших данных: например, максимальный размер привязки текстур в OpenGL зависит от реализации. Я думаю, что 1K на 1K должен быть безопасным минимумом с оборудованием за последние 5 лет или около того, но последние карты могут обрабатывать 8K на 8K.