Looking for the documentation on the function names spit out by nvprof. For example, could not find any info on the following .
maxwell_scudnn_128x128_relu_interior_nn
maxwell_sgemm_128x128_nn
void cudnn::detail::bn_fw_inf_1C11_kernel_new<float, float, bool=1, int=1>(…)
maxwell_scudnn_winograd_128x128_ldg1_ldg4_tile418n_nt
Any pointer will be useful.
these are all library routines in various libraries associated with the CUDA toolkit (e.g. CUBLAS) and other similar libraries (e.g. CUDNN). You won’t find any formal documentation on these library routines. These libraries are not open-source.
I see, if there is no documentation then what is the point of displaying those ? Some basic documentation of these functions would be a great step forward.
I could make some guess about them. For example maxwell_scudnn_128x128_relu_interior_nn is for Maxwell architecture, it is a cudnn function (not sure what the s is for), it is a RELU op on a 128x128 matrix , not sure what the interior and nn signify .
Similarly maxwell_sgemm_128x128_nn is probably an matrix multiplication.
The profiler doesn’t attempt to determine whether a profiled function belongs to a particular library or not, or whether it has documentation or not. The profiler can associate a name with the function entry point due to the structure of the binary, so it does so. There’s no more intelligence to it than that.
Stated another way, it uses the exact same methodology on these functions as the functions you write, and it uses the same method to assign a name to them.
Stated another way, you might ask the same question about gprof or any other profiler. I think the answer would be the same.