Даже если не учитывать синтаксические ошибки в вашем коде, статические данные в устройстве коде недопустимы.Причина в том, что не существует определенной точки, в которой он был бы инициализирован, если бы все потоки делали это, или если только один, и если да, то какой поток.Поэтому статические данные просто не имеют смысла в этом контексте.
Я считаю, что это ограничение обсуждается в руководстве по программированию CUDA.
Если вы хотите, чтобы элементы данных были в функторе, просто добавьте конструкторк вашему функтору и инициализируйте данные, используя аргумент конструктора.