关于使用了cudaMallocHost之后发生 segment fault的原因

由于cudaMallocHost或者其完全版本 cudaHostAlloc,他们都是在host side申请空间,所以所得到的指针都是属于

主机端的,但是这个与使用标准库函数malloc/alloc等略有不同,因为使用cuda*申请的空间的指针是由cuda

来维护的,一般的,这里发生segment fault,一般都是由于相应指针定义失效,以至于相应的引用指向无效位置,

而这种使之失活的操作(在我今天的错误当中)就是 cudaDeviceReset(void);在cudaDeviceReset(void)之后

出现的对于之前cudaMallocHost的指针,如果再引用,会导致无效引用,错误产生;

转载于:https://www.cnblogs.com/superniaoren/p/3337305.html

你可能感兴趣的:(关于使用了cudaMallocHost之后发生 segment fault的原因)