CUDA编程疑问答疑
来源:互联网 发布:淘宝买药提交需求 邮费 编辑:程序博客网 时间:2024/04/28 22:50
子说 18:57:32
我有一个问题
子说 18:58:50
比如有几个int 型的常数,需要在gpu显存里传入一份嘛
子说 18:59:04
还是在函数调用的时候传入
子说 18:59:09
哪一种更好
19:14:27
作为函数的参数即可
19:14:50
你要copy到global memory里面再用也可以
19:15:02
作为参数可能更好一点
子说 19:16:07
我也是这么觉得
子说 19:16:40
那比如我要在设备端开辟地址 存一个int类型的常数
19:16:55
因为作为参数的话,不需要从global里面读取,不会和其他访存争夺资源
子说 19:17:27
哦
子说 19:17:37
就是说直接传入比较好一点
子说 19:18:06
cudaMalloc((void**) &time, sizeof(int));
19:18:51
?
19:18:55
我说的不是这个
19:19:03
我说的是直接作为函数的参数
子说 19:19:14
恩恩
子说 19:19:28
——global——函数里面的参数吗
19:20:01
因为直接作为函数的参数的话,该数据会被放入 constant cache,和常规的访存是分开的,constant cache是独立的缓存通道。
子说 19:20:42
哦,英明
子说 19:21:03
这样我就明朗多了
子说 19:21:30
那我不存在global memory里
子说 19:21:47
而是存在constant memory里面可以不可以
19:25:54
是这样的
19:26:15
constant memory其实依然在DRAM里面,和global一样
19:26:29
但是constant memory有个对应的constant cache
19:26:50
可以cache一部分constant memory的内容
子说 19:26:56
很有启发
19:26:58
以及这个cache很快
19:27:38
同时不需要通过LSU——L2cache——global这样去读取,是独立的cache通道。
19:27:56
constant cache除了缓冲你指定的constant变量以外
19:28:22
其中一部分空间还被用来保存 kernel的参数(从fermi开始是如此的)
子说 19:28:55
19:29:12
所以说,一些固定值的数据,可以直接作为kernel的参数,此时会自动保存在 constant cache里面
19:29:15
会比较快
19:29:30
而且不和一般的global memory访存争抢
19:29:37
大致这样
我有一个问题
子说 18:58:50
比如有几个int 型的常数,需要在gpu显存里传入一份嘛
子说 18:59:04
还是在函数调用的时候传入
子说 18:59:09
哪一种更好
19:14:27
作为函数的参数即可
19:14:50
你要copy到global memory里面再用也可以
19:15:02
作为参数可能更好一点
子说 19:16:07
我也是这么觉得
子说 19:16:40
那比如我要在设备端开辟地址 存一个int类型的常数
19:16:55
因为作为参数的话,不需要从global里面读取,不会和其他访存争夺资源
子说 19:17:27
哦
子说 19:17:37
就是说直接传入比较好一点
子说 19:18:06
cudaMalloc((void**) &time, sizeof(int));
19:18:51
?
19:18:55
我说的不是这个
19:19:03
我说的是直接作为函数的参数
子说 19:19:14
恩恩
子说 19:19:28
——global——函数里面的参数吗
19:20:01
因为直接作为函数的参数的话,该数据会被放入 constant cache,和常规的访存是分开的,constant cache是独立的缓存通道。
子说 19:20:42
哦,英明
子说 19:21:03
这样我就明朗多了
子说 19:21:30
那我不存在global memory里
子说 19:21:47
而是存在constant memory里面可以不可以
19:25:54
是这样的
19:26:15
constant memory其实依然在DRAM里面,和global一样
19:26:29
但是constant memory有个对应的constant cache
19:26:50
可以cache一部分constant memory的内容
子说 19:26:56
很有启发
19:26:58
以及这个cache很快
19:27:38
同时不需要通过LSU——L2cache——global这样去读取,是独立的cache通道。
19:27:56
constant cache除了缓冲你指定的constant变量以外
19:28:22
其中一部分空间还被用来保存 kernel的参数(从fermi开始是如此的)
子说 19:28:55
19:29:12
所以说,一些固定值的数据,可以直接作为kernel的参数,此时会自动保存在 constant cache里面
19:29:15
会比较快
19:29:30
而且不和一般的global memory访存争抢
19:29:37
大致这样
- CUDA编程疑问答疑
- CUDA编程
- cuda编程
- CUDA编程
- CUDA编程
- CUDA编程
- cuda 编程
- CUDA编程
- cuda编程
- cuda编程
- 【CUDA编程】 CUDA编程初始
- cuda的一些注意和疑问
- 答疑
- 【CUDA编程】CUDA一些基本概念
- [CUDA]CUDA C并行编程
- arm 编程疑问
- shell 编程疑问01
- Android编程疑问笔记
- servfox分析
- 网络图片的异步加载器,多线程队列,带文件和内存缓存
- iPhone OS 开发 - 了解并解决代码签名问题
- java中sort的使用方法
- java.io.FileNotFoundException: OSGi resource[/WEB-INF/views/解决方式
- CUDA编程疑问答疑
- 简单工厂模式--使用--扩展--缺点--适用情况--
- type的用法
- JSP 自定义标签
- java IO
- java Collection
- DOM4J
- 使用commons-email进行邮件传递
- JUnit入门