CPU-GPU Coupling Optimizations in the Context of a GPU Machine Cluster for CuBLAS
摘要
CPU plays a main role in traditional parallel computing structures, handles thread tasks and dependencies. Each activity had to be scheduled (started) individually by the CPU, and the associated overhead could accumulate and become a performance bottleneck. In old structure there’s no possibility to avoid timing and stock waste due to data communication between CPU and GPUs. Aiming to reduce this cost, this research applies a newly announced structure to large scale AI model BLAS calculation innovatively. The structure used is CUDA graph and cuBLAS API, innovated by NVIDIA. During the research, a verification of productiveness of new structure is targeted by a series of experiences. Also, pioneering thread structure design for matrix computation in AI modeling is produced. The study concludes with an analysis of the advantages and disadvantages of the architecture, as well as the performance improvement produced by CUDA graph and cuBLAS function has been shown in different application scenarios. Since BLAS API is an essential API, new architecture introduced can be flexibly integrated into various AI models to improve the performance of the entire system.