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

网页设计制作网站总结深圳网站建设 宝华大厦

网页设计制作网站总结,深圳网站建设 宝华大厦,营销网络的建设,雨果网跨境电商官网一、CUDA核心概念 ‌Host与Device‌ ‌Host‌:CPU及其内存,负责控制流程和复杂逻辑‌。‌Device‌:GPU及其显存,专为并行计算设计,需通过PCIe总线与Host通信‌。 ‌Kernel函数‌ 用__global__修饰,在GPU上…

一、CUDA核心概念

  1. Host与Device

    • Host‌:CPU及其内存,负责控制流程和复杂逻辑‌。
    • Device‌:GPU及其显存,专为并行计算设计,需通过PCIe总线与Host通信‌。
  2. Kernel函数

    • __global__修饰,在GPU上并行执行的函数,通过<<<grid, block>>>语法指定线程规模‌。
  3. 线程层次结构

    • Thread‌:最小执行单元,通过threadIdx定位‌。
    • Block‌:包含多个线程(最多1024个),块内线程可共享内存(Shared Memory)并通过__syncthreads()同步‌。
    • Grid‌:多个Block的集合,通过blockIdx定位‌。
  4. 内存模型

    • 全局内存(Global Memory)‌:所有线程可访问,容量大但延迟高‌。
    • 共享内存(Shared Memory)‌:Block内共享,速度接近寄存器‌。
    • 常量内存 (Constant Memory):只读内存,适用于在内核执行期间不改变的值。访问速度较快(当所有线程访问相同地址时)。
    • 纹理内存 (Texture Memory):专门用于处理图像和纹理数据的只读内存。提供缓存机制,适合进行空间局部性访问。支持各种过滤和坐标变换。
    • 寄存器(Registers)‌:线程私有,访问最快‌。

二、CUDA编程步骤

  1. 环境配置

    • 安装CUDA Toolkit(如v11.8或更高)并验证nvidia-smi输出‌。
  2. 第一个CUDA程序,比如test.cu文件

    #include "cuda_runtime.h"
    #include "device_launch_parameters.h"
    #include <stdio.h>__global__ void vector_add(float *a, float *b, float *c, int size){int tid = blockIdx.x*blockDim.x + threadIdx.x;if(tid < size){c[tid] = a[tid] + b[tid];}
    }int main() {int size = 1000;float *a, *b, *c, *c_host;c_host = (float*)malloc(sizeof(float)*size);//设备内存分配cudaMalloc(&a, sizeof(float)*size);cudaMalloc(&b, sizeof(float)*size);cudaMalloc(&c, sizeof(float)*size);//初始化及数据传输float a_host[1000];float b_host[1000];int n = 0;for(n=0; n<size; n++){a_host[n] = 1.0;b_host[n] = 99.0;}cudaMemcpy(a,a_host,sizeof(float)*size,cudaMemcpyHostToDevice);cudaMemcpy(b,b_host,sizeof(float)*size,cudaMemcpyHostToDevice);//dim3 block(256); //每Block 256线程dim3 grid((size+256-1)/256);//计算所需Block数(这里根据size计算)vector_add<<<grid,block>>>(a,b,c,size);//结果回传到主机内存cudaMemcpy(c_host,c,sizeof(float)*size,cudaMemcpyDeviceToHost);cudaDeviceSynchronize();  // 等待GPU执行完成printf("host data head:%.2f tail:%.2f\n", c_host[0], c_host[size-1]);cudaFree(a);cudaFree(b);cudaFree(c);free(c_host);return 0;
    }

    编译命令:

    nvcc test.cu -o test
  3. 内存管理
    使用cudaMalloc分配设备内存,cudaFree释放设备内存。
    使用cudaMallocHost/malloc分配主机内存,使用cudaFreeHost/free释放主机内存。
    cudaMemcpy在Host与Device间传输数据‌。
    cudaMemcpy(deviceA, hostA, size, cudaMemcpyHostToDevice); 从主机到设备复制数据。
    cudaMemcpy(hostB, deviceB, size, cudaMemcpyDeviceToHost);从设备到主机复制暑假。

http://www.dtcms.com/wzjs/810848.html

相关文章:

  • 淘宝客网站 建设要钱不软件公司都是干什么的
  • 网站开发技术孵化明光市建设局网站
  • 什么都不懂做网站企业信息信用信息公示网官网
  • 免费做章子的网站自助单页网站
  • 为什么要建设应急管理网站智能路由器 建网站
  • 广东建设部网站福田做网站价格
  • 网站正能量晚上在线观看视频免费建站模板哪个好
  • 雄安做网站公司外贸soho建站
  • 做网站常用字体什么是网络营销管理
  • 网站如何备案 附备案流程图宜宾县企业项目建设影响环境登记表网站
  • 自适应平台网站模板网页美工设计教案网页元素设计
  • 招标代理网站建设移动网站设计与制作
  • 创新网站建设中国物流企业网站建设问题
  • 有人做家具网站中介吗做网站需要什么资质
  • 网站顶部怎么做新浪链接乐陵seo外包
  • 怎么改一个网站的关键词密度微信商城网站开发
  • 建五金方面的网站您备案的网站名称没有关联性
  • 郑州建设网站报价个人网站空间怎么做
  • 六安网站制作费用多少网页设计软件列表html代码
  • 东南亚cod建站工具招聘网站建设计划书
  • 网站设计需求书万盛经开区建设局网站
  • 计生网站生育文明建设怎么建立一个博客网站
  • 分析竞争对手网站海口 做网站
  • 网站域名注册空间网络运维好学吗
  • 三亚h5网站定制开发公司巴中建设局网站
  • 石家庄网站建设公司wordpress怎么发博客
  • express 网站开发微信小程序开发工具官网入口
  • ps做网站要多大网页设计代码模板海贼王
  • 深圳做网站哪个公司最好网站建设 宁夏
  • 假链接制作网站网站建设困难吗