NVIDIA CUDA驱动基本简介
CUDA的开发考虑了几个设计目标:
提供对标准编程语言(例如C)的一小部分扩展,这些扩展可实现并行算法的直接实现。使用CUDA C / C ++,程序员可以专注于算法的并行化任务,而不必花时间在其实现上。
在应用程序同时使用CPU和GPU的情况下支持异构计算。应用程序的串行部分在CPU上运行,并行部分被卸载到GPU。这样,CUDA可以增量地应用于现有应用程序。CPU和GPU被视为具有各自内存空间的单独设备。此配置还允许在CPU和GPU上同时进行计算,而不会争用内存资源。
具有CUDA功能的GPU具有数百个内核,这些内核可以共同运行数千个计算线程。这些内核具有共享资源,包括寄存器文件和共享内存。片上共享内存允许在这些内核上运行的并行任务共享数据,而无需通过系统内存总线发送数据。
NVIDIA CUDA驱动软件组成
GPU加速库
CUDA-X库
IndeX框架(IndeX)
语言解决方案
OpenACC编译器指令
NVIDIA CUDA C / C ++编译器(NVCC)
参考资料
CUDA C / C ++代码示例
CUDA文档
开发工具
NVTAGS
DIGITS深度学习培训系统
Nsight集成开发环境
可视分析器
CUDA-GDB命令行调试器
CUDA-MEMCHECK内存分析仪