Numerical and Parallel Libraries
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Fortran Resources 1
Fortran Resources 1 Ian D Chivers Jane Sleightholme May 7, 2021 1The original basis for this document was Mike Metcalf’s Fortran Information File. The next input came from people on comp-fortran-90. Details of how to subscribe or browse this list can be found in this document. If you have any corrections, additions, suggestions etc to make please contact us and we will endeavor to include your comments in later versions. Thanks to all the people who have contributed. Revision history The most recent version can be found at https://www.fortranplus.co.uk/fortran-information/ and the files section of the comp-fortran-90 list. https://www.jiscmail.ac.uk/cgi-bin/webadmin?A0=comp-fortran-90 • May 2021. Major update to the Intel entry. Also changes to the editors and IDE section, the graphics section, and the parallel programming section. • October 2020. Added an entry for Nvidia to the compiler section. Nvidia has integrated the PGI compiler suite into their NVIDIA HPC SDK product. Nvidia are also contributing to the LLVM Flang project. Updated the ’Additional Compiler Information’ entry in the compiler section. The Polyhedron benchmarks discuss automatic parallelisation. The fortranplus entry covers the diagnostic capability of the Cray, gfortran, Intel, Nag, Oracle and Nvidia compilers. Updated one entry and removed three others from the software tools section. Added ’Fortran Discourse’ to the e-lists section. We have also made changes to the Latex style sheet. • September 2020. Added a computer arithmetic and IEEE formats section. • June 2020. Updated the compiler entry with details of standard conformance. -
Life As a Developer of Numerical Software
A Brief History of Numerical Libraries Sven Hammarling NAG Ltd, Oxford & University of Manchester First – Something about Jack Jack’s thesis (August 1980) 30 years ago! TOMS Algorithm 589 Small Selection of Jack’s Projects • Netlib and other software repositories • NA Digest and na-net • PVM and MPI • TOP 500 and computer benchmarking • NetSolve and other distributed computing projects • Numerical linear algebra Onto the Rest of the Talk! Rough Outline • History and influences • Fortran • Floating Point Arithmetic • Libraries and packages • Proceedings and Books • Summary Ada Lovelace (Countess Lovelace) Born Augusta Ada Byron 1815 – 1852 The language Ada was named after her “Is thy face like thy mother’s, my fair child! Ada! sole daughter of my house and of my heart? When last I saw thy young blue eyes they smiled, And then we parted,-not as now we part, but with a hope” Childe Harold’s Pilgramage, Lord Byron Program for the Bernoulli Numbers Manchester Baby, 21 June 1948 (Replica) 19 Kilburn/Tootill Program to compute the highest proper factor 218 218 took 52 minutes 1.5 million instructions 3.5 million store accesses First published numerical library, 1951 First use of the word subroutine? Quality Numerical Software • Should be: – Numerically stable, with measures of quality of solution – Reliable and robust – Accompanied by test software – Useful and user friendly with example programs – Fully documented – Portable – Efficient “I have little doubt that about 80 per cent. of all the results printed from the computer are in error to a much greater extent than the user would believe, ...'' Leslie Fox, IMA Bulletin, 1971 “Giving business people spreadsheets is like giving children circular saws. -
Numerical and Parallel Libraries
Numerical and Parallel Libraries Uwe Küster University of Stuttgart High-Performance Computing-Center Stuttgart (HLRS) www.hlrs.de Uwe Küster Slide 1 Höchstleistungsrechenzentrum Stuttgart Numerical Libraries Public Domain commercial vendor specific Uwe Küster Slide 2 Höchstleistungsrechenzentrum Stuttgart 33. — Numerical and Parallel Libraries — 33. 33-1 Overview • numerical libraries for linear systems – dense – sparse •FFT • support for parallelization Uwe Küster Slide 3 Höchstleistungsrechenzentrum Stuttgart Public Domain Lapack-3 linear equations, eigenproblems BLAS fast linear kernels Linpack linear equations Eispack eigenproblems Slatec old library, large functionality Quadpack numerical quadrature Itpack sparse problems pim linear systems PETSc linear systems Netlib Server best server http://www.netlib.org/utk/papers/iterative-survey/packages.html Uwe Küster Slide 4 Höchstleistungsrechenzentrum Stuttgart 33. — Numerical and Parallel Libraries — 33. 33-2 netlib server for all public domain numerical programs and libraries http://www.netlib.org Uwe Küster Slide 5 Höchstleistungsrechenzentrum Stuttgart Contents of netlib access aicm alliant amos ampl anl-reports apollo atlas benchmark bib bibnet bihar blacs blas blast bmp c c++ cephes chammp cheney-kincaid clapack commercial confdb conformal contin control crc cumulvs ddsv dierckx diffpack domino eispack elefunt env f2c fdlibm fftpack fishpack fitpack floppy fmm fn fortran fortran-m fp gcv gmat gnu go graphics harwell hence hompack hpf hypercube ieeecss ijsa image intercom itpack -
Over-Scalapack.Pdf
1 2 The Situation: Parallel scienti c applications are typically Overview of ScaLAPACK written from scratch, or manually adapted from sequen- tial programs Jack Dongarra using simple SPMD mo del in Fortran or C Computer Science Department UniversityofTennessee with explicit message passing primitives and Mathematical Sciences Section Which means Oak Ridge National Lab oratory similar comp onents are co ded over and over again, co des are dicult to develop and maintain http://w ww .ne tl ib. org /ut k/p e opl e/J ackDo ngarra.html debugging particularly unpleasant... dicult to reuse comp onents not really designed for long-term software solution 3 4 What should math software lo ok like? The NetSolve Client Many more p ossibilities than shared memory Virtual Software Library Multiplicityofinterfaces ! Ease of use Possible approaches { Minimum change to status quo Programming interfaces Message passing and ob ject oriented { Reusable templates { requires sophisticated user Cinterface FORTRAN interface { Problem solving environments Integrated systems a la Matlab, Mathematica use with heterogeneous platform Interactiveinterfaces { Computational server, like netlib/xnetlib f2c Non-graphic interfaces Some users want high p erf., access to details {MATLAB interface Others sacri ce sp eed to hide details { UNIX-Shell interface Not enough p enetration of libraries into hardest appli- Graphic interfaces cations on vector machines { TK/TCL interface Need to lo ok at applications and rethink mathematical software { HotJava Browser -
Prospectus for the Next LAPACK and Scalapack Libraries
Prospectus for the Next LAPACK and ScaLAPACK Libraries James Demmel1, Jack Dongarra23, Beresford Parlett1, William Kahan1, Ming Gu1, David Bindel1, Yozo Hida1, Xiaoye Li1, Osni Marques1, E. Jason Riedy1, Christof Voemel1, Julien Langou2, Piotr Luszczek2, Jakub Kurzak2, Alfredo Buttari2, Julie Langou2, Stanimire Tomov2 1 University of California, Berkeley CA 94720, USA, 2 University of Tennessee, Knoxville TN 37996, USA, 3 Oak Ridge National Laboratory, Oak Ridge, TN 37831, USA, 1 Introduction Dense linear algebra (DLA) forms the core of many scienti¯c computing appli- cations. Consequently, there is continuous interest and demand for the devel- opment of increasingly better algorithms in the ¯eld. Here 'better' has a broad meaning, and includes improved reliability, accuracy, robustness, ease of use, and most importantly new or improved algorithms that would more e±ciently use the available computational resources to speed up the computation. The rapidly evolving high end computing systems and the close dependence of DLA algo- rithms on the computational environment is what makes the ¯eld particularly dynamic. A typical example of the importance and impact of this dependence is the development of LAPACK [1] (and later ScaLAPACK [2]) as a successor to the well known and formerly widely used LINPACK [3] and EISPACK [3] libraries. Both LINPACK and EISPACK were based, and their e±ciency depended, on optimized Level 1 BLAS [4]. Hardware development trends though, and in par- ticular an increasing Processor-to-Memory speed gap of approximately 50% per year, started to increasingly show the ine±ciency of Level 1 BLAS vs Level 2 and 3 BLAS, which prompted e®orts to reorganize DLA algorithms to use block matrix operations in their innermost loops. -
Jack Dongarra: Supercomputing Expert and Mathematical Software Specialist
Biographies Jack Dongarra: Supercomputing Expert and Mathematical Software Specialist Thomas Haigh University of Wisconsin Editor: Thomas Haigh Jack J. Dongarra was born in Chicago in 1950 to a he applied for an internship at nearby Argonne National family of Sicilian immigrants. He remembers himself as Laboratory as part of a program that rewarded a small an undistinguished student during his time at a local group of undergraduates with college credit. Dongarra Catholic elementary school, burdened by undiagnosed credits his success here, against strong competition from dyslexia.Onlylater,inhighschool,didhebeginto students attending far more prestigious schools, to Leff’s connect material from science classes with his love of friendship with Jim Pool who was then associate director taking machines apart and tinkering with them. Inspired of the Applied Mathematics Division at Argonne.2 by his science teacher, he attended Chicago State University and majored in mathematics, thinking that EISPACK this would combine well with education courses to equip Dongarra was supervised by Brian Smith, a young him for a high school teaching career. The first person in researcher whose primary concern at the time was the his family to go to college, he lived at home and worked lab’s EISPACK project. Although budget cuts forced Pool to in a pizza restaurant to cover the cost of his education.1 make substantial layoffs during his time as acting In 1972, during his senior year, a series of chance director of the Applied Mathematics Division in 1970– events reshaped Dongarra’s planned career. On the 1971, he had made a special effort to find funds to suggestion of Harvey Leff, one of his physics professors, protect the project and hire Smith. -
Randnla: Randomized Numerical Linear Algebra
review articles DOI:10.1145/2842602 generation mechanisms—as an algo- Randomization offers new benefits rithmic or computational resource for the develop ment of improved algo- for large-scale linear algebra computations. rithms for fundamental matrix prob- lems such as matrix multiplication, BY PETROS DRINEAS AND MICHAEL W. MAHONEY least-squares (LS) approximation, low- rank matrix approxi mation, and Lapla- cian-based linear equ ation solvers. Randomized Numerical Linear Algebra (RandNLA) is an interdisci- RandNLA: plinary research area that exploits randomization as a computational resource to develop improved algo- rithms for large-scale linear algebra Randomized problems.32 From a foundational per- spective, RandNLA has its roots in theoretical computer science (TCS), with deep connections to mathemat- Numerical ics (convex analysis, probability theory, metric embedding theory) and applied mathematics (scientific computing, signal processing, numerical linear Linear algebra). From an applied perspec- tive, RandNLA is a vital new tool for machine learning, statistics, and data analysis. Well-engineered implemen- Algebra tations have already outperformed highly optimized software libraries for ubiquitous problems such as least- squares,4,35 with good scalability in par- allel and distributed environments. 52 Moreover, RandNLA promises a sound algorithmic and statistical foundation for modern large-scale data analysis. MATRICES ARE UBIQUITOUS in computer science, statistics, and applied mathematics. An m × n key insights matrix can encode information about m objects ˽ Randomization isn’t just used to model noise in data; it can be a powerful (each described by n features), or the behavior of a computational resource to develop discretized differential operator on a finite element algorithms with improved running times and stability properties as well as mesh; an n × n positive-definite matrix can encode algorithms that are more interpretable in the correlations between all pairs of n objects, or the downstream data science applications. -
C++ API for BLAS and LAPACK
2 C++ API for BLAS and LAPACK Mark Gates ICL1 Piotr Luszczek ICL Ahmad Abdelfattah ICL Jakub Kurzak ICL Jack Dongarra ICL Konstantin Arturov Intel2 Cris Cecka NVIDIA3 Chip Freitag AMD4 1Innovative Computing Laboratory 2Intel Corporation 3NVIDIA Corporation 4Advanced Micro Devices, Inc. February 21, 2018 This research was supported by the Exascale Computing Project (17-SC-20-SC), a collaborative effort of two U.S. Department of Energy organizations (Office of Science and the National Nuclear Security Administration) responsible for the planning and preparation of a capable exascale ecosystem, including software, applications, hardware, advanced system engineering and early testbed platforms, in support of the nation's exascale computing imperative. Revision Notes 06-2017 first publication 02-2018 • copy editing, • new cover. 03-2018 • adding a section about GPU support, • adding Ahmad Abdelfattah as an author. @techreport{gates2017cpp, author={Gates, Mark and Luszczek, Piotr and Abdelfattah, Ahmad and Kurzak, Jakub and Dongarra, Jack and Arturov, Konstantin and Cecka, Cris and Freitag, Chip}, title={{SLATE} Working Note 2: C++ {API} for {BLAS} and {LAPACK}}, institution={Innovative Computing Laboratory, University of Tennessee}, year={2017}, month={June}, number={ICL-UT-17-03}, note={revision 03-2018} } i Contents 1 Introduction and Motivation1 2 Standards and Trends2 2.1 Programming Language Fortran............................ 2 2.1.1 FORTRAN 77.................................. 2 2.1.2 BLAST XBLAS................................. 4 2.1.3 Fortran 90.................................... 4 2.2 Programming Language C................................ 5 2.2.1 Netlib CBLAS.................................. 5 2.2.2 Intel MKL CBLAS................................ 6 2.2.3 Netlib lapack cwrapper............................. 6 2.2.4 LAPACKE.................................... 7 2.2.5 Next-Generation BLAS: \BLAS G2"..................... -
HPC Libraries
High Performance Computing: Concepts, Methods & Means HPC Libraries Hartmut Kaiser PhD Center for Computation & Technology Louisiana State University April 19 th , 2007 Outline • Introduction to High Performance Libraries • Linear Algebra Libraries (BLAS, LAPACK) • PDE Solvers (PETSc) • Mesh manipulation and load balancing (METIS/ParMETIS, JOSTLE) • Special purpose libraries (FFTW) • General purpose libraries (C++: Boost) • Summary – Materials for test 2 Outline • Introduction to High Performance Libraries • Linear Algebra Libraries (BLAS, LAPACK) • PDE Solvers (PETSc) • Mesh manipulation and load balancing (METIS/ParMETIS, JOSTLE) • Special purpose libraries (FFTW) • General purpose libraries (C++: Boost) • Summary – Materials for test 3 Puzzle of the Day #include <stdio.h> int main() { int a = 10; switch (a) { case '1': printf("ONE\n"); break ; case '2': printf("TWO\n"); break ; defa1ut : printf("NONE\n"); } If you expect the output of the above return 0; } program to be NONE , I would request you to check it out! 4 Application domains • Linear algebra – BLAS, ATLAS, LAPACK, ScaLAPACK, Slatec, pim • Ordinary and partial Differential Equations – PETSc • Mesh manipulation and Load Balancing – METIS, ParMETIS, CHACO, JOSTLE, PARTY • Graph manipulation – Boost.Graph library • Vector/Signal/Image processing – VSIPL, PSSL. • General parallelization – MPI, pthreads • Other domain specific libraries – NAMD, NWChem, Fluent, Gaussian, LS-DYNA 5 Application Domain Overview • Linear Algebra Libraries – Provide optimized methods for constructing sets of linear equations, performing operations on them (matrix-matrix products, matrix-vector products) and solving them (factoring, forward & backward substitution. – Commonly used libraries include BLAS, ATLAS, LAPACK, ScaLAPACK, PaLAPACK • PDE Solvers: – Developing general-porpose, parallel numerical PDE libraries – Usual toolsets include manipulation of sparse data structures, iterative linear system solvers, preconditioners, nonlinear solvers and time-stepping methods. -
Evolving Software Repositories
1 Evolving Software Rep ositories http://www.netli b.org/utk/pro ject s/esr/ Jack Dongarra UniversityofTennessee and Oak Ridge National Lab oratory Ron Boisvert National Institute of Standards and Technology Eric Grosse AT&T Bell Lab oratories 2 Pro ject Fo cus Areas NHSE Overview Resource Cataloging and Distribution System RCDS Safe execution environments for mobile co de Application-l evel and content-oriented to ols Rep ository interop erabili ty Distributed, semantic-based searching 3 NHSE National HPCC Software Exchange NASA plus other agencies funded CRPC pro ject Center for ResearchonParallel Computation CRPC { Argonne National Lab oratory { California Institute of Technology { Rice University { Syracuse University { UniversityofTennessee Uniform interface to distributed HPCC software rep ositories Facilitation of cross-agency and interdisciplinary software reuse Material from ASTA, HPCS, and I ITA comp onents of the HPCC program http://www.netlib.org/nhse/ 4 Goals: Capture, preserve and makeavailable all software and software- related artifacts pro duced by the federal HPCC program. Soft- ware related artifacts include algorithms, sp eci cations, designs, do cumentation, rep ort, ... Promote formation, growth, and interop eration of discipline-oriented rep ositories that organize, evaluate, and add value to individual contributions. Employ and develop where necessary state-of-the-art technologies for assisting users in nding, understanding, and using HPCC software and technologies. 5 Bene ts: 1. Faster development of high-quality software so that scientists can sp end less time writing and debugging programs and more time on research problems. 2. Less duplication of software development e ort by sharing of soft- ware mo dules. -
2 Accessing Matlab at ER4
Department of Electrical Engineering EE281 Intro duction to MATLAB on the Region IV Computing Facilities 1 What is Matlab? Matlab is a high-p erformance interactive software package for scienti c and enginnering numeric computation. Matlab integrates numerical analysis, matrix computation, signal pro cessing, and graphics in an easy-to-use envi- ronment without traditional programming. The name Matlab stands for matrix laboratory. Matlab was originally written to provide easy access to the matrix software develop ed by the LIN- PACK and EISPACK pro jects. Matlab is an interactive system whose basic data element is a matrix that do es not require dimensioning. Furthermore, problem solutions are expressed in Matlab almost exactly as they are written mathematically. Matlab has evolved over the years with inputs from many users. Matlab Toolboxes are sp ecialized collections of Matlab les designed for solving particular classes of functions. Currently available to olb oxes include: signal pro cessing control system optimization neural networks system identi cation robust control analysis splines symb olic mathematics image pro cessing statistics 2 Accessing Matlab at ER4 Sit down at a workstation. Log on. login: smithj <press return> password: 1234js <press return> Use the mouse button to view the Ro ot Menu. Drag the cursor to \Design Tools" then to \Matlab." Release the mouse button. You are now running the Matlab interactive software package. The prompt is a double \greater than" sign. You may use emacs line editor commands and the arrow keys while typing in Matlab. 1 3 An Intro ductory Demonstration Execute the following command to view aquick intro duction to Matlab. -
CS 267 Dense Linear Algebra: History and Structure, Parallel Matrix
Quick review of earlier lecture •" What do you call •" A program written in PyGAS, a Global Address CS 267 Space language based on Python… Dense Linear Algebra: •" That uses a Monte Carlo simulation algorithm to approximate π … History and Structure, •" That has a race condition, so that it gives you a Parallel Matrix Multiplication" different funny answer every time you run it? James Demmel! Monte - π - thon ! www.cs.berkeley.edu/~demmel/cs267_Spr16! ! 02/25/2016! CS267 Lecture 12! 1! 02/25/2016! CS267 Lecture 12! 2! Outline Outline •" History and motivation •" History and motivation •" What is dense linear algebra? •" What is dense linear algebra? •" Why minimize communication? •" Why minimize communication? •" Lower bound on communication •" Lower bound on communication •" Parallel Matrix-matrix multiplication •" Parallel Matrix-matrix multiplication •" Attaining the lower bound •" Attaining the lower bound •" Other Parallel Algorithms (next lecture) •" Other Parallel Algorithms (next lecture) 02/25/2016! CS267 Lecture 12! 3! 02/25/2016! CS267 Lecture 12! 4! CS267 Lecture 2 1 Motifs What is dense linear algebra? •" Not just matmul! The Motifs (formerly “Dwarfs”) from •" Linear Systems: Ax=b “The Berkeley View” (Asanovic et al.) •" Least Squares: choose x to minimize ||Ax-b||2 Motifs form key computational patterns •" Overdetermined or underdetermined; Unconstrained, constrained, or weighted •" Eigenvalues and vectors of Symmetric Matrices •" Standard (Ax = λx), Generalized (Ax=λBx) •" Eigenvalues and vectors of Unsymmetric matrices