GPU
smartcat2010
这个作者很懒,什么都没留下…
展开
-
GPU Kernel冷启动warm up
1. Kernel代码copy至GPU设备上When using the CUDA runtime API, kernel code is downloaded to the device once. This happens as an implicit action right after CUDA runtime context creation. When using the CUDA driver API, the app has control over when kernels get d原创 2022-02-17 12:06:50 · 1018 阅读 · 0 评论 -
卷积在GPU上的实现
【卷积加速】深度学习卷积算法的GPU加速实现方法_cbd_2012的博客-CSDN博客(Caffe)卷积的实现_沤江一流的专栏-CSDN博客_caffe卷积实现CCCaffe是将feature map和kernel都展开成矩阵,使用矩阵成法来做的...转载 2021-11-21 22:50:01 · 659 阅读 · 0 评论 -
CUDA的Occupancy和Achieved Occupancy概念
官方原文Occupancy is defined as the ratio of active warps on an SM to the maximum number of active warps supported by the SM.即Occupancy =active warps /maximum number of active warps on this SMLow occupancy results in poor instruction issue efficiency, ..原创 2020-09-10 14:21:16 · 1500 阅读 · 0 评论 -
CUDA Stream优化经验
Multi-Process Service(MPS)原理: 一个GPU卡上同时只能执行一个context;因此多进程同时往一个GPU卡上提交任务时,同时只能有一个任务跑起来,没法多任务并行; MPS服务:多进程提交的任务先提交至MPS服务进程,该进程会把所有任务使用同一个context但不同的stream, 提交给该块GPU卡,使得可以多任务并行; 缺点:增大了任务...原创 2020-05-06 23:03:34 · 3347 阅读 · 0 评论 -
CUDA Graph(创建静态图加快后续多次启动速度)
博客原文应用场景:多次迭代(每次迭代执行的任务图都一样)假设:shortKernel是一个运行时间极短的kernel1. 初始版本:define NSTEP 1000#define NKERNEL 20// start CPU wallclock timerfor(int istep=0; istep<NSTEP; istep++){ for(int ikrnl...原创 2020-03-28 20:52:56 · 5826 阅读 · 0 评论 -
NVIDIA传统机器学习库(RAPIDS主打)
cuBLAS, cuSPARSE, cuSOLVERNCCLThrustRAPIDS:cuDF: 对标Pandas;cuDF能够快速的对数据进行解压,并加载到ETL系统中去。cuDF还可以对数据进行过滤,合并以及特征提取等所有ETL过程;它与Pandas的功能非常类似,甚至Pandas提供的所有调用、API,在cuDF里都能找到对应的动作、API或者对应的算法,因此,可以很...转载 2020-03-28 11:44:55 · 420 阅读 · 0 评论 -
Kubernetes on Nvidia GPUs(容器对GPU资源的感知) & NGC
2018年,NVIDIA发布Kubernetes on Nvidia GPUs(相当于Kubernetes的GPU版),可供开发人员免费使用。该版本是针对那些在多云GPU集群上训练深度学习模型的企业。背后的想法是为了让软件容器编排平台更加“GPU感知”。帮助开发人员更好地协调散步在多个云主机的GPU集群。功能:1. 让Kubernetes能感知到GPU资源(计算单元+显存),用于调度;...转载 2020-03-28 10:23:07 · 454 阅读 · 0 评论 -
NVIDIA Deep Learning SDK(NVIDIA深度学习相关的各种库)
Mixed precision in AI frameworks (Automatic Mixed Precision): 混合精度计算,最高3倍加速比,利用Tensor Cores;(Get upto 3X speedup running on Tensor Cores With just a few lines of code added to your existing training s...转载 2020-03-28 09:15:22 · 883 阅读 · 0 评论 -
混合精度训练(Automatic Mixed Precision)
混合精度训练最近刚好在做相关工作,所以花点时间对混合精度进行模型训练进行一下理解与总结.详细数据请参考百度与nvidia联合放在arxiv上的论文:https://arxiv.org/pdf/1710.03740.pdfNVIDIA对该库的介绍概述深度学习模型的计算任务分为训练和推理.训练往往是放在云端或者超算集群中,利用GPU强大的浮点计算能力,来完成网络模型参数的学习过程.一般来说...转载 2020-03-27 21:53:35 · 2757 阅读 · 0 评论 -
线上预测TensorRT
TensorRT入门模型量化、动态内存优化、层的融合转载 2019-12-18 21:00:54 · 150 阅读 · 0 评论 -
TPU原理
一文看懂谷歌TPU内部原理:它为何碾压GPU吞吐量是GPU的20~70倍;原理:1. 预测阶段,使用8位整数量化;2.一个TPU包含65,536个8位整数乘法和加法单元,GPU通常包含数千个32位浮点乘法器,因此TPU的计算单元比GPU多25倍;3. 8位整数乘法和加法单元,激活单元等,转为神经网络定制;4.脉动阵列 MXU(systolic array)有着与传统CP...转载 2019-11-09 10:12:59 · 1309 阅读 · 1 评论 -
GPU
CUDA-aware MPIhttps://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#changes-from-previous-version用处:透明的把Host主存orGPU内存里的数据发送到对方Host主存orGPU内存; (省去了手动在Host和GPU之间Copy)UVA,统一地址空间,例如Host主存映...原创 2019-03-20 18:35:05 · 272 阅读 · 0 评论 -
GPU经典博客案例总结(Mark Harris的博客)
A. kernel里写成loop,比每个thread干一下就走要好:https://devblogs.nvidia.com/cuda-pro-tip-write-flexible-kernels-grid-stride-loops/扩展性:能适应更多的数据,尤其是当数据比Grid里threads个数多的时候;能tune grid/block大小(block数目尽量是SM个数的整数倍);性能...原创 2019-03-25 11:56:03 · 684 阅读 · 0 评论 -
GPGPU
2个矩阵乘法的例子:1. 分块:每个block负责目标矩阵中的一块,好处:(读显存的数据量:计算次数=1:小块的边长);如果直接每个thread负责1个目标值,读显存数据量:计算次数=1:1,而且读column显存时可能无法连续读显存;1. A*X+Y的例子:https://devblogs.nvidia.com/easy-introduction-cuda-c-and-c/注意...原创 2019-03-27 12:47:08 · 624 阅读 · 0 评论 -
CUDA-aware MPI
CUDA-aware MPIhttps://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#changes-from-previous-version例子:OpenMPI用处:透明的把Host主存orGPU内存里的数据发送到对方Host主存orGPU内存; (省去了手动在Host和GPU之间Copy)UVA,统一地址...原创 2019-11-02 17:25:13 · 1298 阅读 · 0 评论