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

贵州华瑞网站建设有限公司网站建设小组的五类成员

贵州华瑞网站建设有限公司,网站建设小组的五类成员,大良营销网站建设市场,上海专业seo排名优化【cuda入门系列】通过代码真实打印线程ID1.gridDim(6,1),blockDim(4,1)2.gridDim(3,2),blockDim(2,2)【cuda入门系列之参加CUDA线上训练营】在Jetson nano本地跑 hello cuda#xff01; 【cuda入门系列之参加CUDA线上训练营】一文认识cuda基本概念 【cuda入门系列之参加CUDA线… 【cuda入门系列】通过代码真实打印线程ID1.gridDim(6,1),blockDim(4,1)2.gridDim(3,2),blockDim(2,2)【cuda入门系列之参加CUDA线上训练营】在Jetson nano本地跑 hello cuda 【cuda入门系列之参加CUDA线上训练营】一文认识cuda基本概念 【cuda入门系列之参加CUDA线上训练营】共享内存实例1矩阵转置实现及其优化 【cuda入门系列之参加CUDA线上训练营】共享内存实例2矩阵相乘 【cuda入门系列】通过代码真实打印线程ID 定义一个长度为24的向量分别用gridDim(6,1),blockDim(4,1)以及gridDim(3,2),blockDim(2,2)的thread去访问确认thread与向量各元素之间的对应关系。 1.gridDim(6,1),blockDim(4,1) #include stdio.h #define BLOCK_SIZE 4__global__ void gpu_print(int *a,int m,int n) { int row blockIdx.y * blockDim.y threadIdx.y; int col blockIdx.x * blockDim.x threadIdx.x;printf(%d %d\n, gridDim.x,gridDim.y); printf(%d %d\n, blockDim.x,blockDim.y);printf(blockIdx.y:%d blockIdx.x:%d threadIdx.y:%d threadIdx.x:%d val:%d \n, blockIdx.y,blockIdx.x,threadIdx.y,threadIdx.x,a[row*ncol]); }int main(int argc, char const *argv[]) {int m4;int n6;int *h_a;cudaMallocHost((void **) h_a, sizeof(int)*m*n);for (int i 0; i m; i) {for (int j 0; j n; j) {h_a[i * n j] i * n j;}}int *d_a;cudaMalloc((void **) d_a, sizeof(int)*m*n);cudaMemcpy(d_a, h_a, sizeof(int)*m*n, cudaMemcpyHostToDevice);dim3 dimGrid(6,1);dim3 dimBlock(4,1);gpu_printdimGrid, dimBlock(d_a,m, n); // free memorycudaFree(d_a);cudaFreeHost(h_a);system(pause);return 0; }编译后打印结果如下 6 1 6 1 6 1 6 1 6 1 6 1 6 1 6 1 6 1 6 1 6 1 6 1 6 1 6 1 6 1 6 1 6 1 6 1 6 1 6 1 6 1 6 1 6 1 6 1 4 1 4 1 4 1 4 1 4 1 4 1 4 1 4 1 4 1 4 1 4 1 4 1 4 1 4 1 4 1 4 1 4 1 4 1 4 1 4 1 4 1 4 1 4 1 4 1 blockIdx.y:0 blockIdx.x:1 threadIdx.y:0 threadIdx.x:0 val:4 blockIdx.y:0 blockIdx.x:1 threadIdx.y:0 threadIdx.x:1 val:5 blockIdx.y:0 blockIdx.x:1 threadIdx.y:0 threadIdx.x:2 val:6 blockIdx.y:0 blockIdx.x:1 threadIdx.y:0 threadIdx.x:3 val:7 blockIdx.y:0 blockIdx.x:3 threadIdx.y:0 threadIdx.x:0 val:12 blockIdx.y:0 blockIdx.x:3 threadIdx.y:0 threadIdx.x:1 val:13 blockIdx.y:0 blockIdx.x:3 threadIdx.y:0 threadIdx.x:2 val:14 blockIdx.y:0 blockIdx.x:3 threadIdx.y:0 threadIdx.x:3 val:15 blockIdx.y:0 blockIdx.x:2 threadIdx.y:0 threadIdx.x:0 val:8 blockIdx.y:0 blockIdx.x:2 threadIdx.y:0 threadIdx.x:1 val:9 blockIdx.y:0 blockIdx.x:2 threadIdx.y:0 threadIdx.x:2 val:10 blockIdx.y:0 blockIdx.x:2 threadIdx.y:0 threadIdx.x:3 val:11 blockIdx.y:0 blockIdx.x:4 threadIdx.y:0 threadIdx.x:0 val:16 blockIdx.y:0 blockIdx.x:4 threadIdx.y:0 threadIdx.x:1 val:17 blockIdx.y:0 blockIdx.x:4 threadIdx.y:0 threadIdx.x:2 val:18 blockIdx.y:0 blockIdx.x:4 threadIdx.y:0 threadIdx.x:3 val:19 blockIdx.y:0 blockIdx.x:0 threadIdx.y:0 threadIdx.x:0 val:0 blockIdx.y:0 blockIdx.x:0 threadIdx.y:0 threadIdx.x:1 val:1 blockIdx.y:0 blockIdx.x:0 threadIdx.y:0 threadIdx.x:2 val:2 blockIdx.y:0 blockIdx.x:0 threadIdx.y:0 threadIdx.x:3 val:3 blockIdx.y:0 blockIdx.x:5 threadIdx.y:0 threadIdx.x:0 val:20 blockIdx.y:0 blockIdx.x:5 threadIdx.y:0 threadIdx.x:1 val:21 blockIdx.y:0 blockIdx.x:5 threadIdx.y:0 threadIdx.x:2 val:22 blockIdx.y:0 blockIdx.x:5 threadIdx.y:0 threadIdx.x:3 val:23从代码打印结果来看一共有blcokDim4*gridDim 624个线程在工作。 gridDim.xgridDim.y———grid中x方向、y方向各含有多少个block;blockDim.xblockDim.y——一个block中x方向、y方向各含有多少个thread。 定义的gridDim.x,gridDim.y以及blockDim.x,blockDim.y通过打印结果可知 各block中的thread与矩阵中元素的指向关系如下图 2.gridDim(3,2),blockDim(2,2) 将代码中的 dim3 dimGrid(6,1); dim3 dimBlock(4,1);修改为 dim3 dimGrid(3,2); dim3 dimBlock(2,2);其他不变同样进行编译打印输出 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 blockIdx.y:0 blockIdx.x:1 threadIdx.y:0 threadIdx.x:0 val:2 blockIdx.y:0 blockIdx.x:1 threadIdx.y:0 threadIdx.x:1 val:3 blockIdx.y:0 blockIdx.x:1 threadIdx.y:1 threadIdx.x:0 val:8 blockIdx.y:0 blockIdx.x:1 threadIdx.y:1 threadIdx.x:1 val:9 blockIdx.y:1 blockIdx.x:0 threadIdx.y:0 threadIdx.x:0 val:12 blockIdx.y:1 blockIdx.x:0 threadIdx.y:0 threadIdx.x:1 val:13 blockIdx.y:1 blockIdx.x:0 threadIdx.y:1 threadIdx.x:0 val:18 blockIdx.y:1 blockIdx.x:0 threadIdx.y:1 threadIdx.x:1 val:19 blockIdx.y:0 blockIdx.x:2 threadIdx.y:0 threadIdx.x:0 val:4 blockIdx.y:0 blockIdx.x:2 threadIdx.y:0 threadIdx.x:1 val:5 blockIdx.y:0 blockIdx.x:2 threadIdx.y:1 threadIdx.x:0 val:10 blockIdx.y:0 blockIdx.x:2 threadIdx.y:1 threadIdx.x:1 val:11 blockIdx.y:1 blockIdx.x:1 threadIdx.y:0 threadIdx.x:0 val:14 blockIdx.y:1 blockIdx.x:1 threadIdx.y:0 threadIdx.x:1 val:15 blockIdx.y:1 blockIdx.x:1 threadIdx.y:1 threadIdx.x:0 val:20 blockIdx.y:1 blockIdx.x:1 threadIdx.y:1 threadIdx.x:1 val:21 blockIdx.y:0 blockIdx.x:0 threadIdx.y:0 threadIdx.x:0 val:0 blockIdx.y:0 blockIdx.x:0 threadIdx.y:0 threadIdx.x:1 val:1 blockIdx.y:0 blockIdx.x:0 threadIdx.y:1 threadIdx.x:0 val:6 blockIdx.y:0 blockIdx.x:0 threadIdx.y:1 threadIdx.x:1 val:7 blockIdx.y:1 blockIdx.x:2 threadIdx.y:0 threadIdx.x:0 val:16 blockIdx.y:1 blockIdx.x:2 threadIdx.y:0 threadIdx.x:1 val:17 blockIdx.y:1 blockIdx.x:2 threadIdx.y:1 threadIdx.x:0 val:22 blockIdx.y:1 blockIdx.x:2 threadIdx.y:1 threadIdx.x:1 val:23貌似是先切割y方向比如此例子中gridDim.yblockDim.y224所以将24个元素平分成了4份然后再在x方向分割。最后组装由各block中的thread访问。
http://www.hkea.cn/news/14355658/

相关文章:

  • 临汾网站建设公司成都百度seo搜索引擎优化培训
  • 网站开发技术方法与路线云梦网站建设
  • 免费建站模板外贸企业建站公司
  • 个人网站服务器wordpress分享获得积分
  • 重庆市建设工程安全网站discuz蓝色城市门户论坛网站模板
  • 网站界面设计ps经典重庆网站
  • 网站建设方案及报价模板wordpress模板学校
  • 合肥市城乡建设网站网站集约化建设的通知
  • 人才网站建设报告iis7.5 添加网站
  • 云南建设监理协会官方网站网站建设官网
  • 电影手机网站建设网站建设服务包含内容
  • 百度竞价网站源码wordpress tag 中文
  • 哪几个网站做acm题目游戏网站怎么做seo
  • 做我男朋友的网站深圳优化公司
  • centos 网站开发工具郑州市建筑工程信息网
  • 安徽省工程建设网站服饰网站建设目的
  • 科技网站 网站建设企查查企业查询平台
  • 网站建设与网页设计是什么wordpress仿站上传到
  • 做医药商城网站的公司wordpress表白源码
  • 网站进入沙盒期手机网站永久免费制作
  • 化妆品网站建设目标陕西咸阳做网站的公司
  • 网站的死链如何借助网站打广告
  • 360doc 网站怎么做蓝牙音箱东莞网站建设
  • 网站设计的大公司吴江区经济开发区规建设局网站
  • flash做安卓游戏下载网站获奖网站设计
  • 网站别人做的收到方正侵权wordpress链接提交表单
  • 个人做交通违章查询网站违法吗建设医院在哪里
  • 网页建设网站代码网站开发的前后台的步骤分别为
  • 网站打不开 域名做解析wordpress博客无法重定向
  • 长宁微信手机网站制作自己做图片的网站链接