[cuda 技术总结1] 第一次调用 cuda 库函数 耗时很长

在cuda编程中,发现调用cuda文件总耗时一百多ms,而纯kernel计算时间才3ms。

时间都去哪了?

查资料,trouble shooting,最后才发现这多出来的时间,就是第一次调用cuda api的时间:隐式cuda初始化,加载上下文…

目前还没找到什么好方法,只能提前做好初始化,把这段时间给隐藏掉(实际在整个代码执行中仍然存在):

  1. 调用.cu文件前提前初始化
cudaSetDevice(0);
cudaFree(0);

2.Linux下将驱动加载的默认模式改成“持久保存”

以 root 模式运行:

nvidia-smi -pm 1 

参考文献

[1] CUDA runtime API 第一次启动时,缓慢的问题
[2] cudamalloc 比 cudamemcpy 慢吗?
[3] 空闲状态下 NVIDIA-SMI的GPU使用率异常

你可能感兴趣的:(cuda开发,cuda,初始化时间长)