The main contribution of this paper is to present a very efficient GPU implementation of bulk computation of eigenvalues for a large number of small non-symmetric real matrices. This work is motivated by the necessity of such bulk computation in design of control systems, which requires to compute the eigenvalues of hundreds of thousands non-symmetric real matrices of size up to 30x30. In our GPU implementation, we considered programming issues of the GPU architecture including warp divergence, coalesced access of the global memory, bank conflict of the shared memory, etc. In particular, we present three types of assignments of GPU threads to matrices and introduce three memory arrangements in the global memory. The experimental results on NVIDIA GeForce GTX TITAN X show that our GPU implementation for 500000 matrices of size 5x5 to 30x30 attains a speed-up factor of approximately 15 over the CPU implementation on Intel Core i7-4790.
['Hiroki Tokura', 'Takumi Honda', 'Yasuaki Ito', 'Koji Nakano', 'Mitsuya Nishino', 'Yushiro Hirota', 'Masami Saeki']
GPU-Accelerated Bulk Computation of the Eigenvalue Problem for Many Small Real Non-symmetric Matrices