Команда Uncrustify для ядра CUDA

Я бы хотел применить uncrustify (через beautify в редакторе Atom и конфигурационном файле) для кода CUDA. Однако я не знаю, как сказать uncrustify распознавать вызовы ядра CUDA, которые имеют следующую структуру:

kernelName <<<N,M>>> (arg0,arg1,...);

Тем не менее, uncrustify имеет проблемы с <<< >>> и применение его дает следующий неприятный результат

kernelName << < N, M >> >
    (arg0,arg1,...);

Я хотел бы, чтобы это выглядело больше как вызов функции, а также избегать форматирования <<< в << <, В идеале результат будет выглядеть так

kernelName <<< N, M >>> (arg0,arg1,
      ...); // line break if argument list is too long

Какие аргументы я могу добавить к своему config.cfg добиться вышеуказанного результата?

Большое спасибо.

1 ответ

Решение

Просматривая всю документацию uncrustify, я нашел 2 аргумента, которые могут повлиять на ваш стиль ядра CUDA:

sp_compare                                { Ignore, Add, Remove, Force     }
 Add or remove space around compare operator '<', '>', '==', etc

А также:

align_left_shift                          { False, True }
  Align lines that start with '<<' with previous '<<'. Default=true

Вы можете попытаться поиграться с этими параметрами, чтобы быть ближе к решению, хотя я бы попробовал что-то вроде:

sp_compare     =   Remove
align_left_shift   = False
Другие вопросы по тегам