Patent ID: 9547882
Date: 2017-01-17
CPC Classifications: G06F,G06T

Claim:
1. A computerized method for computing eigenvectors and eigenvalues in a high performance computing (HPC) system having a plurality of nodes, each node including one or more processing cores for executing program threads, the nodes having non-uniform memory access, the method comprising: in a first computer process, reducing a square input matrix into a band matrix, the square input matrix having a number of rows that is greater than 46,340; in a second computer process, reducing the band matrix to a tridiagonal matrix; in a third computer process, computing eigenvectors and eigenvalues of the tridiagonal matrix using multiple relatively robust representations (MRRR); in a fourth computer process, transforming the computed eigenvectors of the tridiagonal matrix into eigenvectors of the band matrix using data obtained during the second computer process; in a fifth computer process, transforming the eigenvectors of the band matrix into eigenvectors of the input matrix using data obtained during the first computer process, wherein the first, second, and third computer processes are each dynamically scheduled for execution by a number of program threads that is separately and respectively identified, for each such process, as a function of the relative runtimes of the processes; identifying a computer process of a set of computer processes that has a larger run time relative to at least one other computer process in the set of computer processes, the set of computer processes comprising the first, second, third, fourth, and fifth computer process; and changing a block size parameter in the identified computer process, wherein the changed block size parameter reduces the run time of the identified computer process in a subsequent computation of eigenvectors and eigenvalues by the set of computer processes.