博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CUDA入门
阅读量:6037 次
发布时间:2019-06-20

本文共 616 字,大约阅读时间需要 2 分钟。

hot3.png

CUDA API包括三个,从低到高等级分别为 Thrust API  Runtime API   Driver API

 

用于CUDA的GPU是安装于主机系统中的独立设备

GPGPU运行在一个和主处理器相隔离的存储空间中

CUDA Kernel是可在主机代码中调用而在CUDA设备上运行的子程序(Kernel没有返回值)

Kernel的调用时异步的,即主机仅仅把要执行的Kernel顺序提交给GPGPU,并不等待执行完成,然后直接处理后面的其他任务

  cudaThreadSynchronize() 使主机进入阻塞状态

  cudaMemory() 实现阻塞式数据传输

GPU上的基本运行单位是线程

GPU上最大的可共享的内存区域成为全局内存

  常量内存、高速缓存、共享内存、局域内存、纹理内存、寄存器

 

GPGPU编程的三条法则

  1 将数据放入病始终存储于GPGPU

    pcie总线速度大概是8gb/s,而GPU全局内存的速度大概是160-200gb/s

  2 交给GPGPU足够多的任务

    传输数据还要消耗时间,因此,最好让GPU工作时间能补偿传输所浪费的资源

  3 注重GPGPU上的数据重用,以避免带宽限制

    尽量重用数据以获取高性能

 

回归测试:经常用一段代码作为回归测试,测试kernel函数的正确性

转载于:https://my.oschina.net/u/204616/blog/545173

你可能感兴趣的文章
nginx上传文件大小
查看>>
数字通信原理笔记(一)---概述
查看>>
HDU 2243 考研路茫茫——单词情结(自动机)
查看>>
Dubbo OPS工具——dubbo-admin & dubbo-monitor
查看>>
如何将OpenCV中的Mat类绑定为OpenGL中的纹理
查看>>
CutyCapt
查看>>
Dungeon Master ZOJ 1940【优先队列+广搜】
查看>>
解决https://localhost:1158/em 页面无法打开的问题
查看>>
[Cocoa]深入浅出Cocoa之Core Data(4)- 使用绑定
查看>>
原理:什么是Quadtrees?(转)
查看>>
记:返回方法参数的值(或多个值),
查看>>
Effective C++ 的52个条款列表
查看>>
c#读取ini文件
查看>>
一阶微分方程的求解
查看>>
其它 Helper
查看>>
监控利器Prometheus初探
查看>>
foreach遍历打印表格
查看>>
Oracle笔记(中) 多表查询
查看>>
Delphi 中的 XMLDocument 类详解(5) - 获取元素内容
查看>>
差异分析定位Ring 3保护模块
查看>>