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

如何设计响应式网站网站建设推广兼职

如何设计响应式网站,网站建设推广兼职,房地产网站建设公司,短链接生成器本系列视频目的是帮助开发者们一步步地学会利用CUDA编程模型加速GPU应用, 我们的口号是: 让GPU飞起来 本期我介绍了cuda 当中规约算法的一种情况, 也是小何尚职业生涯中的第一道面试题, 计算数组中所有元素的和. CUDA编程模型系列八(原子操作 / 规约 / 向量元素求和) #include…

本系列视频目的是帮助开发者们一步步地学会利用CUDA编程模型加速GPU应用, 我们的口号是: 让GPU飞起来

本期我介绍了cuda 当中规约算法的一种情况, 也是小何尚职业生涯中的第一道面试题, 计算数组中所有元素的和.

CUDA编程模型系列八(原子操作 / 规约 / 向量元素求和)

#include <stdio.h>
#include <math.h>#define N 100000000
#define BLOCK_SIZE 256
#define GRID_SIZE 32__managed__ int source[N];
__managed__ int gpu_result[1] = {0};// source[N]:  1 + 2 + 3 + 4 + ...............N   
// cpu: for loop 
// gpu: 1 + 2 + 3 + 4 + ...............N    0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 8 9 10 11 12  .... 31
// thread id step 0:  tid0:source[0] + source[4] -> source[0]
//                    tid1:source[1] + source[5] -> source[1]
//                    tid2:source[2] + source[6] -> source[2]
//                    tid4:source[4] + source[7] -> source[3]
//           step 1:  tid0: source[0] + source[2] -> source[0]
//                    tid1: source[1] + source[3] -> source[1]
//
//           step 2:  tid0: source[0] + source[1] -> source[0]
// thread id: blockDim.x * blockIdx.x + threadIdx.x + step * blockDim.x * GridDim.x
// thread 0: source[0, 8, 16, 24] sum -> shared memory
//
//__global__ void sum_gpu(int *in, int count, int *out)
{__shared__ int ken[BLOCK_SIZE];//grid_loopint shared_tmp=0;for(int idx = blockDim.x * blockIdx.x + threadIdx.x; idx < count; idx += blockDim.x * gridDim.x){shared_tmp +=in[idx];}ken[threadIdx.x] = shared_tmp;__syncthreads();int tmp =0;for(int total_threads = BLOCK_SIZE/2; total_threads>=1; total_threads/=2){if(threadIdx.x < total_threads){tmp = ken[threadIdx.x] + ken[threadIdx.x + total_threads]; }__syncthreads();if(threadIdx.x < total_threads){ken[threadIdx.x] = tmp;}}// block_sum -> share memory[0]if(blockIdx.x * blockDim.x < count){if(threadIdx.x == 0){atomicAdd(out, ken[0]);// memory space wmr}}}int main()
{int cpu_result =0;printf("Init input source[N]\n");for(int i =0; i<N; i++){source[i] = rand()%10;}cudaEvent_t start, stop_cpu, stop_gpu;cudaEventCreate(&start);cudaEventCreate(&stop_cpu);cudaEventCreate(&stop_gpu);cudaEventRecord(start);cudaEventSynchronize(start);for(int i = 0; i<20; i++){gpu_result[0] = 0;sum_gpu<<<GRID_SIZE, BLOCK_SIZE>>>(source, N, gpu_result);cudaDeviceSynchronize();}cudaEventRecord(stop_gpu);cudaEventSynchronize(stop_gpu);for(int i =0; i<N; i++){cpu_result +=source[i];}cudaEventRecord(stop_cpu);cudaEventSynchronize(stop_cpu);float time_cpu, time_gpu;cudaEventElapsedTime(&time_cpu, stop_gpu, stop_cpu);cudaEventElapsedTime(&time_gpu, start, stop_gpu);printf("CPU time: %.2f\nGPU time: %.2f\n", time_cpu, time_gpu/20);printf("Result: %s\nGPU_result: %d;\nCPU_result: %d;\n", (gpu_result[0] == cpu_result)?"Pass":"Error", gpu_result[0], cpu_result);return 0;
}
http://www.yayakq.cn/news/675489/

相关文章:

  • 自己做充值网站ai智能搜索引擎
  • 网站权重和什么有关时尚字体设计网站
  • 怎样建设个人影视网站单页设计多少钱一张
  • 网站建设开发方式包括哪些云南公司网站建设
  • e网站建设企业网站首页
  • 室内设计和网站建设哪个前景好红色大气宽屏企业网站源码 带后台中英文双语外贸企业网站源码
  • 免费建站平台官网南京做中英文网站
  • django网站开发视频教程深圳高端别墅设计公司
  • 协会网站建设计划自己的简历怎么制作网站
  • 网站开发关于安全问题关于门户网站建设
  • 不会编程做网站个人如何制作网站源码
  • 沈阳微网站东莞vi设计公司
  • 定制棺材网站基础建设的网站有哪些
  • 医院建设网站意义自助建站免费建站平台
  • 建设网站重庆wordpress 自动缩略图
  • 企业搭建自己的网站做网站推广选哪家
  • 低价建站在哪里买做网站定金是多少
  • 网站优化的主要内容人工智能建筑设计软件
  • 湖北响应式网站制作wordpress 汉化
  • 手机版网站如何做上海做网站站优云一一十七
  • 制作单位网站wordpress改投票系统
  • 品牌宣传型网站有哪些三端互通传奇手游找服网站
  • 南通 外贸建站网站对比app还有优势吗
  • 清徐县建设局网站做框图的网站
  • 建网站用的免费软件潍坊建公司网站
  • wordpress站点更换域名佛山企业用seo策略
  • 做智能网站营销话术哈尔滨模板做网站
  • 网站开发语言net建设京东类的网站需要什么流程图
  • 网站 配色如何做分享赚钱的网站
  • 网站空间去哪买wordpress 登陆不上