调试cuda程序
Posted zjutzz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了调试cuda程序相关的知识,希望对你有一定的参考价值。
参考:http://galoisplusplus.coding.me/blog/2018/05/22/cudaErrorCudartUnloading/
主要是在linux下,使用cuda安装包里的cuda-memcheck来检查内存,它是类似于valgrind的存在。
首先添加path:
vim ~/.zshrc
export PATH=$PATH:/usr/local/cuda/bin
基于CMake编写C程,cuda相关的内容:
option(use_cuda "Use CUDA?" ON)
if (use_cuda)
if (CMAKE_SYSTEM_NAME MATCHES "Linux")
set(CUDA_DIR "/usr/local/cuda")
set(CUDA_INC_DIR "${CUDA_DIR}/include")
set(CUDA_LIB_DIR "${CUDA_DIR}/lib64")
elseif (CMAKE_SYSTEM_NAME MATCHES "Windows")
set(CUDA_DIR "$ENV{CUDA_PATH}")
set(CUDA_INC_DIR "${CUDA_PATH}/include")
set(CUDA_LIB_DIR "${CUDA_DIR/lib/x64}")
endif()
find_package(CUDA REQUIRED)
include_directories(${CUDA_INC_DIR})
link_directories(${CUDA_LIB_DIR})
endif()
if(use_cuda)
list(APPEND TESTBED_DEP_LIBS
cudart
cudart_static
cuda
cublas_device
cudnn
cublas
)
endif()
target_link_libraries(testbed ${TESTBED_DEP_LIBS})
使用:
cd ~/work/mycode
mkdir build
cd build
cmake ..
make
cuda-memcheck ./run
以上是关于调试cuda程序的主要内容,如果未能解决你的问题,请参考以下文章
谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js
RuntimeError: ‘lengths’ argument should be a 1D CPU int64 tensor, but got 1D cuda:0 Long tensor(代码片段