Лекция 5. Профилирование и отладка (Лекции), страница 2
Описание файла
Файл "Лекция 5. Профилирование и отладка" внутри архива находится в папке "Лекции". PDF-файл из архива "Лекции", который расположен в категории "". Всё это находится в предмете "технология cuda на кластерах с gpu" из 12 семестр (4 семестр магистратуры), которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст 2 страницы из PDF
. .ошибку использования APICuda API error detected: cudaLaunch returned (0x9)(cuda-gdb) bt. . .#8 0x00000000004019cd in launchKernels (A=..., B=..., C=...) at kernel.cu:181#9 0x000000000040135f in main (argc=1, argv=0x7fffffffdab8) at main.cpp:44Поиск ошибок работы с памятью Если cudaGetLastError() вернул ошибку «an illegal memoryaccess was encountered», то отладчик автоматически остановится настрочке внутри ядра, в которой произошла ошибка(cuda-gdb) r...CUDA Exception: Warp Out-of-range AddressProgram received signal CUDA_EXCEPTION_5, Warp Out-of-range Address.[Switching focus to CUDA kernel 1, grid 3, block (4,0,0), thread (0,0,0),...]0x00000000007e6b40 in sharedMem<<<(64,64,1),(32,32,1)>>> (...) at kernel.cu:5959res += partA[threadIdx.y + 1000][k] * partB[k][threadIdx.x];Выводы Используйте nvprof/nvvp вместо событий для замера временивыполнения ядер/копирований Используйте профилировщик для выявления проблемных местпрограммы и выбора направления оптимизации через анализtimeline/метрик Поставьте локально тулкит для полноценной удаленной профилировки Если произошла ошибка в ядре или вызове функции API – сразузапускайте cuda-gdb, включите set cuda api_failures stop В тулкит также входит утилита cuda-memcheck – аналог обычногоmemcheckДокументация По профилировщикамhttp://docs.nvidia.com/cuda/profiler-users-guide По отладчикуhttp://docs.nvidia.com/cuda/cuda-gdb Cuda-memcheckhttp://docs.nvidia.com/cuda/cuda-memcheck/The end.