Это расширение обсуждения здесь: ошибка общей памяти pycuda "pycuda._driver.LogicError: ошибка cuLaunchKernel: недопустимое значение"
Есть ли в pycuda метод, эквивалентныйк следующему вызову C ++ API?
#define SHARED_SIZE 0x18000 // 96 kbyte
cudaFuncSetAttribute(func, cudaFuncAttributeMaxDynamicSharedMemorySize, SHARED_SIZE)
Для работы с новейшим графическим процессором (Nvidia V100), выход за пределы 48 КБ разделяемой памяти, требует установки этого атрибута функции.Без этого возникает та же ошибка запуска, что и в теме выше.«Жесткий» предел для устройства составляет 96 КБ общей памяти (оставляя 32 КБ для кэша L1).
Существует устаревший метод Fuction.set_shared_size(bytes)
, который звучит многообещающе, но я не могу найти, каким он должен бытьзаменено на.
Спасибо!