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

建设公司网站方案bt磁力搜索引擎在线

建设公司网站方案,bt磁力搜索引擎在线,语音直播app开发,wordpress能上传软件吗为了确保能够真正地了解线程块的分配,接下来我们写一个简短的内核程序来输出线程块、线程、线程束和线程全局标号到屏幕上。现在,除非你使用的是 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.mmbaike.com/news/66377.html

相关文章:

  • 宁波高端网站建设推广快速申请免费个人网站
  • 南京哪家做电商网站经典广告
  • 我想做一个网站怎么做的网络营销推广方案3篇
  • 建设一个网站需要多久多少钱惠州seo优化
  • 做网站需要哪方面的编程淘宝怎么提高关键词搜索排名
  • 公司做网站的流程网站建设流程是什么
  • 怎么做视频聊天网站杭州网站推广优化
  • 自学网官方网站入口做一个公司网站大概要多少钱
  • 做服装设计看哪些网站企业宣传视频
  • 网站技术报务费如何做会计分录百度搜索竞价推广
  • 如何做网站的搜索优化指的是什么
  • 阿里云服务器 个人网站百度热搜关键词排名
  • 网站如何提交给百度网站宣传和推广的方法有哪些
  • 区县12380网站建设情况杭州百度首页排名
  • 免费php网站网站整合营销推广
  • 凡科网可以自己做网站吗百度宁波运营中心
  • 做网站能用自己电脑吗百度指数app
  • 联通 网站备案seo关键词排名优化案例
  • 在征婚网站上认识做期货济南做网站比较好的公司
  • 网站制作视频教程下载百度云软文模板app
  • 常州网站建设企业网站电脑优化大师下载安装
  • 顺德公司做网站seo网站优化培训公司
  • wordpress调用评论西安seo建站
  • c 语言做网站优化大师是干什么的
  • 长春做网站价格办公软件速成培训班
  • tp5网站开发逻辑架构软文宣传
  • 个人单页网站建设品牌整合营销案例
  • 图片展示型网站手机打开国外网站app
  • 山西网站建设关键词林俊杰免费听
  • 移动门户网站建设特点优化关键词是什么意思