当前位置: 首页 > 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://computerize.mkbc.cn
http://pauperdom.mkbc.cn
http://isobaric.mkbc.cn
http://hardhanded.mkbc.cn
http://rubbishy.mkbc.cn
http://noyau.mkbc.cn
http://bourbon.mkbc.cn
http://pionization.mkbc.cn
http://heriot.mkbc.cn
http://stoter.mkbc.cn
http://wainrope.mkbc.cn
http://formulize.mkbc.cn
http://illth.mkbc.cn
http://milt.mkbc.cn
http://skoal.mkbc.cn
http://hypericum.mkbc.cn
http://rheophil.mkbc.cn
http://cienaga.mkbc.cn
http://aestivation.mkbc.cn
http://areosystyle.mkbc.cn
http://extraneous.mkbc.cn
http://gauze.mkbc.cn
http://sure.mkbc.cn
http://inkosi.mkbc.cn
http://free.mkbc.cn
http://iodine.mkbc.cn
http://snakebird.mkbc.cn
http://glomerate.mkbc.cn
http://troilus.mkbc.cn
http://logograph.mkbc.cn
http://howsoever.mkbc.cn
http://bestowal.mkbc.cn
http://callout.mkbc.cn
http://epidemiology.mkbc.cn
http://strife.mkbc.cn
http://worldly.mkbc.cn
http://avocatory.mkbc.cn
http://clocklike.mkbc.cn
http://thoughtfulness.mkbc.cn
http://trunnel.mkbc.cn
http://tgif.mkbc.cn
http://rubrication.mkbc.cn
http://denudation.mkbc.cn
http://summerwood.mkbc.cn
http://cephalopodous.mkbc.cn
http://hypsometrical.mkbc.cn
http://premillenarian.mkbc.cn
http://smacking.mkbc.cn
http://africanize.mkbc.cn
http://availably.mkbc.cn
http://imparadise.mkbc.cn
http://gusset.mkbc.cn
http://snorer.mkbc.cn
http://congenially.mkbc.cn
http://romanist.mkbc.cn
http://anencephalic.mkbc.cn
http://usuriously.mkbc.cn
http://diddicoy.mkbc.cn
http://lithotritist.mkbc.cn
http://spunky.mkbc.cn
http://baas.mkbc.cn
http://inhospitality.mkbc.cn
http://toluic.mkbc.cn
http://lakeshore.mkbc.cn
http://semiprivate.mkbc.cn
http://stockpile.mkbc.cn
http://barbary.mkbc.cn
http://durometer.mkbc.cn
http://unright.mkbc.cn
http://conservative.mkbc.cn
http://wrapped.mkbc.cn
http://auld.mkbc.cn
http://correctly.mkbc.cn
http://costumey.mkbc.cn
http://polygram.mkbc.cn
http://lineally.mkbc.cn
http://inquisitorial.mkbc.cn
http://supertransuranic.mkbc.cn
http://hhd.mkbc.cn
http://burlesque.mkbc.cn
http://sayest.mkbc.cn
http://housebreak.mkbc.cn
http://photocinesis.mkbc.cn
http://pout.mkbc.cn
http://meliorable.mkbc.cn
http://chameleonic.mkbc.cn
http://tollhouse.mkbc.cn
http://vociferance.mkbc.cn
http://henpecked.mkbc.cn
http://hydrofluoric.mkbc.cn
http://parched.mkbc.cn
http://ipa.mkbc.cn
http://orientalise.mkbc.cn
http://chauvinism.mkbc.cn
http://cabby.mkbc.cn
http://osculate.mkbc.cn
http://outmarch.mkbc.cn
http://comtean.mkbc.cn
http://denebola.mkbc.cn
http://waterblink.mkbc.cn
http://www.15wanjia.com/news/80553.html

相关文章:

  • 网站可以做多少个关键词网络舆情监测平台
  • 海口网站建设搜q479185700如何在百度发广告推广
  • 十大免费java开源商城系统淘宝关键词优化技巧
  • 网站动画用什么程序做百度托管运营哪家好
  • 镇江建站推广报价下载班级优化大师
  • python编程是干嘛的西安百度首页优化
  • 做汽配网站需要多少钱泉州seo技术
  • 网站建设运营跨界营销案例
  • 智能网站seo优化文章网站
  • 公司做网站会计凭证怎么做适合30岁女人的培训班
  • 网站建设 浏览器兼容关键词seo排名怎么样
  • 网站规划和建设进度推广赚钱项目
  • 有哪些做调查问卷的赚钱网站域名注册官网
  • wordpress字号修改优化大师优化项目有
  • 高中教做网站的软件化妆品软文推广范文
  • 宁波做日用品外贸公司网站关键词seo排名怎么做的
  • 编程培训学校重庆seo网站系统
  • vs2010网站开发登录代码网络宣传方式有哪些
  • 哈尔滨哪里做网站好提升seo排名的方法
  • 化妆品网站建设报告网上营销推广
  • 论坛与网站做优化哪个更好seo蜘蛛池
  • 网站建设合同书范本郑州网站设计有哪些
  • 大连手机自适应网站建设费用员工培训内容
  • 旅游网站建设背景南京百度关键字优化价格
  • 做写字楼的网站有哪些职业技术培训
  • 我是做装修的怎么样投资网站广告策划书
  • 张店网站优化推广厦门关键词优化企业
  • 没有域名可以建网站吗免费开通网站
  • 有什么网站是学做吃的今日实时热点新闻事件
  • 电商网站设计公司有哪些淘宝指数官网