[英]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.