Final Report for the First SAP Project Finds Considerable Performance Improvement
By Herbert Morgan, NCSA
The final report for the first Strategic Applications Program (SAP) project, "High Performance Algorithms for Scalable Spin-Qubit Circuits with Quantum Dots," has been submitted to the program manager. The 12-page report evaluates the original and the modified code performance on three NCSA computer clusters: Tungsten, Copper, and Mercury. The project collaborators concluded that "the speed-up of the code is considerable: about 10 times for the eigenvalue solver and 2 times for the Poisson equation solver."
John Fettig, a graduate research assistant at NCSA, and Dmitriy Melnikov, a postdoctoral research associate in the Department of Electrical and Computer Engineering, who collaborated on the final report, performed comparison calculations on various NCSA clusters in order to gauge the performance improvements of the modified code over the original code. They determined that the performance of the hermitian conjugate gradient solver is greatly improved due to two factors: "more sophisticated implementation of the conjugate gradient method in PETSc (Portable, Extensible Toolkit for Scientific Computation)" and "utilization of the preconditioner in PETSc solver."
On Tungsten using an eigenvalue solver, the original code ran in 12 seconds, while the improved code ran in 1.10 seconds. On the same machine using a Poisson solver, the original code ran in 90 seconds, while the improved code ran in 53.4 seconds. The total CPU run time was 8,430 seconds for the original code and 3,930 seconds for the improved code.
"In all situations there will be huge improvements," says Melnikov, "and, depending on the problem, that improvement will be 10 times, like it is here, or more. Improvement, though, will be at least 10 times, and, from what I saw, it will be even better."
The total consumed CPU time (sum of eigenvalue and Poisson solvers) on Tungsten was approximately 4,000 seconds, which remained virtually constant from one processor through 16 processors. This consistency is probably due to the increase in CPU time for the eigenvalue solver combined with the decrease for the Poisson solver.
The totals obtained on Copper and Mercury show linear scaling until the solvers run on four processors. At that point, they saturate suggesting, according to Fettig and Melnikov, that interprocessor communication and IO operations become dominant. Curiously on Copper and Mercury, one-processor times asymptotically approach the same limit of about 4,000 seconds—the same as Tungsten's.
From these comparisons, the evaluators concluded that "the version of the code utilizing PETSc gives a marked improvement over the original code, in particular for the complex eigenvalue solver" and "all three NCSA clusters react differently on PETSc solvers used in the code."
The project reviewers further determined that Tungsten displayed some erratic performance results; Copper and Mercury behaved as expected; and Copper appeared to have a slight edge over Mercury, in terms of stability. Furthermore, four is the optimal number of processors for the considered problem. If more are used, interprocessor communication time becomes an issue, resulting in no tangible gain in performance.
The report notes in its "Conclusions and Recommendations" section that the code could be further sped up and identifies a problem with visualization of produced data, but recommends the following solution: "This is where continuing collaboration with NCSA could be the greatest asset."
This SAP project, led by Principal Investigator Jean-Pierre Leburton, sought to understand how to build new kinds of high-performance devices based on the manipulation of the electron spin that defines a quantum bit, or qubit, in quantum dots for quantum information processing. It was considered ideal for SAP because it involved a small research group that had large computational needs.
Each project that is accepted into SAP must conclude with the submission of a final report that contains details about the project's achievements.
NCSA's Strategic Applications Program (SAP) involves the collaboration of NCSA staff with application scientists to find solutions to various challenges facing researchers who utilize NCSA resources, with the end goal of disseminating the results of SAP projects to the broader NCSA user community in the form of new methodologies, software, and algorithms provided as online information.