Using GPU-accelerated libraries with NumbaPro
NumbaPro provides a Python wrap for CUDA libraries for numerical computing. Each code using these libraries will get a significant speedup without writing any GPU-specific code. The libraries are explained as follows:
cuBLAS: This is a library developed by NVIDIA that provides the main functions of linear algebra to run on a GPU. Like the Basic Linear Algebra Subprograms (BLAS) library that implements the functions of linear algebra on the CPU, the cuBLAS library classifies its functions into three levels:
Level 1: Vector operations
Level 2: Transactions between a matrix and vector
Level 3: Operations between matrices
The division of these functions in the three levels is based on the number of nested loops that are needed to perform the selected operation. More precisely, the operations of the level are essential cycles that are geared to complete the execution of the selected function.
cuFFT: This provides a simple interface to calculate the...