C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c – 如何让Doxygen知道CUDA内核调用?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用Doxygen记录使用CUDA C编写的项目.文档工作正常.然而,调用者图不包括GPU_foo<<<<>>>>()中的内核调用.

例如,在这简单的例子中:

#include<stdio.h>

/*!
 * @brief global Hello foo
 */
__global__ void global_Hello(void){

printf("Hello\n");

}


/*!
 * @brief cpu Hello foo
 */
void Hello(void){

printf("Hello\n");
}

/*!
 * @brief main
 */
int main(){

 Hello();

 global_Hello<<<1,1>>>();

return 0;
}

使用相应的Doxyfile:

PROjeCt_name = TEST
PROjeCT_NUMER = 2.1

OUTPUT_LANGUAGE = English
EXTRACT_ALL = YES
FILE_PATTERNS = *.cpp *.h *.c *.cu
REcursIVE = NO 
PDF_HYPERLINKS = YES
USE_PDFLATEX   = YES
HAVE_DOT = YES
Call_GRAPH = YES
CALLER_GRAPH = YES

查看生成的文档时,调用图如下所示:

@H_846_9@main -----> Hello

而不是期望的:

------> global_Hello
    /
main
    \
      ------> Hello

如何让Doxygen知道CUDA内核调用

问题是Doxygen不知道包含“<<>>>>”的行是一个函数调用.我不需要调用图来区分函数调用和内核调用.如果解析器将内核视为普通函数调用就足够了.

总结.有没有办法让Doxygen用<<<>>>来解释这些行?作为函数调用
有人建议改变Doxygen的内部解析器方法,应该怎么做呢?

解决方法

如果doxygen无法识别CUDA功能,那么您无能为力:

引用doxygen manual

并且doxygen的代码解析器不易扩展.

大佬总结

以上是大佬教程为你收集整理的c – 如何让Doxygen知道CUDA内核调用?全部内容,希望文章能够帮你解决c – 如何让Doxygen知道CUDA内核调用?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。