内核不能操作设备存储器?

[复制链接]
查看11 | 回复7 | 2010-10-8 09:34:03 | 显示全部楼层 |阅读模式
在风辰译的编程手册3.2.1里说“内核不能操作设备存储器”,很疑惑,求解释。
编程手册里说“串行代码在主机上执行,并行代码在设备上执行”,那kernel和串行代码之间是不是就得有内存拷贝的过程了?如果说在一个循环里,既有串行代码又有并行代码的话,主机和设备间的反复内存拷贝会不会非常浪费时间啊?
回复

使用道具 举报

千问 | 2010-10-8 09:34:03 | 显示全部楼层
这个是直接从原文翻译过来的,我的理解是内核中不能分配和复制存储器
回复

使用道具 举报

千问 | 2010-10-8 09:34:03 | 显示全部楼层
反复拷贝当然耗时,呵呵
回复

使用道具 举报

千问 | 2010-10-8 09:34:03 | 显示全部楼层
那是我理解有误了,我理解成内核中不能用设备存储器中的数据呢…汗
回复

使用道具 举报

千问 | 2010-10-8 09:34:03 | 显示全部楼层
那怎么避免反复拷贝呢?
我是把要用到的数据全从cpu考到gpu上,然后运行kernel,但是有些代码不适合并行,所以中间又需要串行的代码,怎么办?
回复

使用道具 举报

千问 | 2010-10-8 09:34:03 | 显示全部楼层
原帖由 tricial2010 于 2010-11-15 19:59 发表
那怎么避免反复拷贝呢?
我是把要用到的数据全从cpu考到gpu上,然后运行kernel,但是有些代码不适合并行,所以中间又需要串行的代码,怎么办?

根据手册的说法,“尽可能在gpu上运行代码,即使这些代码没有显示出相比cpu的速度提升”
回复

使用道具 举报

千问 | 2010-10-8 09:34:03 | 显示全部楼层
具体分析一下,考虑一下把串行代码放到GPU上执行相比在CPU上执行时间大小
回复

使用道具 举报

千问 | 2010-10-8 09:34:03 | 显示全部楼层
不能分配和复制存储器
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行