[Rp] Reproducibility of 'Poincaré Dodecahedral Space Parameter

Total Page:16

File Type:pdf, Size:1020Kb

[Rp] Reproducibility of 'Poincaré Dodecahedral Space Parameter RESCIENCE C Reproduction / Astronomy [¬Rp] Reproducibility of ’Poincaré dodecahedral space parameter estimates’ Boudewijn F. Roukema1,2, ID 1Institute of Astronomy, Faculty of Physics, Astronomy and Informatics, Nicolaus Copernicus University, Grudziadzka 5, 87-100 Toruń, Poland – 2Univ Lyon, Ens de Lyon, Univ Lyon1, CNRS, Centre de Recherche Astrophysique de Lyon UMR5574, F–69007, Lyon, France Edited by Pierre de Buyl ID Abstract Reviewed by Is a scientific research paper based on (i) public, online observational data files Konrad Hinsen ID and (ii) providing free-licensed soware for reproducing its results easy to reproduce by the same author a decade later? This paper attempts to reproduce a cosmic topol- Received ogy observational paper published in 2008 and satisfying both criteria (i) and (ii). 05 May 2020 The reproduction steps are defined formally in a free-licensed git repository pack- age “0807.4260” and qualitatively in the current paper. It was found that the effort in Published 14 July 2020 upgrading the Fortran 77 code at the heart of the soware, interfaced with a C front end, and originally compiled with g77, in the content of the contemporary gfortran DOI compiler, risked being too great to be justified on any short time scale. In this sense, 10.5281/zenodo.3956058 the results of RBG08 are not as reproducible as they appeared to be, despite both (i) data availability and (ii) free-licensing and public availability of the soware. The soware and a script to reproduce the steps of this incomplete reproduction are com- bined in a new git repository named 0807.4260, following the ArXiv identity code of RBG08. [23] 1 Introduction This paper studies the reproducibility of the main observational results of a cosmic topology research paper published by myself and co-authors in 2008[23]. The paper used the surface-of-last-scattering optimal cross-correlation method of finding a pre- ferred orientation of the fundamental domain of the spatial section of the Universe, under the working hypothesis that the spatial section is a Poincaré dodecahedral space[17]. The code was developed by me, with comments provided by my coau- thors. The results that should be reproduced are those that use the method described in Section 3.2 of RBG08, and the observational analysis results described in Section 4.2, displayed in Figs. 3, 4, 5 and given numerically in Tables 2 and 3 of RBG08. Re- lated cosmic topology papers by other authors are published with no references to arXiv:2008.07380v1 [cs.CY] 23 Jul 2020 soware package details or soware licences. The reason for attempting and documenting the reproducibility of this paper is that not only are many papers in astronomy[3] and other fields still published without providing the full empirical data sets and source code under free-soware licences, but even those that provide free-licensed soware and input data may be difficult to reproduce[14, 7, 25]. While observational data in cosmology are usually made avail- able online with high-quality documentation, oen aer an embargo period, free- licensed soware in the field of cosmic topology, in particular, library functions for Copyright © 2020 B.F. Roukema, released under a Creative Commons Attribution 4.0 International license. Correspondence should be addressed to Boudewijn F. Roukema (boud astro.uni.torun.pl) The authors have declared that no competing interests exist. Code is available at https://codeberg.org/boud/0807.4260. –SWH swh:1:dir:4f1fe8cf5a01bb4637e31ea938eaa5bc25a2b87b. Data is available at https://lambda.gsfc.nasa.gov/data/map/dr3/dfp/wmap_ilc_5yr_v3.fits. Open peer review is available at https://github.com/ReScience/submissions/issues/41. ReScience C 6.1 (#11) – Roukema 2020 1 [¬Rp] Reproducibility of ’Poincaré dodecahedral space parameter estimates’ defining matched circles in the cosmic microwave background or matched discs in extragalactic 3-dimensional comoving space[21], is only recorded in the scientific lit- erature in papers published by my research group. To document and help analyse the success and difficulties in reproducing scien- tific results in this context, the editors of ReScience C posed the “Ten Years Repro- ducibility Challenge”, a request that scientists attempt to reproduce the main results of their own peer-reviewed scientific research papers that had been published before 1 January 2010, and document the method and results in ReScience C[18]. 2 Method The first steps for trying to reproduce the original results of RBG08 were to (re-)read the appropriate sections of the paper, initially taking the view of a non-author. 1. Section 2.1[23] states that the analysis method of Section 3.2 requires the three files at URLs listed in footnotes 1, 2, 3 on the same page. These files repre- sent two versions of an all-sky map of the Universe mostly representing cosmic −1 microwave background emission at 10h Gpc (comoving) from the Earth as observed by the Wilkinson Microwave Anisotropy Probe (WMAP)[11], and the “kp2” mask to enable analysis that avoids the most contaminated regions of the sky. These files need to be downloaded. 2. Footnote 7[23] indicates that circles-0.3.2.1, to be found at the URL http://cosmo. torun.pl/GPLdownload/dodec/, provides the soware for generating the figures and tables. This soware needs to downloaded from http://cosmo.torun.pl/GPLdownload/ dodec/circles-0.3.2.1.tar.gz. The next step was to develop a script on a git repository server that satisfies the re- quirements of the international scientific community, specifically the International Science Council[13], by not blocking access to scientists of any countries or territo- ries. During 2018 and 2019, several of the most popular git repository servers partially blocked access to scientists and other residents of several countries and territories (Github[10, 16, 26], Bitbucket[15], Gitlab[24]; the gitlab soware is free-licensed and can be installed independently of the Gitlab online service). The bans have presum- ably continued into 2020. A shi of my own soware to servers acceptable under in- ternational scientific ethical standards is underway, but incomplete as of early 2020. I chose a community-based server, Codeberg, not currently listed on the Wikipedia list of source code hosting facilities1. In 2019, the Investigating & Archiving the Scholarly Git Experience project team expressed its concerns about the bans, describing them as having “far-reaching and chilling consequences for open source, open scholarship, and for the open exchange of information and ideas”[12]. The remaining planned steps were to implement the minimal number of updates to make the code work and replicate the original results, using modern hardware and a modern soware environment. Footnote 7 of RBG08 warns that “These [circles- 0.3.2.1 and circles-0.3.8] and earlier versions of the soware require medium to ad- vanced GNU/Linux, Fortran77 and C experience for a scientific user.” There is no statement regarding the particular compiler(s) used. As far as I recall, it’s very likely that the widely used GNU fortran compiler of the time, g77, was used together with gcc, as selected automatically by autotool packages. The system and hardware chosen for the reproduction project were an AMD com- puter running with a Debian GNU/Linux 9.12 system on an x86_64 Linux-4.9.0 ker- nel. The Fortran compiler chosen was GNU Fortran (Debian 6.3.0-18+deb9u1) 6.3.0 20170516. 3 Results The overall script intended to carry out the full sequence of downloads, configuring of packages, compiling of packages, subdirectory user-level installation of packages, 1https://en.wikipedia.org/wiki/Comparison_of_source-code-hosting_facilities ReScience C 6.1 (#11) – Roukema 2020 2 [¬Rp] Reproducibility of ’Poincaré dodecahedral space parameter estimates’ ded213c1c4cfdfe2ef92f7155b27d58c wmap_ilc_5yr_v3.fits fbc8b2518fdddf0a1e7b5acde99a748e wiener5yr_map.fits 5aa3267dc6d69bf8c5f0a3a893e23960 wmap_kp2_r9_mask_3yr_v2.fits afbd67d8120c11e949eb0c414c2775f5 circles-0.3.2.1.tar.gz Table 1. Checksums (md5sums) of the data and the main soware source code files of RBG08, use for the present reproducibility test. setting up of calculation parameters, and running the main code, was set up as a bash script reproduce_RBG08.sh. The full package aiming to reproduce the figures and tables listed above is pro- vided at https://codeberg.org/boud/0807.4260, named aer the ArXiv identity of RBG08. 3.1 Downloading data and software source code 1. The URL in footnotes 1, 2 and 3[23] gave clickable links that were split into two and not correctly clickable. The user needs to cut/paste the two halves of each URL in order to obtain the three data files. The data files were downloaded with no apparent problem, with md5sums as indicated in Table 1. 2. The file circles-0.3.2.1.tar.gz with the md5sum indicated in Table 1 was down- loaded. It was included in the main git repository in its original form. Subse- quent changes are recorded in the git history at https://codeberg.org/boud/0807. 4260. 3.2 Compiling/debugging Fixes needed in order to successfully compile circles include: 1. A Fortran 77 line that ended on one line with a + symbol and started on the next line with another + symbol (within the valid columns for standard Fortran 77) was apparently accepted by the gcc family fortran compiler in 2008, but not now (2020). One of the + symbols was removed. 2. A fitting algorithm gsl_multifit_covar available in GNU Scientific Library (GSL) versions 1.x was obsoleted; it is no longer present in modern 2.x versions of GSL. With the aim of minimising the interventions required in the system, GSL- 1.10 was downloaded and compiled from source, re-creating part of the original soware environment. 3. Using the modern gfortran compiler options -fcheck=bounds -Wall to highlight likely sources of bugs due to insufficiently standard coding led to many warn- ings.
Recommended publications
  • Introduction to Programming in Fortran 77 for Students of Science and Engineering
    Introduction to programming in Fortran 77 for students of Science and Engineering Roman GrÄoger University of Pennsylvania, Department of Materials Science and Engineering 3231 Walnut Street, O±ce #215, Philadelphia, PA 19104 Revision 1.2 (September 27, 2004) 1 Introduction Fortran (FORmula TRANslation) is a programming language designed speci¯cally for scientists and engineers. For the past 30 years Fortran has been used for such projects as the design of bridges and aeroplane structures, it is used for factory automation control, for storm drainage design, analysis of scienti¯c data and so on. Throughout the life of this language, groups of users have written libraries of useful standard Fortran programs. These programs can be borrowed and used by other people who wish to take advantage of the expertise and experience of the authors, in a similar way in which a book is borrowed from a library. Fortran belongs to a class of higher-level programming languages in which the programs are not written directly in the machine code but instead in an arti¯cal, human-readable language. This source code consists of algorithms built using a set of standard constructions, each consisting of a series of commands which de¯ne the elementary operations with your data. In other words, any algorithm is a cookbook which speci¯es input ingredients, operations with them and with other data and ¯nally returns one or more results, depending on the function of this algorithm. Any source code has to be compiled in order to obtain an executable code which can be run on your computer.
    [Show full text]
  • Writing Fast Fortran Routines for Python
    Writing fast Fortran routines for Python Table of contents Table of contents ............................................................................................................................ 1 Overview ......................................................................................................................................... 2 Installation ...................................................................................................................................... 2 Basic Fortran programming ............................................................................................................ 3 A Fortran case study ....................................................................................................................... 8 Maximizing computational efficiency in Fortran code ................................................................. 12 Multiple functions in each Fortran file ......................................................................................... 14 Compiling and debugging ............................................................................................................ 15 Preparing code for f2py ................................................................................................................ 16 Running f2py ................................................................................................................................. 17 Help with f2py ..............................................................................................................................
    [Show full text]
  • 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.
    [Show full text]
  • NUG Single Node Optimization Presentation
    Single Node Optimization on Hopper Michael Stewart, NERSC Introduction ● Why are there so many compilers available on Hopper? ● Strengths and weaknesses of each compiler. ● Advice on choosing the most appropriate compiler for your work. ● Comparative benchmark results. ● How to compile and run with OpenMP for each compiler. ● Recommendations for running hybrid MPI/OpenMP codes on a node. Why So Many Compilers on Hopper? ● Franklin was delivered with the only commercially available compiler for Cray Opteron systems, PGI. ● GNU compilers were on Franklin, but at that time GNU Fortran optimization was poor. ● Next came Pathscale because of superior optimization. ● Cray was finally legally allowed to port their compiler to the Opteron so it was added next. ● Intel was popular on Carver, and it produced highly optimized codes on Hopper. ● PGI is still the default, but this is not a NERSC recommendation. Cray's current default is the Cray compiler, but we kept PGI to avoid disruption. PGI ● Strengths ○ Available on a wide variety of platforms making codes very portable. ○ Because of its wide usage, it is likely to compile almost any valid code cleanly. ● Weaknesses ○ Does not optimize as well as compilers more narrowly targeted to AMD architectures. ● Optimization recommendation: ○ -fast Cray ● Strengths ○ Fortran is well optimized for the Hopper architecture. ○ Uses Cray math libraries for optimization. ○ Well supported. ● Weaknesses ○ Compilations can take much longer than with other compilers. ○ Not very good optimization of C++ codes. ● Optimization recommendations: ○ Compile with no explicit optimization arguments. The default level of optimization is very high. Intel ● Strengths ○ Optimizes C++ and Fortran codes very well.
    [Show full text]
  • PHYS-4007/5007: Computational Physics Course Lecture Notes Section II
    PHYS-4007/5007: Computational Physics Course Lecture Notes Section II Dr. Donald G. Luttermoser East Tennessee State University Version 7.1 Abstract These class notes are designed for use of the instructor and students of the course PHYS-4007/5007: Computational Physics taught by Dr. Donald Luttermoser at East Tennessee State University. II. Choosing a Programming Language A. Which is the Best Programming Language for Your Work? 1. You have come up with a scientific idea which will require nu- merical work using a computer. One needs to ask oneself, which programming language will work best for the project? a) Projects involving data reduction and analysis typically need software with graphics capabilities. Examples of such graphics languages include IDL, Mathlab, Origin, GNU- plot, SuperMongo, and Mathematica. b) Projects involving a lot of ‘number-crunching’ typically require a programming language that is capable of car- rying out math functions in scientific notation with as much precision as possible. In physics and astronomy, the most commonly used number-crunching programming languages include the various flavors of Fortran, C, and more recently, Python. i) As noted in the last section, the decades old For- tran 77 is still widely use in physics and astronomy. ii) Over the past few years, Python has been growing in popularity in scientific programming. c) In this class, we will focus on two programming languages: Fortran and Python. From time to time we will discuss the IDL programming language since some of you may encounter this software during your graduate and profes- sional career. d) Any coding introduced in these notes will be written in either of these three programming languages.
    [Show full text]
  • Using GNU Fortran 95
    Contributed by Steven Bosscher ([email protected]). Using GNU Fortran 95 Steven Bosscher For the 4.0.4 Version* Published by the Free Software Foundation 59 Temple Place - Suite 330 Boston, MA 02111-1307, USA Copyright c 1999-2005 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Sections being “GNU General Public License” and “Funding Free Software”, the Front-Cover texts being (a) (see below), and with the Back-Cover Texts being (b) (see below). A copy of the license is included in the section entitled “GNU Free Documentation License”. (a) The FSF’s Front-Cover Text is: A GNU Manual (b) The FSF’s Back-Cover Text is: You have freedom to copy and modify this GNU Manual, like GNU software. Copies published by the Free Software Foundation raise funds for GNU development. i Short Contents Introduction ...................................... 1 GNU GENERAL PUBLIC LICENSE .................... 3 GNU Free Documentation License ....................... 9 Funding Free Software .............................. 17 1 Getting Started................................ 19 2 GFORTRAN and GCC .......................... 21 3 GFORTRAN and G77 ........................... 23 4 GNU Fortran 95 Command Options.................. 25 5 Project Status ................................ 33 6 Extensions ................................... 37 7 Intrinsic Procedures ............................
    [Show full text]
  • Advanced Fortran @
    Sami Ilvonen Peter Råback Advanced Fortran Programming March 26-28, 2019 CSC – IT Center for Science Ltd, Finland type revector(rk) integer, kind :: rk real(kind=rk), allocatable :: data(:) contains procedure :: sum => vecsum generic :: operator(+) => sum end type revector type, extends(revector) :: imvector real(kind=rk), allocatable :: imdata(:) contains procedure :: sum => imvecsum end type imvector contains function vecsum(x,y) result(z) implicit none class(revector(dp)), intent(in) :: x,y class(revector(dp)), allocatable :: z integer :: i select type(y) All material (C) 2013-2019 by CSC – IT Center for Science Ltd. This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License, http://creativecommons.org/licenses/by-nc-sa/3.0/ Agenda Tuesday Wednesday 9:00-9:15 Course introduction 9:00-9:45 Introduction to Fortran coarrays 9:15-10:00 Useful new features beyond F95 9:45-10:00 Coffee break 10:00-10:15 Coffee break 10:00-11:15 Exercises 11:15-12:00 More coarray features 10:15-11:00 Advanced topics in Fortran I/O 12:00-13:00 Lunch break 11:00-11:15 Working with Fortran 13:00-14:00 Exercises compilers 14:00-14:45 Advanced topics in coarrays 11:15-12:00 Exercises 14:45-15:00 Coffee break 12:00-13:00 Lunch break 15:00-16:00 Exercises 13:00-14:00 Interoperability with C 14:00-14:45 Exercises 14:45-15:00 Coffee break 15:00-16:00 Exercises Thursday 9:00-10:00 Additional capabilities of Fortran types, procedure pointers 10:00-10:15 Coffee break 10:15-11:00 Exercises 11:00-12:00 Type extensions, type-bound
    [Show full text]
  • Coarrays in GNU Fortran
    Coarrays in GNU Fortran Alessandro Fanfarillo [email protected] June 24th, 2014 Alessandro Fanfarillo Coarrays in GFortran June 24th, 2014 1 / 50 Introduction Coarray Fortran (also known as CAF) is a syntactic extension of Fortran 95/2003 which has been included in the Fortran 2008 standard. The main goal is to allow Fortran users to realize parallel programs without the burden of explicitly invoke communication functions or directives (MPI, OpenMP). The secondary goal is to express parallelism in a \platform-agnostic" way (no explicit shared or distributed paradigm). Coarrays are based on the Partitioned Global Address Space model (PGAS). Compilers which support Coarrays: Cray Compiler (Gold standard - Commercial) Intel Compiler (Commercial) Rice Compiler (Free - Rice University) OpenUH (Free - University of Houston) G95 (Coarray support not totally free - Not up to date) Alessandro Fanfarillo Coarrays in GFortran June 24th, 2014 2 / 50 PGAS Languages The PGAS model assumes a global memory address space that is logically partitioned and a portion of it is local to each process or thread. It means that a process can directly access a memory portion owned by another process. The model attempts to combine the advantages of a SPMD programming style for distributed memory systems (as employed by MPI) with the data referencing semantics of shared memory systems. Coarray Fortran. UPC (upc.gwu.edu). Titanium (titanium.cs.berkeley.edu). Chapel (Cray). X10 (IBM). Alessandro Fanfarillo Coarrays in GFortran June 24th, 2014 3 / 50 Coarray concepts A program is treated as if it were replicated at the start of execution, each replication is called an image.
    [Show full text]
  • In the GNU Fortran Compiler
    Using GNU Fortran For gcc version 12.0.0 (pre-release) (GCC) The gfortran team Published by the Free Software Foundation 51 Franklin Street, Fifth Floor Boston, MA 02110-1301, USA Copyright c 1999-2021 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with the Invariant Sections being \Funding Free Software", the Front-Cover Texts being (a) (see below), and with the Back-Cover Texts being (b) (see below). A copy of the license is included in the section entitled \GNU Free Documentation License". (a) The FSF's Front-Cover Text is: A GNU Manual (b) The FSF's Back-Cover Text is: You have freedom to copy and modify this GNU Manual, like GNU software. Copies published by the Free Software Foundation raise funds for GNU development. i Short Contents 1 Introduction ::::::::::::::::::::::::::::::::::::::::: 1 Invoking GNU Fortran 2 GNU Fortran Command Options :::::::::::::::::::::::: 7 3 Runtime: Influencing runtime behavior with environment variables ::::::::::::::::::::::::::::::::::::::::::: 33 Language Reference 4 Fortran standards status :::::::::::::::::::::::::::::: 39 5 Compiler Characteristics :::::::::::::::::::::::::::::: 45 6 Extensions :::::::::::::::::::::::::::::::::::::::::: 51 7 Mixed-Language Programming ::::::::::::::::::::::::: 73 8 Coarray Programming :::::::::::::::::::::::::::::::: 89 9 Intrinsic Procedures ::::::::::::::::::::::::::::::::: 113
    [Show full text]
  • Using GNU Fortran
    Using GNU Fortran For gcc version 4.6.4 (GCC) The gfortran team Published by the Free Software Foundation 51 Franklin Street, Fifth Floor Boston, MA 02110-1301, USA Copyright c 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with the Invariant Sections being \Funding Free Software", the Front-Cover Texts being (a) (see below), and with the Back-Cover Texts being (b) (see below). A copy of the license is included in the section entitled \GNU Free Documentation License". (a) The FSF's Front-Cover Text is: A GNU Manual (b) The FSF's Back-Cover Text is: You have freedom to copy and modify this GNU Manual, like GNU software. Copies published by the Free Software Foundation raise funds for GNU development. i Short Contents 1 Introduction ::::::::::::::::::::::::::::::::::::::::: 1 Part I: Invoking GNU Fortran :::::::::::::::::::::::::::::: 5 2 GNU Fortran Command Options :::::::::::::::::::::::: 7 3 Runtime: Influencing runtime behavior with environment variables ::::::::::::::::::::::::::::::::::::::::::: 25 Part II: Language Reference :::::::::::::::::::::::::::::: 29 4 Fortran 2003 and 2008 Status :::::::::::::::::::::::::: 31 5 Compiler Characteristics :::::::::::::::::::::::::::::: 35 6 Extensions :::::::::::::::::::::::::::::::::::::::::: 37 7 Mixed-Language Programming :::::::::::::::::::::::::
    [Show full text]
  • Upgrade to GFORTRAN and Fortran 2003
    Upgrade to GFORTRAN and Fortran 2003 G. L. Mesina 2019 IRUG Meeting Idaho Falls, ID April 18 – April 19, 2019 INL/CON-19-53482 www.inl.gov Outline • Reasons/Advantages • History of Upgrades • Issues • Results • Conclusions 2 History of Architectural Upgrades • FACT: Must keep concurrency with evolving computer industry or become obsolescent and non-working. • Fortran 66: original RELAP5 coding • Fortran 77: conversion after the compilers stabilized in mid-80’s • Developed “32-bit int / 64-bit real” equivalence in late 80’s • Adapt to new machines as they become available, mid-80’s & ongoing – CDC; Cray; Cray2; DEC: RISC, RISC2, Alpha; HP; IBM (various); SGI; Stardent; SUN-Solaris; Windows; Apple Macintosh (Briefly) • Ongoing Operating System Adaptations – CDC: NOS, NOS/BE, etc. – Unix: UNICOS, IBM, HP, SGI, SUN, DEC – Windows: 95, 98, ME, XP, 7, … – LINUX: Red Hat, SUSE, CYGWIN, … 3 History of Architectural Upgrades • Processing mode – Scalar, original – Vector, mid-80s through mid-00s – SMD Parallel (Cray dirs., Open-MP), late 80s to mid-00’s – DMD Parallel: PVM coupling to self, early 00’s & ongoing • Coupling with other programs – PVM Executive, early 00’s & ongoing • Graphics – Whole plant: NPA (1990’s), RGUI (late 90’s to mid-00’s), – Input-builders (SNAP, etc.), Plot programs (XMGR, APTplot, etc), • Restructuring to strongly modular coding, mid-00’s • Resizable: Fortran 90/95, modules, derived types, pointers…, late-00’s • Refactoring: ongoing 4 What is the Planned Upgrade? • Current status • RELAP5-3D currently guarantees to build
    [Show full text]
  • An Introduction to Parallel Programming with Openmp
    An Introduction to Parallel Programming with OpenMP by Alina Kiessling I V N E R U S E I T H Y T O H F G E R D I N B U A Pedagogical Seminar April 2009 ii Contents 1 Parallel Programming with OpenMP 1 1.1 WhatisParallelComputing? . 1 1.2 Why would you make your codes parallel? . 2 1.3 SharedandDistributedMemory. 6 1.4 OpenMP.................................. 8 1.5 WhowoulduseOpenMP? ........................ 9 1.6 AvailabilityofOpenMPattheROE . 9 2 How do you make your existing codes parallel? 11 2.1 How do I compile my code to run OpenMP? . 11 2.2 How do I decide if a loop is parallel or not? . .. 16 2.3 WhatarePrivateandSharedvariables? . 17 2.4 HowcanIdoSummations? . .. .. 25 2.5 Summary ................................. 27 2.6 Someusefulwebsites ........................... 28 References 28 iii iv CONTENTS Chapter 1 An Introduction to Parallel Programming with OpenMP 1.1 What is Parallel Computing? Most people here will be familiar with serial computing, even if they don’t realise that is what it’s called! Most programs that people write and run day to day are serial programs. A serial program runs on a single computer, typically on a single processor1. The instructions in the program are executed one after the other, in series, and only one instruction is executed at a time2. Parallel computing is a form of computation that allows many instructions in a program to run simultaneously, in parallel. In order to achieve this, a program must be split up into independent parts so that each processor can execute its part of the program simultaneously with the other processors.
    [Show full text]