当前位置: 首页 > wzjs >正文

移动官网网站建设设计本装修家居

移动官网网站建设,设计本装修家居,建站行业的发展趋势,网站建设策划ppt限定符__device__在CUDA中,我们可以在设备(GPU)上定义全局变量,这些变量在设备的整个生命周期内存在,并且可以被所有线程访问。这些变量通常使用__device__限定符声明,并且可以具有静态存储期(即…
限定符__device__

     在CUDA中,我们可以在设备(GPU)上定义全局变量,这些变量在设备的整个生命周期内存在,并且可以被所有线程访问。这些变量通常使用__device__限定符声明,并且可以具有静态存储期(即它们在程序启动时初始化,在程序结束时销毁)。全局静态变量是CUDA中实现跨线程数据共享和状态维护的核心机制,合理使用可显著简化复杂并行算法的实现,但需特别注意线程安全和性能影响。
在CUDA中,从CUDA 6.0开始,支持使用__constant__限定符的常量内存的运行时初始化(使用cudaMemcpyToSymbol),而对于普通的__device__变量,我们通常使用cudaMemcpyToSymbol来初始化,或者在定义时直接初始化(仅支持基本类型和简单结构体)。全局设备变量在主机代码中不能直接访问,必须使用CUDA运行时API(如cudaMemcpyToSymbolcudaMemcpyFromSymbol)进行读写。 多个文件定义同名的全局设备变量会导致链接错误,因此通常在一个.cu文件中定义,在其他文件中使用extern声明。

普通全局变量

__device__ int globalCounter;          // 整型全局变量
__device__ float deviceArray[1024];    // 全局数组


常量内存变量

__constant__ float constParams[16];    // 常量内存(只读,高速缓存)


核心特性与使用限制
在这里插入图片描述

运行效果及代码

在这里插入图片描述

#include "cuda_runtime.h"
#include "device_launch_parameters.h"#include <stdio.h>/* __device__定义为静态全局内存变量。定义时只能在函数外定义。 */
__device__ int d_x = 1;
__device__ int d_y[2] = { 0,0 };__global__ void hello_from_gpu()
{printf("d_x=%d,d_y[0]=%d, d_y[1]= %d.\n", d_x, d_y[0], d_y[1]);d_y[0] += d_x; d_y[1] += d_x;printf("d_x=%d,d_y[0]=%d, d_y[1]= %d.\n", d_x, d_y[0], d_y[1]);
}int main(void)
{// 选用gpu设备cudaSetDevice(0);// cuda创建启停事件对象cudaEvent_t start, stop;cudaEventCreate(&start);cudaEventCreate(&stop);/* 将主机的数据传递给全局静态变量 */int h_y[2] = { 10,20 };cudaMemcpyToSymbol(d_y, h_y, sizeof(int) * 2);// 记录事件cudaEventRecord(start);//hello_from_gpu << <dim3(2,2), dim3(4,4) >> > ();	// 执行核函数hello_from_gpu << <1,1 >> > ();	// 执行核函数// 记录事件cudaEventRecord(stop);// 事件同步(直到设备完成该事件,等待核函数执行结束)cudaEventSynchronize(stop);/* 将全局静态变量数据传递给主机数据 */cudaMemcpyFromSymbol(h_y,d_y,sizeof(int) * 2);printf("hy{%d,%d}", h_y[0], h_y[1]);// 计算事件之间经过的时间float time;cudaEventElapsedTime(&time, start, stop);printf("\n耗时为: %g ms\n", time);// 销毁事件对象cudaEventDestroy(start);cudaEventDestroy(stop);return 0;
}

关注

笔者 - 东旭


文章转载自:

http://l5FUItfv.kngth.cn
http://s1IXbxsi.kngth.cn
http://dNCxlToa.kngth.cn
http://fe8YLFnx.kngth.cn
http://uruYVtCY.kngth.cn
http://vaakUC7X.kngth.cn
http://OluYjSUv.kngth.cn
http://FC6LJGZs.kngth.cn
http://4ERzdEZd.kngth.cn
http://2l8OBlsH.kngth.cn
http://c7iF0gfA.kngth.cn
http://IVNh93NT.kngth.cn
http://CoS16ImW.kngth.cn
http://IYDIAEej.kngth.cn
http://dNbTWBSA.kngth.cn
http://AGTBJ018.kngth.cn
http://XLFSvzLG.kngth.cn
http://bkpwtjQm.kngth.cn
http://XXnGjeXK.kngth.cn
http://cBQyRrUy.kngth.cn
http://cnvPzKg6.kngth.cn
http://IbK3Twep.kngth.cn
http://AXnw7F1R.kngth.cn
http://QUJPYSMp.kngth.cn
http://AefRgZpD.kngth.cn
http://qa1M6O8r.kngth.cn
http://4fvWR1O1.kngth.cn
http://R6TjhMJw.kngth.cn
http://kSFp6c7y.kngth.cn
http://dNj5htis.kngth.cn
http://www.dtcms.com/wzjs/651721.html

相关文章:

  • 东莞型网站建设论坛类网站怎么建设
  • 做分类信息网站如何网站seo外包公司有哪些
  • .net 网站开发视频教程建在线教育网站需要多少钱
  • 东莞建域名网站python采集wordpress
  • 专做土特产的网站宁波的网络营销服务公司
  • 电商网站活动推广有什么可以在线做奥数题的网站
  • 如何做好企业网站建设工作app开发分为哪几种
  • 外贸网站使用攻略手机网站的宽度
  • 河北中石化建设网站合肥设计工作室
  • 做直播网站软件百度关键词广告怎么收费
  • 无锡哪家做网站好400电话网站模板
  • 潍坊专业网站建设价格中国网页设计师联盟
  • 做网站前段用什么软件学校网站建设目的是什么意思
  • 如何确认建设银行网站不是假的蝙蝠侠大连网络营销
  • 百度网站验证什么叫精品网站建设
  • 网站创建方法苏州网络推广建网站
  • 扫二维码直接进入网站 怎么做wordpress 经典简约主题
  • 网站cms建设网络建设与管理专业
  • 绵阳定制网站建设wordpress 404模板在哪里
  • 做会计公司网站的目录郑州优化网站公司有哪些
  • 装修效果图网站公司建网站的详细步骤
  • 做网站的IT行业菲律宾 做菠菜网站
  • 不写代码门户网站建设珠海知业科技
  • 佛山响应式网站公司云服务器多少钱一台
  • 自助建站系统源码郑州网络营销公司哪个好
  • 互联网网站模块带地板翻转的网站怎么做
  • 锦州网站建设河北省住房和城乡建设厅网站首页
  • 安徽网站排名优化公司长春火车站电话咨询电话
  • 宁波高端网站建设推广假冒建设厅网站
  • 公司开发个网站有哪些安卓开发培训