这个项目能做什么

NVIDIA CUDA示例库是展示CUDA工具包功能与能力的官方示例程序仓库。这些示例作为NVIDIA GPU开发者的教育和参考资料,覆盖从基础CUDA概念到高级GPU编程技术的广泛主题。 该仓库分为两个主要部分:C++示例和Python示例。C++示例分为十个类别:入门(基础CUDA概念和运行时API)、工具(设备能力查询和带宽测量)、概念与技术(常见问题解决方法)、CUDA特性(协作组、动态并行、CUDA图)、CUDA库(NPP、NVJPEG、cuBLAS、cuFFT、cuSPARSE、cuSOLVER、cuRAND)、领域特定(图形、金融、图像处理)、性能(优化技术)、libNVVM(NVVM IR使用)、平台特定(Tegra、cuDLA、NvMedia、NvSci、OpenGL ES)以及CUDA Tile(CUDA Tile C++)。 Python示例使用CUDA Python,通过cuda.core进行设备、程序、启动和内存管理,同时支持NumPy、CuPy或框架互操作。它们分为入门、核心概念、框架互操作(PyTorch和TensorFlow)、分布式计算和工具等类别。 构建系统使用CMake,支持Linux、Windows、Tegra交叉编译、QNX和QNX Safety平台。示例可为所有支持的GPU架构构建,或针对特定架构。仓库包含一个测试运行脚本(run_tests.py),可执行所有示例作为健全性检查,支持可配置参数、并行执行以及跳过需要图形显示的示例。 部分示例有第三方依赖,包括FreeImage、MPI、DirectX和DirectX 12。安装系统根据目标架构、操作系统和构建类型将构建的示例组织成结构化目录布局。这些示例并非CUDA的验证套件,而是作为GPU编程模式和技术的实际演示。