Что ' Взаимосвязь между максимальным размером рабочей группы и размером основы? Скажем, мое устройство имеет 240 CUDA потоковых процессоров (SP) и возвращает следующую информацию -
CL_DEVICE_MAX_COMPUTE_UNITS: 30
CL_DEVICE_MAX_WORK_ITEM_SIZES: 512/512/64
CL_DEVICE_MAX_WORK_GROUP_SIZE: 512
CL_NV_DEVICE_WARP_SIZE: 32
Этот означает, что он имеет восемь SP на потоковый мультипроцессор (то есть вычислительный блок). Как теперь размер деформации = 32 связан с этими числами?
Размер деформации — это количество потоков, которые мультипроцессор выполняет одновременно. Мультипроцессор NVIDIA может одновременно выполнять несколько потоков из одного блока, используя аппаратную многопоточность.
Важно учитывать размер деформации, поскольку все обращения к памяти объединяются в кратные размеру деформации (32 байта, 64 байта, 128 байтов), и это повышает производительность.
Руководство по лучшим практикам CUDA C содержит всю техническую информацию об оптимизации такого рода.