通过CUDA10.0 Sample 目录学习CUDA

简介

一般安装好CUDA后会有一个存放示例的文件夹,里面会有一些CUDA的示例可供我们学习。
文件夹目录(默认):C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.0
通过CUDA10.0 Sample 目录学习CUDA_第1张图片

目录内容

  1. Simple
    基础CUDA示例,适用于初学者, 反映了运用CUDA和CUDA runtime APIs的一些基本概念.
  2. Utilities
    演示如何查询设备算例和计算GPU/CPU 带宽的实例程序。
  3. Graphics
    图形化示例展现的是 CUDA, OpenGL, DirectX 之间的互通性
  4. Imaging
    图像处理,压缩,和数据分析
  5. Finance
    金融计算的并行处理
  6. Simulations
    展现一些运用CUDA的仿真算法
  7. Advanced
    用CUDA实现的一些高级算法
  8. Cudalibraries
    这类示例主要告诉我们该如何使用CUDA各种函数库(NPP, CUBLAS, CUFFT,CUSPARSE, and CURAND).

0_Simple

cdpSimplePrint - 简单输出(CUDA动态并行)

利用CUDA的动态并行特性实现一个简单的输出
通过CUDA10.0 Sample 目录学习CUDA_第2张图片

cdpSimpleQuicksort - 简单快速排序

实现快速排序,其中源码是无法显示待排序数组的,因为其中一个变量verbose为false,将其改为true就可以显示了,或者在命令行中输入参数 v就可以了
在这里插入图片描述

通过CUDA10.0 Sample 目录学习CUDA_第3张图片

clock_nvrtc - 时钟库 libNVRTC

利用时钟库来计算块运行时间
通过CUDA10.0 Sample 目录学习CUDA_第4张图片

cppIntegration - C++ 集成

这个例子演示了如何将 CUDA 集成到现有的 C++ 应用程序中,即主机端的 CUDA 入口点只是一个从 C++ 代码中调用的函数,并且只有包含该函数的文件是用 nvcc 编译的。 它还演示了可以从 cpp 使用向量类型。
通过CUDA10.0 Sample 目录学习CUDA_第5张图片

cppOverload

c++函数重载示例

cudaOpenMP

利用OpenMP实现多GPU运行

cudaTensorCoreGemm - CUDA Tensor Core GEMM

这个好像是加速矩阵运算的例子

fp16ScalarProduct - FP16 Scalar Product

计算两个16位浮点型向量的标量积

inlinePTX - Using Inline PTX

测试内置PTX,不知道PTX是个啥

matrixMul - Matrix Multiplication (CUDA Runtime API Version)

利用共享内存实现的矩阵乘法,由于矩阵乘法中矩阵每个元素要被使用多次,因此需要使用共享内存提高访问速度。

matrixMulCUBLAS - Matrix Multiplication (CUBLAS)

矩阵乘法的高性能版

matrixMulDrv - Matrix Multiplication (CUDA Driver API Version)

矩阵乘法的CUDA 4.0内核版

simpleAssert

警告

simpleAtomicIntrinsics - Simple Atomic Intrinsics

全局内存的原子操作

simpleCallback - Simple CUDA Callbacks

使用cpu的流处理和回调函数使GPU实现多线程工作

simpleCooperativeGroups - Simple Cooperative Groups

线程块中协作组的用法

simpleCubemapTexture - Simple Cubemap Texture

cubemap 纹理

simpleLayeredTexture - Simple Layered Texture

分层纹理

simpleMPI

MPI示例

simpleMultiCopy - Simple Multi Copy and Compute

设备间数据复制

simpleMultiGPU - Simple Multi-GPU

上下文管理和多线程使用

simpleP2P - Simple Peer-to-Peer Transfers with Multi-GPU

对等寻址,多GPU统一虚拟内存

simplePitchLinearTexture - Pitch Linear Texture

倾斜线性纹理

simplePrintf

在核函数使用printf函数输出thread id

simpleSeparateCompilation - Simple Static GPU Device Library

静态GPU设备库

simpleStreams

使用CUDA流将内核执行与主机和GPU之间的内存副本重叠

simpleSurfaceWrite - Simple Surface Write

写入2D表面纹理

simpleTemplates - Simple Templates

空白模板,可以复制到自己的项目文件下进行修改

simpleTexture - Simple Texture

纹理内存

simpleVoteIntrinsics - Simple Vote Intrinsics

内置投票函数

simpleZeroCopy

内核读取和写入系统内存

UnifiedMemoryStreams - Unified Memory Streams

在单个GPU上使用OpenMP和具有统一内存的流

vectorAdd - Vector Addition

向量加法

未完待续。。。

你可能感兴趣的:(CUDA入门,c++,cuda)