CUDA库概述
库名 | 作用域 | 库名 | 作用域 |
---|---|---|---|
NVIDIA cuFFT | 快速傅里叶变换 | NVIDIA cuRAND | 随机数生成 |
cuBLAS | 线性代数 | NVIDIA NPP | 图像和信号处理 |
CULA Tools | 线性代数 | NVIDIA CUDA Math Library | 数学运算 |
MAGMA | 新一代线性代数 | Thrust | 并行算法和数据结构 |
IMSL Fortran Numerical Library | 数学与统计学 | HiPLAR | R语言中的线性代数 |
NVIDIA cuSPARSE | 稀疏线性代数 | Paralution | 稀疏迭代方法 |
NVIDIA CUSP | 稀疏线性代数和图形计算 | Geometry Performance Primitives | 计算几何 |
AccelerEyes ArrayFire | 数学、信号和属相处理,统计学 | AmgX | 核心求解 |
1 cuSPARSE库
cuSPARSE是一个线性代数库,内含很多通用的稀疏线性代数函数。这些函数支持一系列稠密和稀疏的数据格式。
2 cuBLAS库
cuBLAS是一个线性代数子程式。与cuSPARSE不同的是,cuBLAS是一个传统线性代数库的接口,即基本线性代数子程序库(BLAS)。
与BLAS类似,基于cuBLAS子程序操作的数据类型,对这些子程序进行了分类。第一类包含仅有向量参与的操作,如向量加法。第二类包含矩阵与向量之间的操作,如矩阵-向量乘法。第三类包含矩阵与矩阵之间的操作,如矩阵乘法。与cuSPARSE不同,cuBLAS不支持多种稀疏数据格式,它仅支持并善于优化稠密向量和稠密矩阵的操作。
3 cuFFT库
cuFFT库提供了一个优化的且基于CUDA实现的快速傅里叶变换(FFT)。
cuFFT还支持多种输入和输出数据类型,包括以下几种: ·复数到复数 ·实数到复数 ·复数到实数 对于许多实际的应用程序,最实用的是实数到复数这种类型,它允许你从实际系统输入实际的测量结果到cuFFT中。
4 cuRAND库
cuRAND库用在基于CUDA库的拟随机数和伪随机数的生成。
参考
1、 https://docs.nvidia.com/cuda/index.html
2、《CUDA C编程权威指南(高性能计算技术丛书)》