c++ - How can I make Doxygen aware of CUDA kernel calls? -
i'm trying document project written in cuda c using doxygen. documentation works fine. caller graphs not include kernel calls in gpu_foo<<<1,1>>>()
.
for example, in simple example:
#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; }
with corresponding 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
when looking @ generated documentation call graph looks this:
main -----> hello
instead of desired:
------> global_hello / main \ ------> hello
how can make doxygen aware of cuda kernel calls?
the problem doxygen not know line containing "<<< >>>" function call. not need call graph make distinction between function calls , kernel calls. enough if parser considers kernel normal function calls.
summarizing. there way tell doxygen interpret lines <<<>>> function calls? suggested change internal parser method of doxygen, how should done?
if doxygen doesn't recognize cuda functions, there's not can do:
citing doxygen manual:
note completeness (and correctness) of call graph depends on doxygen code parser not perfect.
and code parser of doxygen not extensible.
Comments
Post a Comment