Я пытаюсь разработать небольшую программу с CUDA, но, поскольку она была SLOW, я сделал несколько тестов и немного искал. Я узнал, что, хотя отдельные переменные по умолчанию хранятся в локальной памяти потоков, массивы обычно отсутствуют. Полагаю, поэтому для выполнения требуется столько времени. Теперь я задаюсь вопросом: поскольку локальная память потоков должна быть не менее 16 КБ, и поскольку мои массивы имеют длину как 52 символа, есть ли способ (синтаксис, пожалуйста:)), чтобы хранить их в локальной памяти?
Не должно быть что-то вроде:
__global__ my_kernel(int a)
{
__local__ unsigned char p[50];
}