19,433 research outputs found

    SCDM-k: Localized orbitals for solids via selected columns of the density matrix

    Full text link
    The recently developed selected columns of the density matrix (SCDM) method [J. Chem. Theory Comput. 11, 1463, 2015] is a simple, robust, efficient and highly parallelizable method for constructing localized orbitals from a set of delocalized Kohn-Sham orbitals for insulators and semiconductors with Γ\Gamma point sampling of the Brillouin zone. In this work we generalize the SCDM method to Kohn-Sham density functional theory calculations with k-point sampling of the Brillouin zone, which is needed for more general electronic structure calculations for solids. We demonstrate that our new method, called SCDM-k, is by construction gauge independent and is a natural way to describe localized orbitals. SCDM-k computes localized orbitals without the use of an optimization procedure, and thus does not suffer from the possibility of being trapped in a local minimum. Furthermore, the computational complexity of using SCDM-k to construct orthogonal and localized orbitals scales as O(N log N ) where N is the total number of k-points in the Brillouin zone. SCDM-k is therefore efficient even when a large number of k-points are used for Brillouin zone sampling. We demonstrate the numerical performance of SCDM-k using systems with model potentials in two and three dimensions.Comment: 25 pages, 7 figures; added more background sections, clarified presentation of the algorithm, revised the presentation of previous work, added a more high level overview of the new algorithm, and mildly clarified the presentation of the results (there were no changes to the numerical results themselves

    Cache-aware Performance Modeling and Prediction for Dense Linear Algebra

    Full text link
    Countless applications cast their computational core in terms of dense linear algebra operations. These operations can usually be implemented by combining the routines offered by standard linear algebra libraries such as BLAS and LAPACK, and typically each operation can be obtained in many alternative ways. Interestingly, identifying the fastest implementation -- without executing it -- is a challenging task even for experts. An equally challenging task is that of tuning each routine to performance-optimal configurations. Indeed, the problem is so difficult that even the default values provided by the libraries are often considerably suboptimal; as a solution, normally one has to resort to executing and timing the routines, driven by some form of parameter search. In this paper, we discuss a methodology to solve both problems: identifying the best performing algorithm within a family of alternatives, and tuning algorithmic parameters for maximum performance; in both cases, we do not execute the algorithms themselves. Instead, our methodology relies on timing and modeling the computational kernels underlying the algorithms, and on a technique for tracking the contents of the CPU cache. In general, our performance predictions allow us to tune dense linear algebra algorithms within few percents from the best attainable results, thus allowing computational scientists and code developers alike to efficiently optimize their linear algebra routines and codes.Comment: Submitted to PMBS1

    Towards Distributed Two-Stage Stochastic Optimization

    Get PDF
    The weighted vertex cover problem is concerned with selecting a subset of the vertices that covers a target set of edges with the objective of minimizing the total cost of the selected vertices. We consider a variant of this classic combinatorial optimization problem where the target edge set is not fully known; rather, it is characterized by a probability distribution. Adhering to the model of two-stage stochastic optimization, the execution is divided into two stages so that in the first stage, the decision maker selects some of the vertices based on the probabilistic forecast of the target edge set. Then, in the second stage, the edges in the target set are revealed and in order to cover them, the decision maker can augment the vertex subset selected in the first stage with additional vertices. However, in the second stage, the vertex cost increases by some inflation factor, so the second stage selection becomes more expensive. The current paper studies the two-stage stochastic vertex cover problem in the realm of distributed graph algorithms, where the decision making process (in both stages) is distributed among the vertices of the graph. By combining the stochastic optimization toolbox with recent advances in distributed algorithms for weighted vertex cover, we develop an algorithm that runs in time O(log (?) / ?), sends O(m) messages in total, and guarantees to approximate the optimal solution within a (3 + ?)-ratio, where m is the number of edges in the graph, ? is its maximum degree, and 0 < ? < 1 is a performance parameter
    • …
    corecore