Models of fermions interacting with classical degrees of freedom are applied to a large variety of systems in condensed matter physics. For this class of models, Weiße [Phys. Rev. Lett. 102 , 150604 (2009)] has recently proposed a very efficient numerical method, called O( N ) Green-Function-Based Monte Carlo (GFMC) method, where a kernel polynomial expansion technique is used to avoid the full numerical diagonalization of the fermion Hamiltonian matrix of size N , which usually costs O( N 3 ) computational complexity. Motivated by this background, in this paper we apply the GFMC method to the double exchange model in three spatial dimensions. We mainly focus on the implementation of GFMC method using both MPI on a CPU-based cluster and Nvidia's Compute Unified Device Architecture (CUDA) programming techniques on a GPU-based (Graphics Processing Unit based) cluster. The time complexity of the algorithm and the parallel implementation details on the clusters are discussed. We also show the performance scaling for increasing Hamiltonian matrix size and increasing number of nodes, respectively. The performance evaluation indicates that for a 32 3 Hamiltonian a single GPU shows higher performance equivalent to more than 30 CPU cores parallelized using MPI.
Models of fermions interacting with classical degrees of freedom are applied to a large variety of systems in condensed matter physics. For this class of models, Weiße [Phys. Rev. Lett. 102 , 150604 (2009)] has recently proposed a very efficient numerical method, called O( N ) Green-Function-Based Monte Carlo (GFMC) method, where a kernel polynomial expansion technique is used to avoid the full numerical diagonalization of the fermion Hamiltonian matrix of size N , which usually costs O( N 3 ) computational complexity. Motivated by this background, in this paper we apply the GFMC method to the double exchange model in three spatial dimensions. We mainly focus on the implementation of GFMC method using both MPI on a CPU-based cluster and Nvidia's Compute Unified Device Architecture (CUDA) programming techniques on a GPU-based (Graphics Processing Unit based) cluster. The time complexity of the algorithm and the parallel implementation details on the clusters are discussed. We also show the performance scaling for increasing Hamiltonian matrix size and increasing number of nodes, respectively. The performance evaluation indicates that for a 32 3 Hamiltonian a single GPU shows higher performance equivalent to more than 30 CPU cores parallelized using MPI.
A new Monte Carlo method is proposed for fermion systems interacting with classical degrees of freedom. To obtain a weight for each Monte Carlo sample with a fixed configuration of classical variables, the moment expansion of the density of states by Chebyshev polynomials is applied instead of the direct diagonalization of the fermion Hamiltonian. This reduces a cpu time to scale as O(Ndim2logNdim) compared to O(Ndim3) for the diagonalization in the conventional technique; Ndim is the dimension of the Hamiltonian. Another advantage of this method is that parallel computation with high efficiency is possible. These significantly save total cpu times of Monte Carlo calculations because the calculation of a Monte Carlo weight is the bottleneck part. The method is applied to the double-exchange model as an example. The benchmark results show that it is possible to make a systematic investigation using a system-size scaling even in three dimensions within a realistic cpu timescale.
We fully develop the Monte Carlo many-body Green’s function (MC-GF) method with the following enhancements: (1) The truncation order of the perturbation expansion of the Dyson self-energy is raised from the second order (MC-GF2) to the third order (MC-GF3) with the aid of a computerized procedure to enumerate and transform all 84 third-order Goldstone diagrams into Monte Carlo integrable expressions and then into central processing unit (CPU)/graphical processing unit (GPU)-parallel computer codes. (2) An efficient algorithm is proposed that computes all off-diagonal and diagonal elements of the MC-GF2 and MC-GF3 self-energy matrices by common subexpression elimination. (3) The frequency-independent approximation is lifted by introducing a method that computes frequency derivatives of the MC-GF2 and MC-GF3 self-energies up to any arbitrarily high order at nearly no additional computational cost. (4) The imaginary-time integration in the Laplace-transformed expressions of the self-energy is carried out stochastically (instead of using a quadrature in the previous implementations), resulting in a 50- to 200-fold speedup. (5) The efficiency of the redundant-walker convergence acceleration scheme is analyzed numerically, and the guidelines are established to select an optimal number of walkers for maximal efficiency. When such an optimal number is used, the cost per sample is constant of molecular size on either many CPUs or many GPUs. (6) The computational cost to obtain a binding energy within a given statistical uncertainty is observed to increase as (tentatively) O( n 4 ) and O( n 5 ) of molecular size ( n is the number of electrons) with and without the diagonal approximation, respectively, as opposed to O( n 5 ) and O( n 6 ) of the corresponding deterministic algorithms. With this method applied to the electron binding energies of C 60, we show that the third-order corrections to the self-energies are much greater in electron binding energies than in ground-state energies. They display a sign of oscillatory convergence toward experimental results, not necessarily improving the agreement with increasing perturbation order, justifying MC-GF3 and motivating even higher-order methods.
We suggest and implement a new Monte Carlo strategy for correlated models involving fermions strongly coupled to classical degrees of freedom, with accurate handling of quenched disorder as well. Current methods iteratively diagonalise the full Hamiltonian for a system of N sites with computation time tau_N proportional to N^4. This limits achievable sizes to N \sim 100. In our method the energy cost of a Monte Carlo update is computed from the Hamiltonian of a cluster, of size N_c, constructed around the reference site, and embedded in the larger system. As MC steps sweep over the system, the cluster Hamiltonian also moves, being reconstructed at each site where an update is attempted. In this method tau_{N,N_c} is proportional to NN_c^3. Our results are obviously exact when N_c=N, and converge quickly to this asymptote with increasing N_c. The accuracy improves in systems where the effective disorder seen by the fermions is large. We provide results of preliminary calculations on the Holstein model and the Double Exchange model. The `locality' of the energy cost, as evidenced by our results, suggests that several important but inaccessible problems can now be handled with control.
In the Monte Carlo second-order many-body perturbation (MC-MP2) method, the long sum-of-product matrix expression of the MP2 energy, whose literal evaluation may be poorly scalable, is recast into a single high-dimensional integral of functions of electron pair coordinates, which is evaluated by the scalable method of Monte Carlo integration. The sampling efficiency is further accelerated by the redundant-walker algorithm, which allows a maximal reuse of electron pairs. Here, a multitude of graphical processing units (GPUs) offers a uniquely ideal platform to expose multilevel parallelism: fine-grain data-parallelism for the redundant-walker algorithm in which millions of threads compute and share orbital amplitudes on each GPU; coarse-grain instruction-parallelism for near-independent Monte Carlo integrations on many GPUs with few and infrequent interprocessor communications. While the efficiency boost by the redundant-walker algorithm on central processing units (CPUs) grows linearly with the number of electron pairs and tends to saturate when the latter exceeds the number of orbitals, on a GPU it grows quadratically before it increases linearly and then eventually saturates at a much larger number of pairs. This is because the orbital constructions are nearly perfectly parallelized on a GPU and thus completed in a near-constant time regardless of the number of pairs. In consequence, an MC-MP2/cc-pVDZ calculation of a benzene dimer is 2700 times faster on 256 GPUs (using 2048 electron pairs) than on two CPUs, each with 8 cores (which can use only up to 256 pairs effectively). We also numerically determine that the cost to achieve a given relative statistical uncertainty in an MC-MP2 energy increases as O ( n 3 ) or better with system size n, which may be compared with the O ( n 5 ) scaling of the conventional implementation of deterministic MP2. We thus establish the scalability of MC-MP2 with both system and computer sizes.
Density matrix renormalization group (DMRG), as a numerical method of solving the ground state of one-dimensional strongly-correlated lattice model with very high accuracy, requires expensive computational and memory cost when applied to two- and quasi-two-dimensional problems. The number of DMRG kept states is generally very large to achieve a reliable accuracy for these applications, which results in numerous matrix and vector operations and unbearably consuming time in the absence of the proper parallelization. However, due to its sequential nature, the parallelization of DMRG algorithm is usually not straightforward. In this work, we propose a new hybrid parallelization strategy for the DMRG method. It takes advantage of the computing capability of both central processing unit (CPU) and graphics processing unit (GPU) of the computer. In order to achieve as many as DMRG kept states within a limited GPU memory, we adopt the four-block formulation of the Hamiltonian rather than the two-block formulation. The later consumes much more memories, which has been used in another pioneer work on the hybrid parallelization of the DMRG algorithm, and only a small number of DMRG kept states are available. Our parallel strategy focuses on the diagonalization of the Hamiltonian, which is the most time-consuming part of the whole DMRG procedure. A hybrid parallelization strategy of diagonalization method is implemented, in which the required data for diagonalization are distributed on both the host and GPU memory, and the data exchange between them is negligible in our data partitioning scheme. The matrix operations are also shared on both CPU and GPU when the Hamiltonian acts on a wave function, while the distribution of these operations is determined by a load balancing strategy. Taking fermionic Hubbard model for example, we examine the running performance of the hybrid parallelization strategy with different DMRG kept states and provide corresponding performance benchmark. On a 4-leg ladder, we employ the conserved quantities with U(1) symmetry of the model and a good-quantum number based task scheduling to further reduce the GPU memory cost. We manage to obtain a moderate speedup of the hybrid parallelization for a wide range of DMRG kept states. In our example, the ground state energy with high accuracy is obtained by the extrapolation of the results, with different numbers of states kept, and we show charge stripes which are usually experimentally observed in high-temperature superconductors. In this case, we keep 104 DMRG states and the GPU memory cost is less than 12 Gigabytes.
A new algorithm for Monte Carlo calculation of the double exchange model is studied. The algorithm is commonly applicable to wide classes of strongly correlated electron systems which involve itinerant electrons coupled with thermodynamically fluctuating fields. Using moment expansions of the density of states with Chebyshev polynomials, the algorithm provides an efficient calculation on large size clusters, especially on parallel computers. Benchmark calculations are performed on Beowulf-type cluster systems with over 100 CPUs in parallel. PACS code: 02.70.Lq 71.10.Fd 75.10.-b 75.70.Pa