Как видно из других постов, valgrind будет выдавать ложные срабатывания с помощью cuda, и вместо этого следует использовать cuda-memcheck, но могу ли я также проверить наличие ошибок памяти процессора с помощью cuda-memcheck?Я занимаюсь разработкой проекта C ++ с библиотекой CUDA, поэтому мне нужен способ проверки ошибок памяти на процессоре и графическом процессоре.
В этом эксперименте я намеренно не освобождаю указатель для проверки любой ошибки, о которой сообщаетсяcuda-memcheck.
// test.cc
#include <stdlib.h>
int main() {
double *data;
int N = 100;
data = (double*)malloc(sizeof(double)*N);
return 0;
}
и скомпилировать с
g++ test.cc -o test
Проверка памяти с помощью cuda-memcheck:
cuda-memcheck --leak-check full test
Вывод:
========= CUDA-MEMCHECK
========= LEAK SUMMARY: 0 bytes leaked in 0 allocations
========= ERROR SUMMARY: 0 errors
Как установить cuda-memcheck для отображения предупреждения?Используемая версия cuda-memcheck - 9.2.148.