Skip to Main Content
The increasing power of computation of modern processors rely on the increasing number of cores per chip. The challenge of software developers is to keep this power with the legacy code. Although commercial and non commercial libraries are improving their codes step by step, there exits probably insurmountable scalability issues for standard programming models due to the fact that using locks to implement synchronisation is inherently a bottleneck. We propose an implementation of the divide and conquer algorithm to compute the eigenpairs of symmetric tridiagonal matrices on multicore systems. We take advantage of the natural parallelism of the method by using pthreads. We avoided as much as possible the negative impact of synchronisation in the performance by overlapping operations of different classes. Furthermore, the unevenly workload distribution of the computational cost of the elemental tasks yields in a speedup even larger than expected.
Date of Conference: 1-5 July 2008