![](https://img-blog.csdnimg.cn/20210113194859654.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
CUDA
文章平均质量分 90
NVIDIA CUDA 编程
TracelessLe
BetterLife,BetterWorld.
展开
-
使用cuFFT求解傅里叶变换时的最优尺寸选择
前言傅里叶变换(Fourier Transform)是数字信号处理领域中一个非常重要的数学变换方法,用来实现信号从时域到频域的变换过程。离散傅里叶变换(Discrete Fourier Transform,DFT)是连续傅里叶变换在离散系统中的表示形式,由于其计算量大,在很长一段时间内其应用受到了极大限制。快速傅里叶变换(Fast Fourier Transform,FFT),是快速计算序列的离散傅里叶变换(DFT)或其逆变换的方法。是由Cooley和Tukey于20世纪60年代(1965年)合作发表原创 2021-10-08 13:55:03 · 1496 阅读 · 0 评论 -
NVIDIA NSight System工具安装和使用介绍(MacOS)
前言在之前的博客《NVIDIA nvprof / nvvp工具安装和使用介绍》中有提到NVIDIA GPU编程的性能分析工具之一——NVIDIA nvprof / nvvp,该工具是英伟达N卡GPU编程中用于观察的利器。全称是NVIDIA Visual Profiler,是由2008年起开始支持的性能分析器。交互性好,利于使用。其中记录运行日志时使用命令nvprof,可视化显示日志时使用命令nvvp。由于nvprof在性能表现上不是很好,在复杂的GPU编程环境下,nvprof / nvvp功能大打折扣。原创 2021-05-17 20:19:50 · 11402 阅读 · 0 评论 -
解决NVIDIA GeForce系列显卡NVENC并发Session数目限制问题
前言NVIDIA NVENC是NVIDIA显卡从2012年3月发布的Kepler-based GeForce 600系列引入的在视频编码方面的一个特性。较好地支持了显卡硬解码能力,加快视频解码速度。我们在使用支持硬编码的NVIDIA GPU进行视频编码时,一般是支持多路并发的,但是对于不同系列的显卡并发数支持不一样。通过官网可以看到不同系列对多路编码的支持。问题分析在使用GeForce系列做多路并发编码时,发现一旦并发数目超过3个,则超过3个的线程在创建编码Session时会直接报错。Runti原创 2021-02-08 14:28:22 · 10672 阅读 · 7 评论 -
NVIDIA CUDA核函数编写及CUDA API调用注意事项之In-place
引言CUDA(Compute Unified Device Architecture,统一计算架构)是由NVIDIA所推出的一种集成技术,是其对于GPGPU(A General-Purpose Graphics Processing Unit)的正式名称。通过该技术,开发者可以利用NVIDIA的GeForce 8以后的GPU进行计算。极大加速计算型应用的效率。通常用于游戏开发、视频编解码、图像处理等领域。问题分析在编写CUDA核函数时,或者直接调用CUDA封装好的API时,通常会有需要in-plac原创 2021-02-08 11:53:24 · 778 阅读 · 0 评论 -
OpenCV源码解读:Mat与GpuMat的内存拷贝(copyTo和clone)
前言OpenCV基础类型Mat以及GPU上的GpuMat是整个OpenCV工程体系中两种非常基础常用的类型。通常情况下Mat拥有的方法,GpuMat都会有对应的方法。对于内存拷贝,有两个常用的方法copyTo()和clone(),在使用的时候需要特别注意。MatcloneMat Mat::clone() const{ Mat m; copyTo(m); return m;}copyTovoid Mat::copyTo( OutputArray _dst ) co原创 2021-02-04 17:17:35 · 3550 阅读 · 0 评论 -
结合OpenCV和CUDA扩展自定义函数接口之导向滤波算法实现
声明:本文内容原创,首发于CSDN博客。未经许可禁止转载。需要更多帮助请私信或邮件联系。前言CUDA(Compute Unified Device Architecture,统一计算架构)是由NVIDIA所推出的一种集成技术,是其对于GPGPU(A General-Purpose Graphics Processing Unit)的正式名称。通过该技术,开发者可以利用NVIDIA的GeForce 8以后的GPU进行计算。极大加速计算型应用的效率。通常用于游戏开发、视频编解码、图像处理等领域。Ope.原创 2021-01-23 17:27:39 · 476 阅读 · 1 评论 -
导向滤波原理浅析
前言在图像处理上,导向滤波器(Guided Image Filter)是一种能使图像平滑化的非线性滤波器。与双边滤波器(Bilateral Filter)相同,这个滤波器同样能够在清楚保持图像边界的情况下,达到让图像平滑的效果。但不同于双边滤波器,导向滤波器有两个优点:首先,双边滤波器有非常大的计算复杂度(O(N^2)),但导向滤波器因为并未用到过于复杂的数学计算,有线性的计算复杂度。双边滤波器因为数学模型的缘故,在某些时候会发生梯度反转(gradient reverse)的状况,出现图像有损;原创 2021-01-19 21:00:08 · 4162 阅读 · 0 评论 -
双边滤波原理浅析
前言双边滤波(Bilateral filtering)是一种结合了图像像素空间位置关系和像素值大小的非线性组合的保边滤波算法,无需迭代计算,操作简单。从原理上讲,图像领域的滤波通常意义是希望去除噪声,使图像更加平滑。而传统的均值滤波、高斯滤波等只考虑空域,认为临近像素应该拥有相近的特性,这种假设在图像中的Edge处则不满足,如果仍用这种方式滤波则必定会导致边缘被模糊掉。为了达到保边效果,双边滤波通过结合空域和值域,在保证滤波效果的同时保持了边缘。对于双边滤波实际的应用场景,部分情况下可以用于人脸磨皮美颜。原创 2021-01-16 18:07:50 · 2377 阅读 · 0 评论 -
Ubuntu20.04上3090显卡安装Nvidia驱动和CUDA11.1及cuDNN8.0.4
前言GeForce RTX 3090是最新显卡,CUDA支持也只支持到最新版本11.0及以上。本文记录了GeForce RTX 3090安装驱动和CUDA11.1、cuDNN等过程,CUDA11.1和cuDNN与CUDA10.1及以前的安装过程略有不同。----------软硬件信息------------ 操作系统:Ubuntu20.04 显卡:GeForce RTX 3090------------------------------一、安装Nvidia驱动根据显卡型号3090,去官网原创 2021-01-15 21:35:38 · 18129 阅读 · 4 评论 -
Ubuntu20.04系统CUDA11.1环境上MXNet源码安装
前言MXNet预编译包目前支持CUDA8.0至CUDA11.0等常用版本,可以直接通过pip安装。而在新的GeForce 3090显卡上,如果安装了CUDA11.1,则无法采用这种便捷方式安装MXNet。通过查找资料,发现可以通过源码安装的方式兼容CUDA11.1。安装下载源码git clone --recursive https://github.com/apache/incubator-mxnet mxnetcd mxnetgit checkout 1.8.0.rc2若采用下面这种原创 2021-01-15 21:05:44 · 3541 阅读 · 15 评论 -
NVIDIA CUDA核函数及结合OpenCV的使用入门示例
引言CUDA(Compute Unified Device Architecture,统一计算架构)是由NVIDIA所推出的一种集成技术,是其对于GPGPU(A General-Purpose Graphics Processing Unit)的正式名称。通过该技术,开发者可以利用NVIDIA的GeForce 8以后的GPU进行计算。极大加速计算型应用的效率。通常用于游戏开发、视频编解码、图像处理等领域。CUDA is a parallel computing platform and progra原创 2020-12-23 21:49:39 · 1520 阅读 · 0 评论 -
NVIDIA nvprof / nvvp工具安装和使用介绍
NVIDIA nvprof / nvvp工具是英伟达N卡GPU编程中用于观察的利器。全称是NVIDIA Visual Profiler,是由2008年起开始支持的性能分析器。交互性好,利于使用。其中记录运行日志时使用命令nvprof,可视化显示日志时使用命令nvvp。原创 2020-12-08 20:39:17 · 17613 阅读 · 0 评论 -
TensorFlow在各操作系统下各版本对应关系(Python版本/编译器/构建工具/cuDNN/CUDA)
官网最新信息持续更新中:https://tensorflow.google.cn/install/sourceLinuxCPU版本Python 版本编译器构建工具tensorflow-2.1.02.7、3.5-3.7GCC 7.3.1Bazel 0.27.1tensorflow-2.0.02.7、3.3-3.7GCC 7.3.1Bazel 0.26.1tensorflow-1.14.02.7、3.3-3.7GCC 4.8Bazel 0.24.1原创 2020-06-20 21:15:39 · 5702 阅读 · 0 评论 -
Ubuntu18.04安装多个CUDA
前言很多时候配置深度学习的环境都会遇到这样一个问题,就是参考的不同的开源代码所用的环境不一定相同,特别是CUDA环境,一般会有CUDA9.0、CUDA10.0、CUDA10.1等版本。所对应的cuDNN也会不同。本文是在已安装CUDA10.0+cudnn7.6.4的基础上,加装CUDA9.0+cudnn7.3.1。一、gcc降级由于CUDA 9.0仅支持gcc6.0及以下版本,而Ubuntu 18.04预装GCC版本为7.3,因此需要手动进行降级,这里采用4.8版本。sudo apt-get ins原创 2020-06-20 15:39:50 · 1636 阅读 · 3 评论 -
Ubuntu18.04上外接显卡扩展坞安装Nvidia驱动和CUDA10.0及cuDNN
前言一通折腾,算是把显卡扩展坞给接上用起来了。能找到的Ubuntu外接显卡扩展坞配置深度学习环境的资料比较少,乱折腾一番总算是能用了。现努力回忆过程,尽可能完整地记录下来配置环境的过程。-------软硬件信息--------------------电脑:thinkpad笔记本,自带Intel集显操作系统:Windows10+Ubuntu18.04双系统显卡扩展坞:技嘉RTX 2080Ti 显卡坞 “雕盒”-----------------------------------显卡扩展坞在Wi原创 2020-06-18 22:01:31 · 3101 阅读 · 0 评论 -
【转载】PyTorch 使用不同版本的CUDA
由于课题的原因,笔者主要通过 Pytorch 框架进行深度学习相关的学习和实验。在运行和学习网络上的 Pytorch 应用代码的过程中,不少项目会标注作者在运行和实验时所使用的 Pytorch 和 cuda 版本信息。由于 Pytorch 和 cuda 版本的更新较快,可能出现程序的编译和运行需要之前版本的 Pytorch 和 cuda 进行运行环境支持的情况。比如笔者遇到的某个项目中编写了 CUDAExtension 拓展,而其中使用的 cuda 接口函数在新版本的 cuda 中做了修改,使得直接使用系统转载 2020-06-11 21:33:35 · 2339 阅读 · 3 评论 -
CUDNN7.0安装过程
前提:已经安装好CUDA9.0。①下载cudnn7.0软件包:cudnn-9.0-linux-x64-v7.tgz。②解压缩:tar zxvf cudnn-9.0-linux-x64-v7.tgz③安装:cd到cudnn解压后(名称为cuda)的include目录: cd cuda/include/复制头文件:sudo cp cudnn.h /usr/local/cuda/in...原创 2019-01-03 10:38:50 · 2828 阅读 · 1 评论