cuda中各种类型的变量的总结(有转载的,有添加的)
来源:互联网 发布:淘宝如何免费推广 编辑:程序博客网 时间:2024/05/19 07:44
- 假设定义了全局变量 __device__ int *a;
我需要一个数组,动态分配,那么直接调用cudaMalloc来为a分配内存的话,是不行的。
具体做法如下
- int *tmp;
- cudaMalloc((void **)&tmp, sizeof(int) * num);
- cudaMemcpyToSymbol(a, &tmp, sizeof(int *),size_t(0), cudaMemcpyHostToDevice);
使用cudaMemcpyToSymbol来把一个动态分配的设备指针写入一个静态的符号。所以是sizeof(int *),只是把指针写给a。
2. 定义和使用常量变量
1、赋值方法
__constant__ char g_chFuncIndex ;
cutilSafeCall( cudaMemcpyToSymbol( "g_chFuncIndex", i_chFuncIndex, sizeof( char ) ) ) ;
2、访问权限
只可以在cuda的__global__ 或者__device__函数中访问,不可以在外部C函数(extern "C" )中使用
3.定义和使用共享变量
在__global__核函数内部定义__shared__float Mds[TILE_WIDTH][TILE_WIDTH];
直接使用即可。
4.定义和使用local类型变量
默认在__global__内部直接定义的int a,即为local类型的变量
5,
使用cudaMemcpyToSymbol来把一个动态分配的设备指针写入一个静态的符号。所以是sizeof(int *),只是把指针写给a。
拷贝数组:
__device__ double d_a[2];
int main()
{
double h_a[2];
h_a[0]=0.1;
h_a[1]=0.2;
cudaMemcpyToSymbol(d_a, h_a, 2*sizeof(double));
return 0;
}
拷贝变量:
__device__ double d_a;
int main()
{
double h_a;
h_a=0.1;;
cudaMemcpyToSymbol(d_a, &h_a, sizeof(double));
return 0;
}
- cuda中各种类型的变量的总结(有转载的,有添加的)
- C51中变量的存储器类型有
- C语言中register类型的变量有什么意义
- cuda中变量的属性
- java各种类型转化的转载集合 慢慢添加
- ofbiz 的screen中有哪些变量
- 各种类型文件的Content Type,基本全部都有
- 各种变量的存储类型
- 关于安装CUDA环境的一些总结(vs2010+cuda5.5)[32/64bit均有]
- Android 各种技术片段,总有你不知道的(持续添加中)
- android工程中,有各种类型的资源文件總結
- 对DSP中unsigned long的发现以及对各种变量类型的总结
- 太空中有哪些很有名的黑洞?(转载)
- C++中所有的变量和函数都必须有类型
- C++中所有的变量和函数都必须有类型
- C++中各种类型的成员变量的初始化方法
- C++中各种类型的成员变量的初始化方法
- C++中各种类型的成员变量的初始化方法
- 百度分享代码--一键分享Baidu Share BEGIN
- ccs编译.lib
- 机器学习人才的职业薪酬也发展
- Codeforces
- HTML学习---------1.11空格标签
- cuda中各种类型的变量的总结(有转载的,有添加的)
- Eclipse中导入maven项目,并转为web加载进tomcat
- Kotlin 基本类型
- SpringMVC 简单使用
- Spring定时器配置
- 如何让你的 Asp.Net Web Api 接口,拥抱支持跨域访问。
- QProgressDialog 借鉴及界面优化
- oracle学习之约束与索引
- iOS 【关于推送如何选择】