Computational Methods

GPUs: In recent years, massively parallel computing has become a valuable tool, mainly due to the rapid development of the graphics processing unit (GPU), a highly parallel, multithreaded, many core processor. We have recently shown how simulations of lattice models (useful for studying critical phenomena and allow the extraction of equilibrium and dynamical properties) can be accelerated with the use of NVIDIA Graphics Processing Units (GPUs) using the CUDA programming architecture. We have developed two different algorithms for lattice spin models, the first useful for equilibrium properties near a second order phase transition point and the second for dynamical slowing down near a glass transition. The algorithms are based on parallel MC techniques and speedups from 70 to 150 fold over conventional single-threaded computer codes are obtained using consumer-grade hardware.

Electronic Methods: One major problem in performing large scale electronic structure calculations is related to the computational complexity involved in the solution of the Schrödinger equation for thousands of electrons. We have developed an Out-of-Core Filter-Diagonalization method which can be used to solve very large electronic structure problems within the framework of the one-electron pseudopotential-based methods. The approach is based on the following three steps: First, nonorthogonal states in a desired energy range are generated using the filter-diagonalization method. Next, these states are orthogonalized using the Householder QR orthogonalization method. Finally, the Hamiltonian is diagonalized within the subspace spanned by the orthogonal states generated in the second step. The main limiting step in the calculation is the orthogonalization step, which requires a huge main memory for large systems. To overcome this obstacle we have developed and implemented an out-of-core orthogonalization method which allows us to store the states on disks without significantly slowing down the computation. We applied the out-of-core filter-diagonalization method to solve the electronic structure of a quantum dot within the framework of the semiempirical pseudopotential method, and showed that problems which require tens of gigabytes to represents the electronic states and electronic density can be solved on a cheap personal computer.