[英]How can I make Doxygen aware of CUDA kernel calls?
我正在尝试使用Doxygen记录使用CUDA C编写的项目。 文档工作正常。 但是,调用者图形不包括GPU_foo<<<1,1>>>()
内核调用。
例如,在这个简单的例子中:
#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
查看生成的文档时,调用图如下所示:
main -----> hello
而不是期望的:
------> global_hello
/
main
\
------> hello
如何让Doxygen知道CUDA内核调用?
问题是Doxygen不知道包含“<<< >>>”的行是函数调用。 我不需要调用图来区分函数调用和内核调用。 如果解析器将内核视为普通函数调用就足够了。
总结。 有没有办法告诉Doxygen用<<< >>>作为函数调用来解释这些行? 有人建议改变Doxygen的内部解析器方法,应该怎么做呢?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.