Команда 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