Статическая инициализация общих переменных недопустима в CUDA.Проблема заключается в том, что семантика того, как каждый поток должен обрабатывать статическую инициализацию разделяемой памяти, не определена в модели программирования.Какой поток должен сделать запись?Что произойдет, если значение не будет одинаковым между потоками?Как компилятор должен генерировать код для такого случая и как аппаратное обеспечение должно его запускать?
В своем бессмысленном примере вы просите каждый поток в блоке инициализировать одну и ту же общую переменную значением - в основном статически.гонка скомпилированной памяти.