Как я могу определить, какая функция проливается, поскольку представленное здесь имя функции не может быть идентифицировано для меня.
CUDA использует Itanium C ++ ABI .То, что вы видите, это стандартные искаженные имена в стиле g ++.Каждый инструментарий хоста поставляется с деманглером, который может анализировать искаженные имена функций (наиболее типичен фильтр c ++).Есть даже онлайн деманглеры.Они будут разбирать имена функций.Внутренний дескриптор символа CUDA ABI не поддерживается AFAIK.
Например:
_Z20nv_wavenet_dualBlockIffLi64ELi128ELi256ELi2EEv17nv_wavenet_paramsIT_T0_E
преобразуется в
void nv_wavenet_dualBlock<float, float, 64, 128, 256, 2>(nv_wavenet_params<float, float>)
I onlyхочу увидеть утечку для функций "DualBlock".Возможно ли это?
Эти предупреждения генерирует ptxas
, ассемблер.Я не знаю, как сделать эти предупреждения избирательными.Они либо включены, либо выключены.Если вы отдельно скомпилируете определенную функцию, то, насколько мне известно, возможно, будет возможно контролировать уровень вывода из ассемблера для этого вызова, но не функцию за функцией в рамках одного вызова компиляции.