CUDA 内核的 Uncrustify 命令
Uncrustify command for CUDA kernel
我想将 uncrustify
(通过 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
中添加哪些参数来实现上述结果?
非常感谢。
查看 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
我想将 uncrustify
(通过 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
中添加哪些参数来实现上述结果?
非常感谢。
查看 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