Abstract:
Within the scope of this work, a software library was implemented in the C/C++ and CUDA C programming languages. The main difference between the approach to organising a library for matrix algebra on a graphics processor suggested in this work and the approach described in article [1] is the use of a class system controlled by matrixManagerDevice. The work also presents mechanisms for generalised programming of matrix operations, i.e. mechanisms that implement close interaction between matrix objects located both in the main memory under the control of the central processing unit (CPU) and in the memory of the graphics processing unit (GPU). The results of testing the presented software show that the changes made to the library improve the overall performance and stability of calculations. Overall, this paper is of practical significance for many areas related to the use of computational linear algebra, such as machine learning, in particular deep neural network training, molecular dynamics, big data processing, etc.