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

青岛餐饮加盟网站建设代写文章的平台有哪些

青岛餐饮加盟网站建设,代写文章的平台有哪些,上海注册公司收费,长春公司做网站找哪个公司好为了确保能够真正地了解线程块的分配,接下来我们写一个简短的内核程序来输出线程块、线程、线程束和线程全局标号到屏幕上。现在,除非你使用的是 3.2 版本以上的 SDK否则内核中是不支持 printf的。因此,我们可以将数据传送回 CPU 端然后输出到…

        为了确保能够真正地了解线程块的分配,接下来我们写一个简短的内核程序来输出线程块、线程、线程束和线程全局标号到屏幕上。现在,除非你使用的是 3.2 版本以上的 SDK否则内核中是不支持 printf的。因此,我们可以将数据传送回 CPU 端然后输出到控制台窗口,内核的代码如下:


#include "cuda_runtime.h"
#include "device_launch_parameters.h"#include <stdio.h>
#include <stdlib.h>
#include <conio.h>__global__ void what_is_my_id(unsigned int* const block,unsigned int* const thread,unsigned int* const warp,unsigned int* const calc_thread) {/* Thread id is block index * block size + thread offset into the block */const unsigned int thread_idx = (blockIdx.x * blockDim.x) + threadIdx.x;block[thread_idx] = blockIdx.x; thread[thread_idx] = threadIdx.x;/* Calculate warp using buit in variable warpSize */warp[thread_idx] = threadIdx.x / warpSize;calc_thread[thread_idx] = thread_idx;
}#define ARRAY_SIZE 128
#define ARRAY_SIZE_IN_BYTES (sizeof(unsigned int)* (ARRAY_SIZE))/* Declare statically four arrays of ARRAY_SIZE each */
unsigned int cpu_block[ARRAY_SIZE];
unsigned int cpu_thread[ARRAY_SIZE];
unsigned int cpu_warp[ARRAY_SIZE];
unsigned int cpu_calc_thread[ARRAY_SIZE];int main(void) {/* Total thread count =2*64=128 */const unsigned int num_blocks = 2;const unsigned int num_threads = 64;char ch;/* Declare pointers for GPU based params */unsigned int* gpu_block;unsigned int* gpu_thread;unsigned int* gpu_warp;unsigned int* gpu_calc_thread;/* Declare loop counter for use later */unsigned int i;/* Allocate four arrays on the GPU */cudaMalloc((void**)&gpu_block, ARRAY_SIZE_IN_BYTES);cudaMalloc((void**)&gpu_thread, ARRAY_SIZE_IN_BYTES);cudaMalloc((void**)&gpu_warp, ARRAY_SIZE_IN_BYTES);cudaMalloc((void**)&gpu_calc_thread, ARRAY_SIZE_IN_BYTES);/* Execute our kerne] */what_is_my_id <<<num_blocks, num_threads>>>(gpu_block, gpu_thread, gpu_warp, gpu_calc_thread);/* Copy back the gpu results to the CPU */cudaMemcpy(cpu_block, gpu_block, ARRAY_SIZE_IN_BYTES, cudaMemcpyDeviceToHost);cudaMemcpy(cpu_thread, gpu_thread, ARRAY_SIZE_IN_BYTES, cudaMemcpyDeviceToHost);cudaMemcpy(cpu_warp, gpu_warp, ARRAY_SIZE_IN_BYTES, cudaMemcpyDeviceToHost);cudaMemcpy(cpu_calc_thread, gpu_calc_thread, ARRAY_SIZE_IN_BYTES, cudaMemcpyDeviceToHost);/* Free the arrays on the GPU as now we're done with them */cudaFree(gpu_block);cudaFree(gpu_thread);cudaFree(gpu_warp);cudaFree(gpu_calc_thread);/* Iterate through the arrays and print */for (i = 0; i < ARRAY_SIZE; i++) {printf("Calculated Thread: %3u - Block:%2u - Warp %2u - Thread %3u\n", cpu_calc_thread[i], cpu_block[i], cpu_warp[i], cpu_thread[i]);}ch = getch();
}

        在这个例子中,我们可以看到线程块按照线程块的编号紧密相连。由于处理的是一维数组,所以我们对线程块采用相同的布局便可简单解决问题。以下是此程序的输出结果:

                  

        正如我们计算的那样,线程索引是0~ 127。一共有两个线块,每个线程块包含 64个线程,每个线程块内部线程的索引为0~63。一个线程块包含两个线束。

http://www.wangmingla.cn/news/11930.html

相关文章:

  • 做家政应该下载什么网站上海百度seo网站优化
  • 网站建设和优化需要几个人长沙网络推广哪家
  • 网站服务器ipv6外贸推广是做什么的
  • 做技术分享网站 盈利惠州企业网站seo
  • b2b免费发布信息网站广告软文200字
  • 台州网站建设服务口碑营销的产品
  • 南通营销平台网站建设国内好的seo
  • 百度公司网站建设最全磁力搜索引擎
  • 广州定制型网站建设免费的行情软件app网站
  • 一级a做爰片免费网站无毒产品推广文案100字
  • 重庆哪有作网站的推广商
  • 黄骅网站建设如何快速提升网站关键词排名
  • 企业应该找什么样的网站建设公司推广引流最快的方法
  • 单页网站设计制作网站alexa排名查询
  • 黄岛网站建设泉州seo优化
  • 驻马店专业网站建设百度竞价开户哪家好
  • 企业平台网站制作seo的收费标准
  • golang和php 做网站河北seo推广公司
  • 初学者做网站的软件如何做企业网站
  • h5网站建设+案例必应搜索国际版
  • 网站建设 中企动力厨具万网域名购买
  • 寺庙网站模板怎么制作网站教程
  • 专题页面设计模板广州seo站内优化
  • 网站建设 软件开发的公司如何免费创建自己的网站平台
  • 购物网站建设seo策略主要包括
  • phpmyadmin做网站企业培训视频
  • 药品网站 icp百度竞价排名平台
  • 做网站如何选择关键词网络营销推广工具有哪些
  • 南阳卧龙区高端网站建设价格微商引流被加方法精准客源
  • 游戏网站怎么做重庆seo标准