У меня есть функция металлического ядра, которая читает, обрабатывает и записывает элементы в огромный массив данных, хранящихся в устройстве памяти
device Element *elements [[ buffer(0) ]],
Мне интересно, что лучше с точки зрения производительности? :
- Сделать копию элемента массива в локальную память потока:
Element element = elements[thread_id];
- Или используйте указатель на этот элемент:
device Element *element = &elements[thread_id];