c – 如何让Doxygen知道CUDA内核调用?
发布时间:2020-12-16 07:12:54 所属栏目:百科 来源:网络整理
导读:我正在尝试使用Doxygen记录使用CUDA C编写的项目.文档工作正常.然而,调用者图不包括GPU_foo()中的内核调用. 例如,在这个简单的例子中: #includestdio.h/*! * @brief global hello foo */__global__ void global_hello(void){printf("Hellon");}/*! * @brie
我正在尝试使用Doxygen记录使用CUDA C编写的项目.文档工作正常.然而,调用者图不包括GPU_foo<<<<>>>>()中的内核调用.
例如,在这个简单的例子中: #include<stdio.h> /*! * @brief global hello foo */ __global__ void global_hello(void){ printf("Hellon"); } /*! * @brief CPU hello foo */ void hello(void){ printf("Hellon"); } /*! * @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无法识别CUDA功能,那么您无能为力:
引用doxygen manual:
并且doxygen的代码解析器不易扩展. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |