首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >__device__ __constant__ const

__device__ __constant__ const
EN

Stack Overflow用户
提问于 2011-11-01 02:13:29
回答 1查看 10.4K关注 0票数 4

在CUDA程序中定义设备常量的最佳方法是什么?在C++、主机/设备程序中,如果我想在设备常量内存中定义常量,我可以这样做

代码语言:javascript
复制
__device__ __constant__ float a = 5;
__constant__ float a = 5;

问题1.关于装置2.x和CUDA 4,是否与,

代码语言:javascript
复制
__device__ const float a = 5;

问题2.为什么在PyCUDA SourceModule(“.”)中只编译设备代码,甚至包括以下工作?

代码语言:javascript
复制
const float a = 5;
EN

回答 1

Stack Overflow用户

发布于 2011-11-01 07:02:12

在CUDA中,__constant__是一个变量类型限定符,它指示要声明的变量将存储在设备常量内存中。引用B节2.2 of CUDA编程指南

__constant__限定符(可与__device__一起使用)声明了以下变量:

在CUDA中,常量内存是通过缓存访问的专用静态全局内存区域(为此目的有一组专用的PTX加载指令),对于运行中的内核中的所有线程来说,这些指令是统一的和只读的。但是,通过使用上面引用的主机端API,可以在运行时修改常量内存的内容。这与使用const声明向编译器声明变量不同,后者在声明范围内向变量添加只读特性。这两件事完全不一样。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7961792

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档