k1n*_*ext 8 cuda code-formatting uncrustify
我想将uncrustify(通过美化Atom编辑器和配置文件)应用于CUDA代码.但是,我不知道如何告诉uncrustify识别具有以下结构的CUDA内核调用:
kernelName <<<N,M>>> (arg0,arg1,...);
Run Code Online (Sandbox Code Playgroud)
然而,解决问题<<< >>>并且应用它会产生以下不愉快的结果
kernelName << < N, M >> >
(arg0,arg1,...);
Run Code Online (Sandbox Code Playgroud)
我想让它看起来更像一个函数调用,也避免格式化<<<为<< <.理想情况下,结果看起来像
kernelName <<< N, M >>> (arg0,arg1,
...); // line break if argument list is too long
Run Code Online (Sandbox Code Playgroud)
我可以添加哪些参数config.cfg来实现上述结果?
非常感谢你.
浏览一下uncrustify的整个文档,我发现了两个可能影响你的CUDA内核风格的参数:
sp_compare { Ignore, Add, Remove, Force }
Add or remove space around compare operator '<', '>', '==', etc
Run Code Online (Sandbox Code Playgroud)
和:
align_left_shift { False, True }
Align lines that start with '<<' with previous '<<'. Default=true
Run Code Online (Sandbox Code Playgroud)
您可以尝试使用这些参数来更接近解决方案,尽管我会尝试以下方法:
sp_compare = Remove
align_left_shift = False
Run Code Online (Sandbox Code Playgroud)