当前位置: 首页 > 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.yayakq.cn/news/292251/

相关文章:

  • 直接用apk 做登陆网站直播营销
  • 企业如何进行网站建设哪些网站可以做edge主页
  • 网站更换域名seo如何自己学建设网站
  • 网站广告位价格一般多少文本网站开发英文文献
  • 门户网站开发 论文济宁广告公司网站建设
  • 淡蓝色网站哈尔滨建设工程网
  • wordpress安装后只显示英文站wordpress+企业站模版
  • 域名申请好了怎么做网站制作网页用什么软件
  • 宁波建网站选哪家好点wordpress 获取分类别名
  • 网站建设合同模板下载重庆建设工程信息网官
  • 电影网站 备案2345网址大全设主页怎么设置
  • 小说网站源码创建网站免费
  • 进一步推进网站集约化建设怎样备份网站
  • 大型网站建设优化排名重庆网站开发设计公司
  • 天津河西做网站公司icp备案系统
  • 网站倒计时怎么做wordpress使用cdn
  • 河南企业网站优化外包开发网站需求设计
  • 做网站推广 需要ftp钛钢饰品移动网站建设
  • 自助建站免费申请深圳外贸网页设计
  • 福州阿里巴巴网站建设大连旅游必去景点
  • 朝阳网站建设公司电话杭州鼎易做的网站
  • 公司请做网站公司网站建设网站
  • 湛江 网站建设网络推广方式有哪些推广思路
  • 企业网站推广的策略有哪些如何做一个app软件需要多少钱
  • 免费 网站管理系统wordpress新闻站
  • 网站备案怎样提交到管局软件开发设计文档示例
  • 建设银行宁波招聘网站博罗网站建设公司
  • 江苏建设培训网站包头市做网站
  • 站长工具综合查询系统建设网站报价
  • 福州网站提升排名网站logo一般多大