gpt4 book ai didi

c++ - CudaMalloc 分配内存时失败

转载 作者:行者123 更新时间:2023-12-03 12:47:59 25 4
gpt4 key购买 nike

我正在尝试使用 cudaMalloc 在 GPU 上分配大量内存:cudaMalloc((void**)&count_d, N*sizeof(long));

unsigned long N = 999999999L;

我在那个地方收到一条错误消息,所以问题是我是否分配了太多内存或者做了其他错误的事情。

我收到的错误消息:

CUDA error : an illegal memory access was encountered (77)

最佳答案

正如@talonmies所说,以及cudaMalloc() documentation tells you ,调用 cudaMalloc() 无法触发“非法内存访问”错误 - 这是关于设备代码的非法访问。 (主机端代码进行非法内存访问会导致 Unix 上的 SIGSEGV 信号或 Windows 上的保护故障)。

那么你怎么可能在cudaMalloc()之后看到这个错误呢?简单:它发生得更早,而且你之前没有检查错误;或者您没有同步流以执行待处理的内核。

最后,考虑点击作为评论发布的链接@alterIgel,阅读有关 CUDA API 调用的正确错误检查的信息。

关于c++ - CudaMalloc 分配内存时失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52462249/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com