Scientific Computing I

Total Page:16

File Type:pdf, Size:1020Kb

Scientific Computing I MAX PLANCK INSTITUTE FOR DYNAMICS OF COMPLEX TECHNICAL SYSTEMS MAGDEBURG Lecture Notes “Scientific Computing I” winter term 2014/2015 Dr. Jens Saak Dipl.-Math. Martin Köhler jens.saak martin.koehler @mpi-magdeburg.mpg.de @mpi-magdeburg.mpg.de 1 for j :“ i; : : : ; n do 2 for k :“ 1; : : : ; i ´ 1 do 3 Ai;j ´ “ Ai;kAk;j version from March 26, 2015 2 Contents 1 Linux and the Commandline1 1.1 A short History of an Accidental Revolution............2 1.2 The Linux Shell and Basic Commands for Handling Files.....4 1.3 Getting Help............................. 15 1.4 Manipulation of Simple Commands................ 15 1.5 Script File Basics.......................... 17 1.6 Simple Automatic File Manipulation................ 18 1.7 Remote Computing on Encrypted Connections.......... 24 1.8 Screen an Online/Offline Terminal................. 25 1.9 The Toolchain............................ 27 References and Further Reading..................... 28 2 Revision Control 29 2.1 Types of Revision Control Systems................. 30 2.1.1 Local Revision Control................... 30 2.1.2 Central Revision Control.................. 31 2.1.3 Distributed Revision Control................ 31 2.2 Collaborative Work on Projects................... 32 2.2.1 Conflicts........................... 32 2.2.2 Branches........................... 32 2.2.3 Tags............................. 32 3 Introduction to C and the GNU Toolchain 33 3.1 The Programming Environment................... 35 3.2 C Statements, Types and Operators................ 38 3.3 Control Structures.......................... 43 3.4 Complex Data Types and Arrays.................. 48 i ii Contents 3.5 Functions.............................. 54 3.6 An Introduction to the Standard Library.............. 56 3.6.1 stdio.h and stdlib.h ................. 56 3.6.2 math.h and complex.h ................. 59 3.6.3 string.h .......................... 61 3.7 File Input and Output........................ 62 3.8 The Preprocessor and Header Files................ 63 3.9 Makefiles............................... 66 3.10 Writing Own Libraries........................ 69 3.11 Interfacing Fortran.......................... 71 3.12 Automatic Generation of Documentations Using DOXYGEN... 73 References and Further Reading..................... 75 4 Error Analysis and Machine Numbers 77 4.1 Machine Numbers.......................... 77 4.2 Rounding Errors and Error Propagation.............. 81 4.2.1 Rounding Rules....................... 81 4.2.2 Computer Arithmetic.................... 85 4.2.3 Error Propagation...................... 86 4.2.4 The IEEE Standard 754.................. 90 4.3 Error Analysis............................ 92 References and Further Reading..................... 103 5 Memory Architecture and Memory Management 105 5.1 Virtual Memory Concept...................... 107 5.1.1 Paging............................ 108 5.1.2 Memory Related Error Signals............... 108 5.2 Volatile memory........................... 109 5.2.1 Registers........................... 109 5.2.2 Cache............................ 109 5.2.3 Main Memory........................ 110 5.3 Non-Volatile Storage........................ 111 5.3.1 Local Storage Media.................... 111 5.3.2 Local Network........................ 111 5.3.3 Cloud and Remote Network Services........... 112 5.4 Non Uniform Memory Access.................... 112 5.4.1 Cache Coherence...................... 112 5.4.2 Memory Consistency.................... 113 References and Further Reading..................... 113 6 Basic Operations, Formats and Matrix-Norms 115 6.1 Vector Norms and Inner Products................. 116 6.2 Linear Operators, Operator and Matrix Norms........... 118 6.2.1 Spectral Norm and Spectral Radius............ 124 Contents iii 6.2.2 Condition Number and Singular Values.......... 126 6.2.3 Some Remarks on κ2pAq .................. 128 6.3 Matrix Storage Formats....................... 129 6.3.1 Dense Matrices....................... 130 6.3.2 Sparse Matrices....................... 132 6.3.3 Complex Matrices...................... 137 6.4 Linear Algebra Software...................... 138 6.4.1 Basic Linear Algebra Subroutines (BLAS)......... 138 6.4.2 Linear Algebra PACKage (LAPACK)............ 142 6.4.3 SuiteSparse......................... 144 6.4.4 ITPACK........................... 145 6.4.5 Trilinos............................ 145 6.4.6 Native Packages for other Programming Environments and Languages....................... 145 References and Further Reading..................... 146 7 The Solution of Moderate Size Dense Linear Systems 149 7.1 Important Preliminaries....................... 149 7.2 Cache/BLAS Exploitation...................... 152 7.2.1 Triangular System...................... 152 7.2.2 Triangular Systems with Multiple Right Hand Sides and BLAS Level-3 formulation.................. 153 7.2.3 BLAS Level-3 based Gaussian Elimination......... 154 7.3 Iterative Refinement......................... 155 References and Further Reading..................... 157 8 Solving Linear Systems With Sparse Matrices 159 8.1 Preconditioning........................... 162 8.1.1 Diagonal Preconditioning.................. 162 8.1.2 Splitting Methods...................... 163 8.1.3 Multigrid approaches.................... 163 8.1.4 Incomplete Factorizations.................. 163 8.1.5 Sparse Approximate Inverses (SPAI)............ 164 8.2 Krylov Subspaces and Projection Methods............ 164 8.3 Conjugate Gradients........................ 166 8.4 Direct Solvers for Sparse Symmetric Systems........... 168 8.4.1 The Elimination Graph Model for Symmetric Matrices... 169 8.4.2 The filled graph G`pAq ................... 171 8.4.3 Characterization of Fill-in.................. 171 8.4.4 Heuristic Fill Reduction................... 172 8.4.5 Related Software...................... 178 References and Further Reading..................... 179 iv Contents Preface German Die Vorlesung “Wissenschaftliches Rechnen 1” verfolgt das Ziel, Ver- fahren und Algorithmen der Numerischen Mathematik praktisch umzusetzen. Sie soll Wissen und Strategien vermitteln, welche notwendig sind, um Ideen aus der Theorie in praktisch nutzbare Programme zu übersetzen und diese effizient zu implementieren. Dies soll mehrheitlich mit Hilfe der Programmier- sprache C geschehen, da sie eine der am meisten eingesetzten Sprachen ist1 und auch im Bereich von eingebetteten System unverzichtbar ist. Die rein mathematische Betrachtung von Problemstellung reicht in vielen Fällen dem Urheber des Problems nicht mehr aus. Viel mehr sind Industrie und Tech- nik an praktisch nutzbaren Ergebnissen für die Anwendung in Informatik, Inge- nieurwesen und Alltagsproblemen interessiert. Neben der Umsetzungen von mathematischen Verfahren soll der Umgang mit unixoiden Betriebssystemen (in diesem Fall Linux) erlernt werden. Diese bilden die hauptsächlich eingesetzte Klasse von Betriebssystemen auf den großen Compute-Clustern in modernen Rechenzentren. Neben den Betriebssystem- Spezifika werden auch Hilfsmittel vorgestellt, die den Arbeitsablauf im Umfeld des wissenschaftlichen Rechnens erleichtern. English This lecture aims at the practical implementation of methods and algortihms in numerical mathematics. Its main purpose is to convey the knowl- edge and strategies necessary to transfer and efficiently implement theoretical ideas into computer programs for practical application. We will focus on the C 1http://www.tiobe.com/index.php/content/paperinfo/tpci/index. html v vi Contents programming language since this is one of the most comonly used languages, which is especially invaluable in the environment of embedded systems. The purely mathematical consideration of problem settings often is no longer sufficient. Today partners from industry and technology are interested in prac- tically usable results for applications in computer and engineering sciences. Along with the practical implementation of mathematical methods the usage of unixoidal operating systems (in our case Linux) is to be learned. Those operat- ing systems form the most important class of operating systems used on large compute clusters in modern high performance computing centers. Besides op- erating system specifics we also present a couple of tools that help simplifying work in a scientific computing environment. Layout and Style We have put some effort into creating a unique reading experience that visually supports the reader in identifying contributions to the content. Examples are typeset inside light gray background boxes to find them easily in the document. They follow a chapter-wise numbering scheme, that is also used for Theorem- like environments (i.e. definitions, theorems, lemmas, corollaries and remarks). These environments are all displayed as framed boxes where definitions are marked by a -symbol. Theorems, corollaries and lemmas can be identified by the -symbol and remarks show a . Equation numbers follow their own chapter-wise scheme. Commands, program variables and alike are displayed in typewriter style throughout the document. When an appropriate portion of code is presented, we use color coding (of the background color) to identify the type of code that is displayed. We distinguish the following: C sources Fortran sources Shell scripts (especially BASH) Makefiles Acknowledgments We would like to thank a couple of people that helped us in preparing this manuscript. Some of them had major contributions. First of all Peter Benner Contents vii provided the German basis for Chapter4, which we slightly modified with mate- rial from the seminal book on
Recommended publications
  • NOAA Technical Report NOS NGS 60
    NOAA Technical Report NOS NGS 60 NAD83 (NSR2007) National Readjustment Final Report Dale G. Pursell Mike Potterfield Rockville, MD August 2008 NOAA Technical Report NOS NGS 60 NAD 83(NSRS2007) National Readjustment Final Report Dale G. Pursell Mike Potterfield Silver Spring, MD August 2008 U.S. DEPARTMENT OF COMMERCE National Oceanic and Atmospheric Administration National Ocean Service Contents Overview ........................................................................................................................ 1 Part I. Background .................................................................................................... 5 1. North American Datum of 1983 (1986) .......................................................................... 5 2. High Accuracy Reference Networks (HARNs) .............................................................. 5 3. Continuously Operating Reference Stations (CORS) .................................................... 7 4. Federal Base Networks (FBNs) ...................................................................................... 8 5. National Readjustment .................................................................................................... 9 Part II. Data Inventory, Assessment and Input ....................................... 11 6. Preliminary GPS Project Analysis ................................................................................11 7. Master File .....................................................................................................................11
    [Show full text]
  • Also Includes Slides and Contents From
    The Compilation Toolchain Cross-Compilation for Embedded Systems Prof. Andrea Marongiu ([email protected]) Toolchain The toolchain is a set of development tools used in association with source code or binaries generated from the source code • Enables development in a programming language (e.g., C/C++) • It is used for a lot of operations such as a) Compilation b) Preparing Libraries Most common toolchain is the c) Reading a binary file (or part of it) GNU toolchain which is part of d) Debugging the GNU project • Normally it contains a) Compiler : Generate object files from source code files b) Linker: Link object files together to build a binary file c) Library Archiver: To group a set of object files into a library file d) Debugger: To debug the binary file while running e) And other tools The GNU Toolchain GNU (GNU’s Not Unix) The GNU toolchain has played a vital role in the development of the Linux kernel, BSD, and software for embedded systems. The GNU project produced a set of programming tools. Parts of the toolchain we will use are: -gcc: (GNU Compiler Collection): suite of compilers for many programming languages -binutils: Suite of tools including linker (ld), assembler (gas) -gdb: Code debugging tool -libc: Subset of standard C library (assuming a C compiler). -bash: free Unix shell (Bourne-again shell). Default shell on GNU/Linux systems and Mac OSX. Also ported to Microsoft Windows. -make: automation tool for compilation and build Program development tools The process of converting source code to an executable binary image requires several steps, each with its own tool.
    [Show full text]
  • A Longitudinal and Cross-Dataset Study of Internet Latency and Path Stability
    A Longitudinal and Cross-Dataset Study of Internet Latency and Path Stability Mosharaf Chowdhury Rachit Agarwal Vyas Sekar Ion Stoica Electrical Engineering and Computer Sciences University of California at Berkeley Technical Report No. UCB/EECS-2014-172 http://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-172.html October 11, 2014 Copyright © 2014, by the author(s). All rights reserved. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission. A Longitudinal and Cross-Dataset Study of Internet Latency and Path Stability Mosharaf Chowdhury Rachit Agarwal Vyas Sekar Ion Stoica UC Berkeley UC Berkeley Carnegie Mellon University UC Berkeley ABSTRACT Even though our work does not provide new active mea- We present a retrospective and longitudinal study of Internet surement techniques or new datasets, we believe that there is value in this retrospective analysis on several fronts. First, it latency and path stability using three large-scale traceroute provides a historical and longitudinal perspective of Internet datasets collected over several years: Ark and iPlane from path properties that are surprisingly lacking in the measure- 2008 to 2013 and a proprietary CDN’s traceroute dataset spanning 2012 and 2013. Using these different “lenses”, we ment community today. Second, it can help us revisit and revisit classical properties of Internet paths such as end-to- reappraise classical assumptions about path latency and sta- end latency, stability, and of routing graph structure.
    [Show full text]
  • Riscv-Software-Stack-Tutorial-Hpca2015
    Software Tools Bootcamp RISC-V ISA Tutorial — HPCA-21 08 February 2015 Albert Ou UC Berkeley [email protected] Preliminaries To follow along, download these slides at http://riscv.org/tutorial-hpca2015.html 2 Preliminaries . Shell commands are prefixed by a “$” prompt. Due to time constraints, we will not be building everything from source in real-time. - Binaries have been prepared for you in the VM image. - Detailed build steps are documented here for completeness but are not necessary if using the VM. Interactive portions of this tutorial are denoted with: $ echo 'Hello world' . Also as a reminder, these slides are marked with an icon in the upper-right corner: 3 Software Stack . Many possible combinations (and growing) . But here we will focus on the most common workflows for RISC-V software development 4 Agenda 1. riscv-tools infrastructure 2. First Steps 3. Spike + Proxy Kernel 4. QEMU + Linux 5. Advanced Cross-Compiling 6. Yocto/OpenEmbedded 5 riscv-tools — Overview “Meta-repository” with Git submodules for every stable component of the RISC-V software toolchain Submodule Contents riscv-fesvr RISC-V Frontend Server riscv-isa-sim Functional ISA simulator (“Spike”) riscv-qemu Higher-performance ISA simulator riscv-gnu-toolchain binutils, gcc, newlib, glibc, Linux UAPI headers riscv-llvm LLVM, riscv-clang submodule riscv-pk RISC-V Proxy Kernel (riscv-linux) Linux/RISC-V kernel port riscv-tests ISA assembly tests, benchmark suite All listed submodules are hosted under the riscv GitHub organization: https://github.com/riscv 6 riscv-tools — Installation . Build riscv-gnu-toolchain (riscv*-*-elf / newlib target), riscv-fesvr, riscv-isa-sim, and riscv-pk: (pre-installed in VM) $ git clone https://github.com/riscv/riscv-tools $ cd riscv-tools $ git submodule update --init --recursive $ export RISCV=<installation path> $ export PATH=${PATH}:${RISCV}/bin $ ./build.sh .
    [Show full text]
  • Operating Systems and Applications for Embedded Systems >>> Toolchains
    >>> Operating Systems And Applications For Embedded Systems >>> Toolchains Name: Mariusz Naumowicz Date: 31 sierpnia 2018 [~]$ _ [1/19] >>> Plan 1. Toolchain Toolchain Main component of GNU toolchain C library Finding a toolchain 2. crosstool-NG crosstool-NG Installing Anatomy of a toolchain Information about cross-compiler Configruation Most interesting features Sysroot Other tools POSIX functions AP [~]$ _ [2/19] >>> Toolchain A toolchain is the set of tools that compiles source code into executables that can run on your target device, and includes a compiler, a linker, and run-time libraries. [1. Toolchain]$ _ [3/19] >>> Main component of GNU toolchain * Binutils: A set of binary utilities including the assembler, and the linker, ld. It is available at http://www.gnu.org/software/binutils/. * GNU Compiler Collection (GCC): These are the compilers for C and other languages which, depending on the version of GCC, include C++, Objective-C, Objective-C++, Java, Fortran, Ada, and Go. They all use a common back-end which produces assembler code which is fed to the GNU assembler. It is available at http://gcc.gnu.org/. * C library: A standardized API based on the POSIX specification which is the principle interface to the operating system kernel from applications. There are several C libraries to consider, see the following section. [1. Toolchain]$ _ [4/19] >>> C library * glibc: Available at http://www.gnu.org/software/libc. It is the standard GNU C library. It is big and, until recently, not very configurable, but it is the most complete implementation of the POSIX API. * eglibc: Available at http://www.eglibc.org/home.
    [Show full text]
  • A.5.1. Linux Programming and the GNU Toolchain
    Making the Transition to Linux A Guide to the Linux Command Line Interface for Students Joshua Glatt Making the Transition to Linux: A Guide to the Linux Command Line Interface for Students Joshua Glatt Copyright © 2008 Joshua Glatt Revision History Revision 1.31 14 Sept 2008 jg Various small but useful changes, preparing to revise section on vi Revision 1.30 10 Sept 2008 jg Revised further reading and suggestions, other revisions Revision 1.20 27 Aug 2008 jg Revised first chapter, other revisions Revision 1.10 20 Aug 2008 jg First major revision Revision 1.00 11 Aug 2008 jg First official release (w00t) Revision 0.95 06 Aug 2008 jg Second beta release Revision 0.90 01 Aug 2008 jg First beta release License This document is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License [http:// creativecommons.org/licenses/by-nc-sa/3.0/us/]. Legal Notice This document is distributed in the hope that it will be useful, but it is provided “as is” without express or implied warranty of any kind; without even the implied warranties of merchantability or fitness for a particular purpose. Although the author makes every effort to make this document as complete and as accurate as possible, the author assumes no responsibility for errors or omissions, nor does the author assume any liability whatsoever for incidental or consequential damages in connection with or arising out of the use of the information contained in this document. The author provides links to external websites for informational purposes only and is not responsible for the content of those websites.
    [Show full text]
  • Misleading Stars: What Cannot Be Measured in the Internet?
    Noname manuscript No. (will be inserted by the editor) Misleading Stars: What Cannot Be Measured in the Internet? Yvonne-Anne Pignolet · Stefan Schmid · Gilles Tredan Abstract Traceroute measurements are one of the main in- set can help to determine global properties such as the con- struments to shed light onto the structure and properties of nectivity. today’s complex networks such as the Internet. This arti- cle studies the feasibility and infeasibility of inferring the network topology given traceroute data from a worst-case 1 Introduction perspective, i.e., without any probabilistic assumptions on, e.g., the nodes’ degree distribution. We attend to a scenario Surprisingly little is known about the structure of many im- where some of the routers are anonymous, and propose two portant complex networks such as the Internet. One reason fundamental axioms that model two basic assumptions on is the inherent difficulty of performing accurate, large-scale the traceroute data: (1) each trace corresponds to a real path and preferably synchronous measurements from a large in the network, and (2) the routing paths are at most a factor number of different vantage points. Another reason are pri- 1/α off the shortest paths, for some parameter α 2 (0; 1]. vacy and information hiding issues: for example, network In contrast to existing literature that focuses on the cardi- providers may seek to hide the details of their infrastructure nality of the set of (often only minimal) inferrable topolo- to avoid tailored attacks. gies, we argue that a large number of possible topologies Knowledge of the network characteristics is crucial for alone is often unproblematic, as long as the networks have many applications as well as for an efficient operation of the a similar structure.
    [Show full text]
  • PAX A920 Mobile Smart Terminal Quick Setup Guide
    PAX A920 QUICK SETUP GUIDE PAX A920 Mobile Smart Terminal Quick Setup Guide 2018000702 v1.8 1 PAX Technology® Customer Support [email protected] (877) 859-0099 www.pax.us PAX A920 QUICK SETUP GUIDE PAX A920 Mobile Terminal Intelligence of an ECR in a handheld point of sale. The PAX A920 is an elegantly designed compact secure portable payment terminal powered by an Android operating system. The A920 comes with a large high definition color display. A thermal printer and includes NFC contactless and electronic signature capture. Great battery life for portable use. 2018000702 v1.8 2 PAX Technology® Customer Support [email protected] (877) 859-0099 www.pax.us PAX A920 QUICK SETUP GUIDE 1 What’s in The Box The PAX A920 includes the following items in the box. 2018000702 v1.8 3 PAX Technology® Customer Support [email protected] (877) 859-0099 www.pax.us PAX A920 QUICK SETUP GUIDE 2 A920 Charging Instructions Before starting the A920 battery should be fully charged by plugging the USB to micro USB cord to a PC or an AC power supply and then plug the other end with the micro USB connector into the micro USB port on the left side of the terminal. Charge the battery until full. Note: There is a protective cover on the new battery terminals that must be removed before charging the battery. See Remove and Replace Battery section. 2018000702 v1.8 4 PAX Technology® Customer Support [email protected] (877) 859-0099 www.pax.us PAX A920 QUICK SETUP GUIDE 3 A920 Buttons and Functions Front Description 6 1 2 7 3 8 9 4 5 2018000702 v1.8 5 PAX Technology® Customer Support [email protected] (877) 859-0099 www.pax.us PAX A920 QUICK SETUP GUIDE 3.1 A920 Buttons and Functions Front Description 1.
    [Show full text]
  • PAX-It! TM Applications the Paxcam Digital USB 2.0 Camera System
    Digital Imaging Workflow for Industrial From the Makers of PAX-it! TM Applications The PAXcam Digital USB 2.0 Camera System l Affordable camera for microscopy, with an easy-to-use interface l Beautiful, high-resolution images; true color rendition l Fully integrated package with camera and software l USB 2.0 interface for the fastest live digital color preview on the market l Easy-to-use interface for color balance, exposure & contrast control, including focus indicator tool l Adjustable capture resolution settings (true optical resolution -- no interpolation) l Auto exposure, auto white balance and manual color adjustment are supported l Create and apply templates and transparencies over the live image l Acquire images directly into the PAX-it archive for easy workflow l Easy one-cable connection to computer; can also be used on a laptop l Adjustable region of interest means smaller file sizes when capturing images l PAXcam interface can control multiple cameras from the same computer l Stored presets may be used to save all camera settings for repeat conditions Capture Images Directly to PAX-it Image Database Software Includes PAXcam Video Agent for motion video capture l Time lapse image capture l Combine still images to create movie files l Extract individual frames of video clips as bitmap images Live preview up to 40 fps PAX-it! l File & retrieve images in easy-to-use cabinet/folder structure l Store images, video clips, documents, and other standard digital file types l Images and other files are in a searchable database that you
    [Show full text]
  • Freebsd and Netbsd on Small X86 Based Systems
    FreeBSD and NetBSD on Small x86 Based Systems Dr. Adrian Steinmann <[email protected]> Asia BSD Conference in Tokyo, Japan March 17th, 2011 1 Introduction Who am I? • Ph.D. in Mathematical Physics (long time ago) • Webgroup Consulting AG (now) • IT Consulting Open Source, Security, Perl • FreeBSD since version 1.0 (1993) • NetBSD since version 3.0 (2005) • Traveling, Sculpting, Go AsiaBSDCon Tutorial March 17, 2011 in Tokyo, Japan “Installing and Running FreeBSD and NetBSD on Small x86 Based Systems” Dr. Adrian Steinmann <[email protected]> 2 Focus on Installing and Running FreeBSD and NetBSD on Compact Flash Systems (1) Overview of suitable SW for small x86 based systems with compact flash (CF) (2) Live CD / USB dists to try out and bootstrap onto a CF (3) Overview of HW for small x86 systems (4) Installation strategies: what needs special attention when doing installations to CF (5) Building your own custom Install/Maintenance RAMdisk AsiaBSDCon Tutorial March 17, 2011 in Tokyo, Japan “Installing and Running FreeBSD and NetBSD on Small x86 Based Systems” Dr. Adrian Steinmann <[email protected]> 3 FreeBSD for Small HW Many choices! – Too many? • PicoBSD / TinyBSD • miniBSD & m0n0wall • pfSense • FreeBSD livefs, memstick • NanoBSD • STYX. Others: druidbsd, Beastiebox, Cauldron Project, ... AsiaBSDCon Tutorial March 17, 2011 in Tokyo, Japan “Installing and Running FreeBSD and NetBSD on Small x86 Based Systems” Dr. Adrian Steinmann <[email protected]> 4 PicoBSD & miniBSD • PicoBSD (1998): Initial import into src/release/picobsd/ by Andrzej Bialecki <[email protected]
    [Show full text]
  • Debian Med Integrated Software Environment for All Medical Purposes Based on Debian GNU/Linux
    Debian Med Integrated software environment for all medical purposes based on Debian GNU/Linux Andreas Tille Debian OSWC, Malaga 2008 1 / 18 Structure 1 What is Debian Med 2 Realisation 3 Debian Med for service providers 2 / 18 Motivation Free Software in medicine not widely established yet Some subareas well covered Medical data processing more than just practice and patient management Preclinical research of microbiology and genetics as well as medical imaging ! Pool of existing free medical software 3 / 18 Profile of the envisaged user Focus on medicine not computers Unreasonable effort to install upstream programs No interest in administration Interest reduced onto free medical software Easy usage Security and confidence Native-language documentation and interface 4 / 18 Customising Debian Debian > 20000 packages Focus on medical subset of those packages Packaging and integrating other medical software Easy installation and configuration Maintaining a general infrastructure for medical users General overview about free medical software Propagate the idea of Free Software in medicine Completely integrated into Debian - no fork 5 / 18 Special applications 6 / 18 Basic ideas Do not make a separate distribution but make Debian fit for medical care No development of medical software - just smooth integration of third-party software Debian-Developer = missing link between upstream author and user 7 / 18 Debian - adaptable for any purpose? Developed by more than 1000 volunteers Flexible, not bound on commercial interest Strict rules (policy) glue all things together Common interest of each individual developer: Get the best operating system for himself. Some developers work in the field of medicine In contrast to employees of companies every single Debian developer has the freedom and ability to realize his vision Every developer is able to influence the development of Debian - he just has to do it.
    [Show full text]
  • Parallel MPI I/O in Cube: Design & Implementation
    Parallel MPI I/O in Cube: Design & Implementation Bine Brank A master thesis presented for the degree of M.Sc. Computer Simulation in Science Supervisors: Prof. Dr. Norbert Eicker Dr. Pavel Saviankou Bergische Universit¨atWuppertal in cooperation with Forschungszentrum J¨ulich September, 2018 Erkl¨arung Ich versichere, dass ich die Arbeit selbstst¨andigverfasst und keine anderen als die angegebenen Quellen und Hilfsmittel benutzt sowie Zitate kenntlich gemacht habe. Mit Abgabe der Abschlussarbeit erkenne ich an, dass die Arbeit durch Dritte eingesehen und unter Wahrung urheberrechtlicher Grunds¨atzezi- tiert werden darf. Ferner stimme ich zu, dass die Arbeit durch das Fachgebiet an Dritte zur Einsichtnahme herausgegeben werden darf. Wuppertal, 27.8.2017 Bine Brank 1 Acknowledgements Foremost, I would like to express my deepest and sincere gratitude to Dr. Pavel Saviankou. Not only did he introduce me to this interesting topic, but his way of guiding and supporting me was beyond anything I could ever hoped for. Always happy to discuss ideas and answer any of my questions, he has truly set an example of excellence as a researcher, mentor and a friend. In addition, I would like to thank Prof. Dr. Norbert Eicker for agreeing to supervise my thesis. I am very thankful for all remarks, corrections and help that he provided. I would also like to thank Ilya Zhukov for helping me with the correct in- stallation/configuration of the CP2K software. 2 Contents 1 Introduction 7 2 HPC ecosystem 8 2.1 Origins of HPC . 8 2.2 Parallel programming . 9 2.3 Automatic performance analysis . 10 2.4 Tools .
    [Show full text]