cuda

CUDA之矩阵转置(全局内存、共享内存)

# 使用全局内存 [完整代码链接](https://github.com/brucefan1983/CUDA-Programming/blob/master/src/07-global-memory/matrix.cu) ## A合并访问、B非合并访问 ```c++ #ifdef USE_DP ty ......
内存 矩阵 全局 CUDA

《CUDA编程:基础与实践》读书笔记(5):统一内存编程

统一内存(unified memory)是一种逻辑上的概念,它既不是显存、也不是主机内存,而是CPU和GPU都可以访问并能保证一致性的虚拟存储器。使用统一内存对硬件有较高的要求: - 对于所有功能,GPU架构都必须不低于Kepler架构,主机应用程序必须为64位。 - 对于一些较新的功能,至少需要P ......
内存 基础 笔记 CUDA

ubuntu20.04 安装 cuda11.8 + cuDNN v8.9.0 (July 11th, 2023), for CUDA 11.x + TensorRT-8.6.1

根据文档:https://docs.nvidia.com/deeplearning/tensorrt/archives/tensorrt-861/install-guide/index.html TensorRT 8.6.1 支持:cuda11.8, cuDNN v8.9.0 ### 1. 安装 c ......
11 TensorRT ubuntu 20.04 cuDNN

OpenCV 配置CUDA

以openCV4.2配置cuda10.2为例。 【下载】 CUDA Toolkit和cuDNN https://developer.nvidia.com/accelerated-computing-toolkit 1、安装CUDA Toolkit,注意自定义安装,安装下图勾选的即可 下一步后,会让选 ......
OpenCV CUDA

CUDA Memcpy的分析

CUDAMemcpy是一种CUDA库中的函数,可以在主机内存和设备内存之间复制数据。本文将从功能、使用方法、性能、优化等多个角度详细介绍CUDAMemcpy。 一、功能 CUDAMemcpy的主要功能是在设备内存和主机内存之间进行数据传输。它可以将主机上的数据发送到GPU上,也可以将GPU上的数据传 ......
Memcpy CUDA

CUDA cudaMemcpy函数总结

在使用cuda的时候一定会用到cudaMemcpy这个函数,因为我们就是用它实现数据在CPU与GPU之间的移动,想在GPU端计算就必须要将数据从CPU拷贝到GPU,想要获得GPU的计算结果就必须将结果拷贝回CPU。 但是在使用这个函数的时候对它的第一个参数存在一些疑惑,经过查找资料后做个简单的总结。 ......
cudaMemcpy 函数 CUDA

OpenCV与CUDA简介

因为算法的需要,正常的CPU算法速度不够需要进行加速,OpenCV中正好加入了GPU计算的模块,OpenCV中有两种GPU的加速方式,一种是通用标准的opencl,另一种是NVIDIA的cuda加速。opencl是苹果公司提出的一种通用标准,多种平台支持的标准。cuda是NVIDIA提出的并行计算平 ......
简介 OpenCV CUDA

CUDA 简单程序的基本框架和自定义设备函数

1 cuda程序的基本框架 框架包含: 头文件 常量或者宏定义 C++自定义函数和cuda核函数的原型声明 main函数 C++自定义函数核CUDA核函数的定义实现其中main函数中 1 int main() 2 { 3 分配主机与设备代码内存 4 初始化主机中的数据 5 将某些数据从主机复制到设备 ......
函数 框架 程序 设备 CUDA

《CUDA编程:基础与实践》读书笔记(4):CUDA流

## 1. CUDA流 一个CUDA流指的是由主机发出的在一个设备中执行的CUDA操作序列。除主机端发出的流之外,还有设备端发出的流,但本文不考虑后者。一个CUDA流中的各个操作按照主机发布的次序执行;但来自两个不同CUDA流的操作不一定按照某个次序执行,有可能是并发或者交错地执行。 任何CUDA操 ......
CUDA 基础 笔记

CUDA 编程基础

基于c/c++的编程方法 支持异构编程的扩展方法 简单明了的apis,能够轻松的管理存储系统 cuda支持的编程语言:c/c++/python/fortran/java… 1、CUDA并行计算基础 异构计算 CUDA 安装 CUDA 程序的编写 CUDA 程序编译 利用NVProf查看程序执行情况 ......
基础 CUDA

CUDA 配置环境(二):Windows10+QT5.14+CUDA11.3+MSVC2017

准备安装QT,参考教程: 安装CUDA11.3 配置环境 与在VS2017中的配置不同,VS2017可以在选项卡中对CUDA的编译调试环境进行配置,而在QT中,这都需要在工程文件.pro中,通过代码来实现。下面介绍如何新建一个可运行CUDA代码的QT工程。 (1)新建一个QT Console App ......
CUDA Windows 环境 11.3 2017

CUDA 配置环境(三):nvcc fatal : Could not set up the environment for Microsoft Visual Studio using 已解决

解决在QT中编写CUDA程序出现nvcc fatal : Could not set up the environment for Microsoft Visual Studio using的问题问题详情 在QT编写CUDA代码,在已经配好.pro文件中的代码,并且CUDA安装没有问题,还可以在VS ......
environment Microsoft 环境 Visual Studio

CUDA 配置环境(一):Windowns10+VS2017+CUDA11.3

准备 安装好VS2017和CUDA11.3,这两个软件的安装都很简单,网上也有很多的教程,对于对应的系统环境变量的配置,一般安装成功后,都会自动添加好,只需要按照网上的教程检查一下即可,下面我会给出我个人感觉不错的安装教程。 VS2017安装 CUDA安装 CUDA自带例程(1)首先测试CUDA安装 ......
CUDA Windowns 环境 2017 11.3

Qt CUDA混合编程BUG(二)

问题描述(一) QT引用外部库,debug、release均编译通过,但是运行程序时失败,报错提示为:程序异常结束,The process was ended forcefully. 21:44:21: 程序异常结束。 21:44:21: The process was ended forceful ......
CUDA BUG Qt

非root安装CUDA 11.7

## 下载 CUDA官网找到对应版本 https://developer.nvidia.com/cuda-11-7-0-download-archive?target_os=Linux&target_arch=x86_64&Distribution=CentOS&target_version=7&t ......
root CUDA 11.7 11

Qt CUDA混合编程BUG(一)

QT+CUDA混合编程BUG(一):在QT中进行CUDA编程,CUDA库与其他外部库冲突,debug失败 问题描述 在QT中进行CUDA编程,单独使用CUDA编程时并未出现难以解决的问题,但当我讲CUDA处理的部分,加入已搭建完毕一项较大的QT项目工程时,CUDA的lib库与项目使用到的其他外部li ......
CUDA BUG Qt

CUDA 安装教程

1 cuda的下载及安装 1.1 查看适合的cuda版本 我电脑上支持的cuda是11.6的 1.2 cuda toolkit下载 https://developer.nvidia.com/cuda-toolkit-archive 进入上述网页,找到适合的cuda 1.3 cuda toolkit安 ......
教程 CUDA

CUDA 安装(一看就会)

1.背景学习深度学习的话,肯定需要安装PyTorch和TensorFlow,安装这两个深度学习框架之前得安装CUDA.CUDA是什么?CUDA是一个并行计算平台和编程模型,能够使得使用GPU进行通用计算变得简单和优雅。Nvidia官方提供的CUDA 库是一个完整的工具安装包,其中提供了 Nvidia ......
CUDA

Qt 编写CUDA程序

本文基于的情况是,Qt,CUDA和VS已经安装完成且能够正常运行的情况 1.创建一个空的Qt项目 2.创建一个.cu文件,本文创建的为kernel.cu 内容如下 1 #include "cuda_runtime.h" 2 #include "device_launch_parameters.h" ......
程序 CUDA Qt

《CUDA编程:基础与实践》读书笔记(3):同步、协作组、原子函数

## 1. 单指令多线程模式 从硬件上看,一个GPU被分为若干个SM。线程块在执行时将被分配到还没完全占满的SM中,一个线程块不会被分配到不同的SM中,一个SM可以有一个或多个线程块。不同线程块之间可以并发或顺序地执行。当某些线程块完成计算任务后,对应的SM会部分或完全地空闲,然后会有新的线程块被分 ......
协作组 原子 函数 基础 笔记

大连人工智能计算平台——华为昇腾AI平台——高性能计算HPC的pytorch源码编译报错——USE_CUDA=OFF——编译好的pytorch不支持CUDA的问题解决

如题: pytorch源码编译报错——USE_CUDA=OFF 在编译pytorch源码的时候发现错误,虽然编译环境中已经安装好CUDA和cudnn,环境变量也都设置好,但是编译好的pytorch包wheel总是在运行torch.cuda.is_available() 显示false,于是从编译源码 ......
pytorch 平台 人工智能 CUDA 高性能

CUDA11.3编译pytorch2.0.1报错:error: ‘nvmlProcessInfo_v1_t’ was not declared in this scope

问题如题: CUDA11.3编译pytorch2.0.1报错:error: ‘nvmlProcessInfo_v1_t’ was not declared in this scope 解决方法参考: https://github.com/pytorch/pytorch/issues/100618 简 ......

《CUDA编程:基础与实践》读书笔记(2):CUDA内存

## 1. 全局内存 核函数中的所有线程都能够访问全局内存(global memory)。全局内存的容量是所有设备内存中最大的,但由于它没有放在GPU芯片内部,因此具有相对较高的延迟和较低的访问速度,`cudaMalloc`分配的就是全局内存。此外,当处理逻辑上的二维或者三维问题时,还可以使用`cu ......
CUDA 内存 基础 笔记

《CUDA编程:基础与实践》读书笔记(1):CUDA编程基础

## 1. GPU简介 GPU与CPU的主要区别在于: - CPU拥有少数几个快速的计算核心,而GPU拥有成百上千个不那么快速的计算核心。 - CPU中有更多的晶体管用于数据缓存和流程控制,而GPU中有更多的晶体管用于算数逻辑单元。 所以,GPU依靠众多的计算核心来获得相对较高的并行计算性能。 一块 ......
基础 CUDA 笔记

大连人工智能计算平台——华为昇腾AI平台——高性能计算HPC的pytorch环境报错——torch.cuda.is_available()显示false——NVIDIA显卡驱动版本过低导致pytorch无法使用cuda

在使用这个HPC平台的时候发现了这么一个问题,那就是编译好的pytorch-cuda和anaconda官方安装的pytorch-cuda均不能调用cuda计算,这个现象十分的诡异,经过长时间的调查发现了问题所在——NVIDIA驱动版本过低。 给出该HPC的显卡驱动版本: ......

【Ubuntu】Cuda10.2与cuDNN7.6.5的安装

本文是 Cuda10.2 与 cuDNN7.6.5 安装记录,系统环境是 Ubuntu18.04 所使用的显卡是 **GeForce RTX 2080**,因为不是30系的显卡,所以 Cuda 安装 10.2 就足够了 因为项目需要,要配置一下深度学习环境,一直没有整理和总结配置过程,就想记录一下, ......
Ubuntu cuDNN7 cuDNN Cuda 10.2

cuda系列详细教程

随着人工智能的发展与人才的内卷,很多企业已将深度学习算法的C++部署能力作为基本技能之一。面对诸多arm相关且资源有限的设备,往往想更好的提速,满足更高时效性,必将更多类似矩阵相关运算交给CUDA处理。同时,面对市场诸多教程与诸多博客岑子不起的教程或高昂教程费用,使读者(特别是小白)容易迷糊,无法快 ......
教程 cuda

CUDA简单介绍

### 并行计算 并行计算(parallel computing)是一种计算形式,它将大的问题分解为许多可以并行的小问题。 并行计算分为:任务并行(task parallel)和数据并行(data parallel) * 任务并行指多个任务同时执行 * 数据并行指多个数据可以同时处理,每个数据由独立 ......
CUDA

在分布式nvidia cuda-pytorch中同时使用MPI和NCCL会造成死锁——分布式pytorch的backend不能同时使用MPI和NCCL

参考原文: https://docs.nvidia.com/deeplearning/nccl/user-guide/docs/mpi.html#inter-gpu-communication-with-cuda-aware-mpi 说实话,我不太认为有人在使用分布式pytorch的时候会同时开两个 ......
分布式 同时 pytorch NCCL cuda-pytorch

cuda11.5 paddlepaddle-gpu安装出错

检查安装paddlepaddle-gpu 版本为cuda11.5没有对应的版本 报错信息 Running verify PaddlePaddle program ... I0802 16:31:52.487021 271111 interpretercore.cc:237] New Executor ......
paddlepaddle-gpu paddlepaddle cuda 11.5 gpu