CUDA托管内存无法与其他计算功能一起使用

用户

使用不同的计算功能进行编译时,此代码无法以相同的方式工作:

#include <cuda.h>
#include <stdio.h>

__managed__ int m;

int main() {
    printf("hi 1\n");
    m = -123;
    printf("hi 2\n");
}

具有计算能力6.0的设备:

$ nvcc main.cu -gencode arch=compute_60,code=sm_60 -rdc=true && ./a.out
hi 1
hi 2

具有计算能力7.0的设备:

$ nvcc main.cu -gencode arch=compute_60,code=sm_60 -rdc=true && ./a.out
hi 1
Segmentation fault

具有计算能力7.0的设备:

$ nvcc main.cu -gencode arch=compute_70,code=sm_70 -rdc=true && ./a.out
hi 1
hi 2

为什么在使用计算能力6.0构建并在具有计算能力7.0的GPU上运行时出现分段错误?

用户

根据评论中的讨论,我遇到了这个问题,因为在构建过程中必须使用与GPU完全相同的计算功能我没有收到任何错误的原因是我应该手动检查它们(使用CUDA运行时API检查错误的规范方法是什么?)。

如果我扩展这段代码:

#include <cuda.h>
#include <stdio.h>

__managed__ int m;

__global__ void foo() {
    printf("from foo: %d %d\n", blockIdx.x, threadIdx.x);
}

int main() {
    foo<<<2,2>>>();
    printf("001\n");
    if (cudaPeekAtLastError() != cudaSuccess) abort();
    printf("002\n");
    if (cudaDeviceSynchronize() != cudaSuccess) abort();
    printf("hi 1\n");
    m = -123;
    printf("hi 2\n");
}

具有计算能力7.0的设备:

$ nvcc main.cu -gencode arch=compute_70,code=sm_70 -rdc=true && ./a.out
001
002
from foo: 0 0
from foo: 0 1
from foo: 1 0
from foo: 1 1
hi 1
hi 2

具有计算能力7.0的设备:

$ nvcc main.cu -gencode arch=compute_60,code=sm_60 -rdc=true && ./a.out
001
Aborted

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

php artisan服务无法与其他端口一起使用

Python Telebot无法与其他用户一起使用

TabLayout和Viewpager无法与其他定制的选项卡一起正常使用

CustomValidator无法与其他验证器一起使用

php preg_match无法与其他Web应用程序一起使用

禁用标记的ng-bootstrap无法与其他datepickers示例一起使用

#IfWinActive无法与其他快捷方式一起正常使用

MS Access简单不匹配查询无法与其他筛选器一起使用

Repaint()无法与其他JPanel一起使用吗?

写入.json文件,它将无法与其他应用程序一起使用

与其他代码一起使用时,Tkinter无法保存到文件

sql与其他选择的别名一起使用

rails activerecord sum与.each一起使用,但与其他一起使用

将功能性JSX组件与其他功能包装在一起

Excel与其他计算一起计算总和范围

我们可以将主成分 (PCA) 与其他功能一起使用吗?

有功能将我的字典与其他字典一起过滤吗?

秒表下载速度与其他速度格式一起计算

IntelliJ IDEA 14复制和粘贴无法与其他应用程序一起使用

当 textarea 与其他组件一起使用时,为什么 Java pack 无法正确调整框架大小?

Wi-Fi无法与我的路由器一起使用,但可以与其他接入点一起使用

安装ubuntu并与其他磁盘上的Windows一起安装后无法启动

为什么Sublime无法与其他应用程序一起安装?

Android Scrollviewer无法与其他元素一起在相对布局内滚动

与其他字段一起上传文件

如何使div与其他div一起拖动

Nodejs模块与其他模块一起扩展

动画与其他对象一起移动

JavaFX与其他JavaFX项目一起部署