Cuda 相关库的介绍

来源:互联网 发布:中国战争潜力知乎 编辑:程序博客网 时间:2024/04/29 05:46
 

Cuda 相关库的介绍

分类: 并行计算 835人阅读 评论(0) 收藏 举报

Cuda在努力构造一个类似CPP的完整的编程环境,所以他提供了一系列的库。

http://docs.nvidia.com/cuda/index.html


1) math API

类比C的math库有三角函数、对数、指数等基本的函数。


2) thrust

STL类似的Cuda实现,可以实现快速的排序,变换等操作。

http://docs.nvidia.com/cuda/thrust/index.html


3) 科学计算和图像视频处理相关的库,满足科学计算加速的基本需求。

如BLAS FFT SPARSE等。


4) 面向CUDA编程的device API 和 runtime API

这两个是不同层次的编程环境,彼此互斥,device的更底层。各有所长看需求。

It is composed of two APIs:

  • A low-level API called the CUDA driver API,
  • A higher-level API called the CUDA runtime API that is implemented on top of the CUDA driver API.

These APIs are mutually exclusive: An application should use either one or the other.

The CUDA runtime eases device code management by providing implicit initialization, context management, and module management. The C host code generated by nvcc is based on the CUDA runtime (see Section 4.2.5), so applications that link to this code must use the CUDA runtime API.

In contrast, the CUDA driver API requires more code, is harder to program and debug, but offers a better level of control and is language-independent since it only deals with cubin objects (see Section 4.2.5). In particular, it is more difficult to configure and launch kernels using the CUDA driver API, since the execution configuration and kernel parameters must be specified with explicit function calls instead of the execution configuration syntax described in Section 4.2.3. Also, device emulation (see Section 4.5.2.9) does not work with the CUDA driver API.


0 0