Introduction to serial HDF5
|
|
- Clement French
- 5 years ago
- Views:
Transcription
1 Introduction to serial HDF Matthieu Haefele Saclay, - March 201, Parallel filesystems and parallel IO libraries PATC@MdS Matthieu Haefele
2 Training outline Day 1: AM: Serial HDF (M. Haefele) PM: Parallel IO and parallel HDF (M. Haefele) Day 2: AM 1: Luster file TGCC (T. Leibovici) AM 2 + PM: XIOS (M-H. Nguyen) Please do not forget to fill the evaluation form at
3 Outline Day 1 Morning: HDF in the context of Input/Output (IO) HDF Application Programming Interface (API) Playing with Dataspace Hands on session Afternoon: Parallel IO issues & concepts Basic concepts of MPI-IO Parallel HDF Hands on session
4 IO in a nustshell Doing Input / Output is about TRANSPORTING Data stored in memory to / from Data stored on disk
5 IO in a nustshell Three criteria / metrics to balance Code development / maintenance time Performance Post-processing requirement
6 Hardware/Software stack Application Data structures High level I/O library I/O library Standard library System Hardware Operating system File system Hard drive
7 High level I/O libraries The purpose of high level I/O libraries is to provide the developer a higher level of abstraction to manipulate computational modeling objects Meshes of various complexity (rectilinear, curvilinear, unstructured... ) Discretized functions on such meshes Materials... Until now, these libraries are mainly used in the context of visualization
8 Existing libraries Silo Wide range of objects Built on top of HDF Native format for VisIt Exodus Focused on unstructured meshes and finite element representations Built on top of NetCDF Famous/intensively used codes output format extensible Data Model and Format (XDMF) XIOS (XML IO Server)
9 I/O libraries Purpose of I/O libraries: Efficient I/O Portable binary files Higher level of abstraction for the developer Two main existing libraries: Hierarchical Data Format: HDF Network Common Data Form: NetCDF
10 HDF library HDF file: HDF group: a grouping structure containing instances of zero or more groups or datasets HDF dataset: a multidimensional array of data elements HDF dataset multidimensional array: Name Datatype (Atomic, NATIVE, Compound) Dataspace (rank, sizes, max sizes) Storage layout (contiguous, compact, chunked)
11 HDF High Level APIs Dimension Scale (HDS): Enables to attach dataset dimension to scales Lite (HLT): Enables to write simple dataset in one call Image (HIM): Enables to write images in one call Table (HTB): Hides the compound types needed for writing tables Packet Table (HPT): Almost HTB but without record insertion/deletion but supports variable length records...
12 HDF low level API HF: File manipulation routines HG: Group manipulation routines HS: Dataspace manipulation routines HD: Dataset manipulation routines... Just have a look at the outstanding on-line reference manual for HDF!
13 C order versus Fortran order /* C language */ #define NX #define NY int x,y; int f[ny][nx]; for (y=0;y<ny;y++) for (x=0;x<nx;x++) f[y][x] = x+y;! Fortran language integer, parameter :: NX= integer, parameter :: NY= integer :: x,y integer, dimension(nx,ny) :: f do y=1,ny do x=1,nx f(x,y) = (x-1) + (y-1) enddo enddo The memory mapping is identical, the language semantic is different!!
14 HDF first example #define NX #define NY # define RANK 2 i n t main ( void ) { h i d t f i l e, dataset, dataspace ; h s i z e t dimsf [ 2 ] ; h e r r t s t a t u s ; i n t data [NY ] [ NX ] ; i n i t ( data ) ; f i l e = HFcreate ( example. h, HF ACC TRUNC, HP DEFAULT, \ HP DEFAULT ) ; dimsf [ 0 ] = NY; dimsf [ 1 ] = NX;
15 HDF first example cont. dataspace = HScreate simple (RANK, dimsf, NULL ) ; dataset = HDcreate ( f i l e, I n t A r r a y, HT NATIVE INT, \ dataspace, HP DEFAULT, HP DEFAULT, HP DEFAULT ) ; s t a t u s = HDwrite ( dataset, HT NATIVE INT, HS ALL, \ HS ALL, HP DEFAULT, data ) ; HSclose ( dataspace ) ; HDclose ( dataset ) ; HFclose ( f i l e ) ; } return 0;
16 HDF high level example cont. s t a t u s = HLTmake dataset int ( f i l e, I n t A r r a y, RANK, dimsf, data ) ; HFclose ( f i l e ) ; return 0; }
17 Variable C type h i d t f i l e, dataset, dataspace ; h s i z e t dimsf [ 2 ] ; h e r r t s t a t u s ; hid t: handler for any HDF objects (file, groups, dataset, dataspace, datatypes... ) hsize t: C type used for number of elements of a dataset (in each dimension) herr t: C type used for getting error status of HDF functions
18 File creation f i l e = HFcreate ( example. h, HF ACC TRUNC, HP DEFAULT, \ HP DEFAULT ) ; example.h : file name HF ACC TRUNC: File creation and suppress it if it exists already HP DEFAULT: file creation property list HP DEFAULT: file access property list (needed for MPI-IO)
19 Dataspace creation dimsf [ 0 ] = NY; dimsf [ 1 ] = NX; dataspace = HScreate simple (RANK, dimsf, NULL ) ; RANK: dataset dimensionality dimsf: size of the dataspace in each dimension NULL: specify max size of the dataset being fixed to the size
20 Dataset creation dataset = HDcreate ( f i l e, I n t A r r a y, HT NATIVE INT, \ dataspace, HP DEFAULT, HP DEFAULT, HP DEFAULT ) ; file: HDF objects where to create the dataset. Should be a file or a group. IntArray : dataset name HT NATIVE INT: type of the data the dataset will contain dataspace: size of the dataset HP DEFAULT: default option for property list.
21 Datatype Predefined Datatypes: created by HDF. Derived Datatypes: created or derived from the predefined data types. There are two types of predefined datatypes: STANDARD: They defined standard ways of representing data. Ex: HT IEEE F2BE means IEEE representation of 2 bit floating point number in big endian. NATIVE: Alias to standard data types according to the platform where the program is compiled. Ex: on an Intel based PC, HT NATIVE INT is aliased to the standard predefined type, HT STD 2LE.
22 Datatype cont. A data type can be: ATOMIC: cannot be decomposed into smaller data type units at the API level. Ex: integer COMPOSITE: An aggregation of one or more data types. Ex: compound data type, array, enumeration
23 Dataset writing s t a t u s = HDwrite ( dataset, HT NATIVE INT, HS ALL, \ HS ALL, HP DEFAULT, data ) ; dataset: HDF objects representing the dataset to write HT NATIVE INT: Type of the data in memory HS ALL: dataspace specifying the portion of memory that needs be read (in order to be written) HS ALL: dataspace specifying the portion of the file dataset that needs to be written HP DEFAULT: default option for property list (needed for MPI-IO). data: buffer containing the data to write
24 Closing HDF objects HSclose ( dataspace ) ; HDclose ( dataset ) ; HFclose ( f i l e ) ; Opened/created HDF objects are closed.
25 Some comments s t a t u s = HLTmake dataset int ( f i l e, I n t A r r a y, RANK, dimsf, data ) ; HFclose ( f i l e ) ; } return 0; This example is almost a fwrite, but: The generated file is portable The generated file can be accessed with HDF tools Attributes can be added on datasets or groups The type of the data can be fixed The storage layout can be modified Portion of the dataset can be written... Matthieu Haefele
26 Concept of start, stride, count block Considering a n-dimensional array, start, stride, count and block are arrays of size n that describe a subset of the original array start: Starting location for the hyperslab (default 0) stride: The number of elements to separate each element or block to be selected (default 1) count: The number of elements or blocks to select along each dimension block: The size of the block (default 1)
27 Conventions for the examples We consider: A 2D array f [N y ][N x ] with N x =, N y = Dimension x is the dimension contiguous in memory Graphically, the x dimension is represented horizontal Language C convention is used for indexing the dimensions Dimension y is index=0 Dimension x is index=1
28 Graphical representation Dimension x Dimension y Memory order i n t s t a r t [ 2 ], s t r i d e [ 2 ], count [ 2 ], block [ 2 ] ; s t a r t [ 0 ] = 0; s t a r t [ 1 ] = 0; s t r i d e [ 0 ] = 1; s t r i d e [ 1 ] = 1; block [ 0 ] = 1; block [ 1 ] = 1; Matthieu Haefele
29 Illustration for count parameter Dimension y Dimension x y=0 y=1 y= count [ 0 ] = ; count [ 1 ] = ;
30 Illustration for start parameter Dimension y Dimension x y=0 y=1 y=2 s t a r t [ 0 ] = 1; s t a r t [ 1 ] = 2; count [ 0 ] = ; count [ 1 ] = ;
31 Illustration for stride parameter Dimension y Dimension x y=0 y=1 y=2 s t a r t [ 0 ] = 1; s t a r t [ 1 ] = 2; count [ 0 ] = ; count [ 1 ] = ; s t r i d e [ 0 ] = ; s t r i d e [ 1 ] = 1;
32 Illustration for stride parameter Dimension y Dimension x y=0 y=1 y=2 s t a r t [ 0 ] = 1; s t a r t [ 1 ] = 2; count [ 0 ] = ; count [ 1 ] = 2; s t r i d e [ 0 ] = ; s t r i d e [ 1 ] = ;
33 Illustration for block parameter Dimension x Dimension y y=0 y=1 y=2 y= y= y= s t a r t [ 0 ] = 1; s t a r t [ 1 ] = 2; count [ 0 ] = ; count [ 1 ] = 2; s t r i d e [ 0 ] = ; s t r i d e [ 1 ] = ; block [ 0 ] = 2; block [ 1 ] = 2; Matthieu Haefele
34 Exercise 1 Please draw the elements selected by the start, stride, count, block set below Dimension x Dimension y s t a r t [ 0 ] = 2; s t a r t [ 1 ] = 1; count [ 0 ] = ; count [ 1 ] = ; Matthieu Haefele
35 Solution 1 Dimension x Dimension y s t a r t [ 0 ] = 2; s t a r t [ 1 ] = 1; count [ 0 ] = ; count [ 1 ] = ;
36 Exercise 2 Please draw the elements selected by the start, stride, count, block set below Dimension x Dimension y s t a r t [ 0 ] = 2; s t a r t [ 1 ] = 1; count [ 0 ] = 1; count [ 1 ] = 1; block [ 0 ] = ; block [ 1 ] = ; Matthieu Haefele
37 Solution 2 Dimension x Dimension y s t a r t [ 0 ] = 2; s t a r t [ 1 ] = 1; count [ 0 ] = 1; count [ 1 ] = 1; block [ 0 ] = ; block [ 1 ] = ;
38 Exercise Please draw the elements selected by the start, stride, count, block set below Dimension x Dimension y s t a r t [ 0 ] = 2; s t a r t [ 1 ] = 1; count [ 0 ] = ; count [ 1 ] = 2; s t r i d e [ 0 ] = 2; s t r i d e [ 1 ] = 2; Matthieu Haefele
39 Solution Dimension x Dimension y s t a r t [ 0 ] = 2; s t a r t [ 1 ] = 1; count [ 0 ] = ; count [ 1 ] = 2; s t r i d e [ 0 ] = 2; s t r i d e [ 1 ] = 2; block [ 0 ] = 2; block [ 1 ] = 2; Matthieu Haefele
40 What is a dataspace? Dataspace Objects Null dataspaces Scalar dataspaces Simple dataspaces rank or number of dimensions current size maximum size (can be unlimited) Dataspaces come into play: for performing partial IO to describe the shape of HDF dataset
41 What is a dataspace for? Figure : Access a sub-set of data with a hyperslab 1 Figure : Build complex regions with hyperslab unions 1 1 Figures taken from HDF website Matthieu Haefele
42 What is a dataspace for? Figure : Use hyper-slabs to gather or scatter data 2 2 Figures taken from HDF website Matthieu Haefele
43 How to play with dataspaces h i d t space id ; h s i z e t dims [ 2 ], s t a r t [ 2 ], count [ 2 ] ; h s i z e t s t r i d e =NULL, block=null ; dims [ 0 ] = ny ; dims [ 1 ] = nx ; s t a r t [ 0 ] = 2; s t a r t [ 1 ] = 1; count [ 0 ] = ; count [ 1 ] = ; space id = HScreate simple ( 2, dims, NULL ) ; s t a t u s = HSselect hyperslab ( space id, HS SELECT SET, s t a r t, \ s t r i d e, count, block ) ;
44 How to play with dataspaces space id is modified by HSselect hyperslab, so it must exist start, stride, count, block arrays must be at least the same size as the rank of space id dataspace HS SELECT SET replaces the existing selection with the parameters from this call. Other operations : HS SELECT OR, AND, XOR, NOTB and NOTA stride, block arrays are considered as 1 if NULL is passed
45 Using dataspaces during a partial IO s t a t u s = HSselect hyperslab ( space id mem, HS SELECT SET, \ start mem, stride mem, count mem, block mem ) ; s t a t u s = HSselect hyperslab ( space id disk, HS SELECT SET, \ s t a r t d i s k, s t r i d e d i s k, count disk, b l o c k d i s k ) ; s t a t u s = HDwrite ( dataset, HT NATIVE INT, space id mem, \ space id disk, HP DEFAULT, data ) ; The two dataspace can describe non contiguous data and can be of different dimension But the number of elements must match
46 HDF command line tools HDF files are non ASCII files non human readable files Tools provided to manipulate and get information contained in HDF files Three main ones: hls, hdump, hdiff
47 Hands on HDF 1. git clone hands-on.git 2. cd HDF hands-on/hdf-1. Examine the source code, compile and run it. Examine the output file example.h with hls and hdump command line tools. Modify the program to write an additional dataset containing a D data of size Nx.Ny.Nz. Modify the program to write a single 2D slice of the D array instead of the whole array. Modify the program to write the previous 2D slice as an extension of the original 2D dataset
Introduction to HDF5
Introduction to parallel HDF Maison de la Simulation Saclay, 0-0 March 201, Parallel filesystems and parallel IO libraries PATC@MdS Evaluation form Please do not forget to fill the evaluation form at https://events.prace-ri.eu/event/30/evaluation/evaluate
More informationPost-processing issue, introduction to HDF5
Post-processing issue Introduction to HDF5 Matthieu Haefele High Level Support Team Max-Planck-Institut für Plasmaphysik, München, Germany Autrans, 26-30 Septembre 2011, École d été Masse de données :
More informationParallel I/O CPS343. Spring Parallel and High Performance Computing. CPS343 (Parallel and HPC) Parallel I/O Spring / 22
Parallel I/O CPS343 Parallel and High Performance Computing Spring 2018 CPS343 (Parallel and HPC) Parallel I/O Spring 2018 1 / 22 Outline 1 Overview of parallel I/O I/O strategies 2 MPI I/O 3 Parallel
More informationHDF5: An Introduction. Adam Carter EPCC, The University of Edinburgh
HDF5: An Introduction Adam Carter EPCC, The University of Edinburgh What is HDF5? Hierarchical Data Format (version 5) From www.hdfgroup.org: HDF5 is a unique technology suite that makes possible the management
More informationParallel I/O and Portable Data Formats HDF5
Parallel I/O and Portable Data Formats HDF5 Sebastian Lührs s.luehrs@fz-juelich.de Jülich Supercomputing Centre Forschungszentrum Jülich GmbH Jülich, March 13th, 2018 Outline Introduction Structure of
More informationHierarchical Data Format 5:
Hierarchical Data Format 5: Giusy Muscianisi g.muscianisi@cineca.it SuperComputing Applications and Innovation Department May 17th, 2013 Outline What is HDF5? Overview to HDF5 Data Model and File Structure
More informationCOSC 6374 Parallel Computation. Scientific Data Libraries. Edgar Gabriel Fall Motivation
COSC 6374 Parallel Computation Scientific Data Libraries Edgar Gabriel Fall 2013 Motivation MPI I/O is good It knows about data types (=> data conversion) It can optimize various access patterns in applications
More informationParallel I/O and Portable Data Formats
Parallel I/O and Portable Data Formats Sebastian Lührs s.luehrs@fz-juelich.de Jülich Supercomputing Centre Forschungszentrum Jülich GmbH Reykjavík, August 25 th, 2017 Overview I/O can be the main bottleneck
More informationHDF5 User s Guide. HDF5 Release November
HDF5 User s Guide HDF5 Release 1.8.8 November 2011 http://www.hdfgroup.org Copyright Notice and License Terms for HDF5 (Hierarchical Data Format 5) Software Library and Utilities HDF5 (Hierarchical Data
More informationParallel HDF5 (PHDF5)
Parallel HDF5 (PHDF5) Giusy Muscianisi g.muscianisi@cineca.it SuperComputing Applications and Innovation Department May 17th, 2013 Outline Overview of Parallel HDF5 design Programming model for Creating
More informationHDF5: theory & practice
HDF5: theory & practice Giorgio Amati SCAI Dept. 15/16 May 2014 Agenda HDF5: main issues Using the API (serial) Using the API (parallel) Tools Some comments PHDF5 Initial Target Support for MPI programming
More informationIntroduction to HDF5
The HDF Group Introduction to HDF5 Quincey Koziol Director of Core Software & HPC The HDF Group October 15, 2014 Blue Waters Advanced User Workshop 1 Why HDF5? Have you ever asked yourself: How will I
More informationCaching and Buffering in HDF5
Caching and Buffering in HDF5 September 9, 2008 SPEEDUP Workshop - HDF5 Tutorial 1 Software stack Life cycle: What happens to data when it is transferred from application buffer to HDF5 file and from HDF5
More informationPackage rhdf5. April 5, 2014
Package rhdf5 April 5, 2014 Type Package Title HDF5 interface to R Version 2.6.0 Author, Gregoire Pau Maintainer This R/Bioconductor package provides an interface between HDF5 and
More informationHDF- A Suitable Scientific Data Format for Satellite Data Products
HDF- A Suitable Scientific Data Format for Satellite Data Products Sk. Sazid Mahammad, Debajyoti Dhar and R. Ramakrishnan Data Products Software Division Space Applications Centre, ISRO, Ahmedabad 380
More informationParallel IO concepts (MPI-IO and phdf5)
Parallel IO concepts (MPI-IO and phdf5) Matthieu Haefele Saclay, 6-7 March 2017, Parallel filesystems and parallel IO libraries PATC@MdS Matthieu Haefele Outline Day 1 Morning: HDF5 in the context of Input/Output
More informationIntroduction to HDF5
Introduction to HDF5 Dr. Shelley L. Knuth Research Computing, CU-Boulder December 11, 2014 h/p://researchcompu7ng.github.io/meetup_fall_2014/ Download data used today from: h/p://neondataskills.org/hdf5/exploring-
More informationWhat NetCDF users should know about HDF5?
What NetCDF users should know about HDF5? Elena Pourmal The HDF Group July 20, 2007 7/23/07 1 Outline The HDF Group and HDF software HDF5 Data Model Using HDF5 tools to work with NetCDF-4 programs files
More informationThe HDF Group. Parallel HDF5. Extreme Scale Computing Argonne.
The HDF Group Parallel HDF5 Advantage of Parallel HDF5 Recent success story Trillion particle simulation on hopper @ NERSC 120,000 cores 30TB file 23GB/sec average speed with 35GB/sec peaks (out of 40GB/sec
More informationDRAFT. HDF5 Data Flow Pipeline for H5Dread. 1 Introduction. 2 Examples
This document describes the HDF5 library s data movement and processing activities when H5Dread is called for a dataset with chunked storage. The document provides an overview of how memory management,
More informationRFC: HDF5 Virtual Dataset
RFC: HDF5 Virtual Dataset Quincey Koziol (koziol@hdfgroup.org) Elena Pourmal (epourmal@hdfgroup.org) Neil Fortner (nfortne2@hdfgroup.org) This document introduces Virtual Datasets (VDS) for HDF5 and summarizes
More informationHDF5 I/O Performance. HDF and HDF-EOS Workshop VI December 5, 2002
HDF5 I/O Performance HDF and HDF-EOS Workshop VI December 5, 2002 1 Goal of this talk Give an overview of the HDF5 Library tuning knobs for sequential and parallel performance 2 Challenging task HDF5 Library
More informationParallel I/O and Portable Data Formats I/O strategies
Parallel I/O and Portable Data Formats I/O strategies Sebastian Lührs s.luehrs@fz-juelich.de Jülich Supercomputing Centre Forschungszentrum Jülich GmbH Jülich, March 13 th, 2017 Outline Common I/O strategies
More informationThe HDF Group. Parallel HDF5. Quincey Koziol Director of Core Software & HPC The HDF Group.
The HDF Group Parallel HDF5 Quincey Koziol Director of Core Software & HPC The HDF Group Parallel HDF5 Success Story Recent success story Trillion particle simulation on hopper @ NERSC 120,000 cores 30TB
More informationAdapting Software to NetCDF's Enhanced Data Model
Adapting Software to NetCDF's Enhanced Data Model Russ Rew UCAR Unidata EGU, May 2010 Overview Background What is netcdf? What is the netcdf classic data model? What is the netcdf enhanced data model?
More informationIntroduction to I/O at CHPC
CENTER FOR HIGH PERFORMANCE COMPUTING Introduction to I/O at CHPC Martin Čuma, m.cumautah.edu Center for High Performance Computing Fall 2015 Outline Types of storage available at CHPC Types of file I/O
More informationTypes II. Hwansoo Han
Types II Hwansoo Han Arrays Most common and important composite data types Homogeneous elements, unlike records Fortran77 requires element type be scalar Elements can be any type (Fortran90, etc.) A mapping
More informationParallel I/O Libraries and Techniques
Parallel I/O Libraries and Techniques Mark Howison User Services & Support I/O for scientifc data I/O is commonly used by scientific applications to: Store numerical output from simulations Load initial
More informationECSS Project: Prof. Bodony: CFD, Aeroacoustics
ECSS Project: Prof. Bodony: CFD, Aeroacoustics Robert McLay The Texas Advanced Computing Center June 19, 2012 ECSS Project: Bodony Aeroacoustics Program Program s name is RocfloCM It is mixture of Fortran
More informationParallel I/O from a User s Perspective
Parallel I/O from a User s Perspective HPC Advisory Council Stanford University, Dec. 6, 2011 Katie Antypas Group Leader, NERSC User Services NERSC is DOE in HPC Production Computing Facility NERSC computing
More informationNtuple: Tabular Data in HDF5 with C++ Chris Green and Marc Paterno HDF5 Webinar,
Ntuple: Tabular Data in HDF5 with C++ Chris Green and Marc Paterno HDF5 Webinar, 2019-01-24 Origin and motivation Particle physics analysis often involves the creation of Ntuples, tables of (usually complicated)
More informationUsing HDF5 for Scientific Data Analysis. NERSC Visualization Group
Using HDF5 for Scientific Data Analysis NERSC Visualization Group Before We Get Started Glossary of Terms Data - The raw information expressed in numerical form Metadata - Ancillary information about your
More informationrhdf5 - HDF5 interface for R
Bernd Fischer October 30, 2017 Contents 1 Introduction 1 2 Installation of the HDF5 package 2 3 High level R -HDF5 functions 2 31 Creating an HDF5 file and group hierarchy 2 32 Writing and reading objects
More information7C.2 EXPERIENCE WITH AN ENHANCED NETCDF DATA MODEL AND INTERFACE FOR SCIENTIFIC DATA ACCESS. Edward Hartnett*, and R. K. Rew UCAR, Boulder, CO
7C.2 EXPERIENCE WITH AN ENHANCED NETCDF DATA MODEL AND INTERFACE FOR SCIENTIFIC DATA ACCESS Edward Hartnett*, and R. K. Rew UCAR, Boulder, CO 1 INTRODUCTION TO NETCDF AND THE NETCDF-4 PROJECT The purpose
More informationParallel I/O and Portable Data Formats PnetCDF and NetCDF 4
Parallel I/O and Portable Data Formats PnetDF and NetDF 4 Sebastian Lührs s.luehrs@fz-juelich.de Jülich Supercomputing entre Forschungszentrum Jülich GmbH Jülich, March 13 th, 2017 Outline Introduction
More informationh5perf_serial, a Serial File System Benchmarking Tool
h5perf_serial, a Serial File System Benchmarking Tool The HDF Group April, 2009 HDF5 users have reported the need to perform serial benchmarking on systems without an MPI environment. The parallel benchmarking
More informationPERFORMANCE OF PARALLEL IO ON LUSTRE AND GPFS
PERFORMANCE OF PARALLEL IO ON LUSTRE AND GPFS David Henty and Adrian Jackson (EPCC, The University of Edinburgh) Charles Moulinec and Vendel Szeremi (STFC, Daresbury Laboratory Outline Parallel IO problem
More informationNetCDF-4: : Software Implementing an Enhanced Data Model for the Geosciences
NetCDF-4: : Software Implementing an Enhanced Data Model for the Geosciences Russ Rew, Ed Hartnett, and John Caron UCAR Unidata Program, Boulder 2006-01-31 Acknowledgments This work was supported by the
More informationHDF5 File Space Management. 1. Introduction
HDF5 File Space Management 1. Introduction The space within an HDF5 file is called its file space. When a user first creates an HDF5 file, the HDF5 library immediately allocates space to store information
More informationFundamentals of Programming Languages. Data Types Lecture 07 sl. dr. ing. Ciprian-Bogdan Chirila
Fundamentals of Programming Languages Data Types Lecture 07 sl. dr. ing. Ciprian-Bogdan Chirila Predefined types Programmer defined types Scalar types Structured data types Cartesian product Finite projection
More informationEMsoft HDF Routines. March 14, Introductory comments 2
EMsoft HDF Routines March 14, 2017 Table of Contents 1 Introductory comments 2 2 The HDFsupport.f90 Module 2 2.1 Push-pop stack............................................ 2 2.2 Initializing the fortran
More informationChapter 8 :: Composite Types
Chapter 8 :: Composite Types Programming Language Pragmatics, Fourth Edition Michael L. Scott Copyright 2016 Elsevier 1 Chapter08_Composite_Types_4e - Tue November 21, 2017 Records (Structures) and Variants
More informationDESY IT Seminar HDF5, Nexus, and what it is all about
DESY IT Seminar HDF5, Nexus, and what it is all about Eugen Wintersberger HDF5 and Nexus DESY IT, 27.05.2013 Why should we care about Nexus and HDF5? Current state: Data is stored either as ASCII file
More informationReusing this material
Derived Datatypes Reusing this material This work is licensed under a Creative Commons Attribution- NonCommercial-ShareAlike 4.0 International License. http://creativecommons.org/licenses/by-nc-sa/4.0/deed.en_us
More informationA FRAMEWORK ARCHITECTURE FOR SHARED FILE POINTER OPERATIONS IN OPEN MPI
A FRAMEWORK ARCHITECTURE FOR SHARED FILE POINTER OPERATIONS IN OPEN MPI A Thesis Presented to the Faculty of the Department of Computer Science University of Houston In Partial Fulfillment of the Requirements
More informationIndex. object lifetimes, and ownership, use after change by an alias errors, use after drop errors, BTreeMap, 309
A Arithmetic operation floating-point arithmetic, 11 12 integer numbers, 9 11 Arrays, 97 copying, 59 60 creation, 48 elements, 48 empty arrays and vectors, 57 58 executable program, 49 expressions, 48
More informationParallel I/O Performance Study and Optimizations with HDF5, A Scientific Data Package
Parallel I/O Performance Study and Optimizations with HDF5, A Scientific Data Package MuQun Yang, Christian Chilan, Albert Cheng, Quincey Koziol, Mike Folk, Leon Arber The HDF Group Champaign, IL 61820
More informationCSC Advanced Scientific Computing, Fall Numpy
CSC 223 - Advanced Scientific Computing, Fall 2017 Numpy Numpy Numpy (Numerical Python) provides an interface, called an array, to operate on dense data buffers. Numpy arrays are at the core of most Python
More informationNew Features in HDF5. Why new features? September 9, 2008 SPEEDUP Workshop - HDF5 Tutorial
New Features in HDF5 September 9, 2008 SPEEDUP Workshop - HDF5 Tutorial 1 Why new features? September 9, 2008 SPEEDUP Workshop - HDF5 Tutorial 2 1 Why new features? HDF5 1.8.0 was released in February
More informationJHDF5 (HDF5 for Java) 14.12
JHDF5 (HDF5 for Java) 14.12 Introduction HDF5 is an efficient, well-documented, non-proprietary binary data format and library developed and maintained by the HDF Group. The library provided by the HDF
More informationObjectives. In this chapter, you will:
Objectives In this chapter, you will: Become familiar with functions, special symbols, and identifiers in C++ Explore simple data types Discover how a program evaluates arithmetic expressions Learn about
More informationIntroduction to scientific visualization with ParaView
Introduction to scientific visualization with ParaView Tijs de Kler SURFsara Visualization group Tijs.dekler@surfsara.nl (some slides courtesy of Robert Belleman, UvA) Outline Pipeline and data model (10
More informationCSC2/454 Programming Languages Design and Implementation Records and Arrays
CSC2/454 Programming Languages Design and Implementation Records and Arrays Sreepathi Pai November 6, 2017 URCS Outline Scalar and Composite Types Arrays Records and Variants Outline Scalar and Composite
More informationAdvanced Parallel Programming
Sebastian von Alfthan Jussi Enkovaara Pekka Manninen Advanced Parallel Programming February 15-17, 2016 PRACE Advanced Training Center CSC IT Center for Science Ltd, Finland All material (C) 2011-2016
More informationIntroduction to 3D Scientific Visualization. Training in Visualization for PRACE Summer of HPC 2013 Leon Kos, University of Ljubljana, Slovenia
Introduction to 3D Scientific Visualization Training in Visualization for PRACE Summer of HPC 2013 Leon Kos, University of Ljubljana, Slovenia Motto Few correctly put words is worth hundreds of images.
More informationDAP Data Model Specification DRAFT
DAP Data Model Specification DRAFT James Gallagher, Nathan Potter, Tom Sgouros Printed: November 6, 2004 Revision: 1.68 Contents 1 Introduction............................................ 3 1.1 Lexicographical
More informationParallel I/O. and split communicators. David Henty, Fiona Ried, Gavin J. Pringle
Parallel I/O and split communicators David Henty, Fiona Ried, Gavin J. Pringle Dr Gavin J. Pringle Applications Consultant gavin@epcc.ed.ac.uk +44 131 650 6709 4x4 array on 2x2 Process Grid Parallel IO
More informationCSCI 171 Chapter Outlines
Contents CSCI 171 Chapter 1 Overview... 2 CSCI 171 Chapter 2 Programming Components... 3 CSCI 171 Chapter 3 (Sections 1 4) Selection Structures... 5 CSCI 171 Chapter 3 (Sections 5 & 6) Iteration Structures
More informationType Checking. Prof. James L. Frankel Harvard University
Type Checking Prof. James L. Frankel Harvard University Version of 7:10 PM 27-Feb-2018 Copyright 2018, 2016, 2015 James L. Frankel. All rights reserved. C Types C Types Type Category Type Category Type
More informationThe netcdf- 4 data model and format. Russ Rew, UCAR Unidata NetCDF Workshop 25 October 2012
The netcdf- 4 data model and format Russ Rew, UCAR Unidata NetCDF Workshop 25 October 2012 NetCDF data models, formats, APIs Data models for scienbfic data and metadata - classic: simplest model - - dimensions,
More informationI/O in scientific applications
COSC 4397 Parallel I/O (II) Access patterns Spring 2010 I/O in scientific applications Different classes of I/O operations Required I/O: reading input data and writing final results Checkpointing: data
More informationProgramming Fundamentals - A Modular Structured Approach using C++ By: Kenneth Leroy Busbee
1 0 1 0 Foundation Topics 1 0 Chapter 1 - Introduction to Programming 1 1 Systems Development Life Cycle N/A N/A N/A N/A N/A N/A 1-8 12-13 1 2 Bloodshed Dev-C++ 5 Compiler/IDE N/A N/A N/A N/A N/A N/A N/A
More informationOptimization of MPI Applications Rolf Rabenseifner
Optimization of MPI Applications Rolf Rabenseifner University of Stuttgart High-Performance Computing-Center Stuttgart (HLRS) www.hlrs.de Optimization of MPI Applications Slide 1 Optimization and Standardization
More informationA Parallel API for Creating and Reading NetCDF Files
A Parallel API for Creating and Reading NetCDF Files January 4, 2015 Abstract Scientists recognize the importance of portable and efficient mechanisms for storing datasets created and used by their applications.
More informationSciSpark 201. Searching for MCCs
SciSpark 201 Searching for MCCs Agenda for 201: Access your SciSpark & Notebook VM (personal sandbox) Quick recap. of SciSpark Project What is Spark? SciSpark Extensions scitensor: N-dimensional arrays
More information20762B: DEVELOPING SQL DATABASES
ABOUT THIS COURSE This five day instructor-led course provides students with the knowledge and skills to develop a Microsoft SQL Server 2016 database. The course focuses on teaching individuals how to
More informationAccessing Arbitrary Hierarchical Data
D.G.Muir February 2010 Accessing Arbitrary Hierarchical Data Accessing experimental data is relatively straightforward when data are regular and can be modelled using fixed size arrays of an atomic data
More information0. Overview of this standard Design entities and configurations... 5
Contents 0. Overview of this standard... 1 0.1 Intent and scope of this standard... 1 0.2 Structure and terminology of this standard... 1 0.2.1 Syntactic description... 2 0.2.2 Semantic description...
More informationHDF5 C++ User s Notes
HDF5 C++ User s Notes This User s Note provides an overview of the structure, the availability, and the limitations of the C++ API of HDF5. It lists the classes and member functions included in the API
More informationThese notes are designed to provide an introductory-level knowledge appropriate to understanding the basics of digital data formats.
A brief guide to binary data Mike Sandiford, March 2001 These notes are designed to provide an introductory-level knowledge appropriate to understanding the basics of digital data formats. The problem
More informationMicrosoft. [MS20762]: Developing SQL Databases
[MS20762]: Developing SQL Databases Length : 5 Days Audience(s) : IT Professionals Level : 300 Technology : Microsoft SQL Server Delivery Method : Instructor-led (Classroom) Course Overview This five-day
More informationIntroduction to Computers and C++ Programming p. 1 Computer Systems p. 2 Hardware p. 2 Software p. 7 High-Level Languages p. 8 Compilers p.
Introduction to Computers and C++ Programming p. 1 Computer Systems p. 2 Hardware p. 2 Software p. 7 High-Level Languages p. 8 Compilers p. 9 Self-Test Exercises p. 11 History Note p. 12 Programming and
More informationC for Engineers and Scientists: An Interpretive Approach. Chapter 10: Arrays
Chapter 10: Arrays 10.1 Declaration of Arrays 10.2 How arrays are stored in memory One dimensional (1D) array type name[expr]; type is a data type, e.g. int, char, float name is a valid identifier (cannot
More informationARMCI: A Portable Aggregate Remote Memory Copy Interface
ARMCI: A Portable Aggregate Remote Memory Copy Interface Motivation and Background Jarek Nieplocha and Jialin Ju Pacific Northwest National Laboratory March 25, 1999 A portable lightweight remote memory
More informationBenchmarking the CGNS I/O performance
46th AIAA Aerospace Sciences Meeting and Exhibit 7-10 January 2008, Reno, Nevada AIAA 2008-479 Benchmarking the CGNS I/O performance Thomas Hauser I. Introduction Linux clusters can provide a viable and
More informationAdvanced Message-Passing Interface (MPI)
Outline of the workshop 2 Advanced Message-Passing Interface (MPI) Bart Oldeman, Calcul Québec McGill HPC Bart.Oldeman@mcgill.ca Morning: Advanced MPI Revision More on Collectives More on Point-to-Point
More informationThe Designer's Guide to VHDL Second Edition
The Designer's Guide to VHDL Second Edition Peter J. Ashenden EDA CONSULTANT, ASHENDEN DESIGNS PTY. VISITING RESEARCH FELLOW, ADELAIDE UNIVERSITY Cl MORGAN KAUFMANN PUBLISHERS An Imprint of Elsevier SAN
More informationEmbedded Systems CS - ES
Embedded Systems - 1 - REVIEW Hardware/System description languages VDHL VHDL-AMS SystemC TLM - 2 - VHDL REVIEW Main goal was modeling of digital circuits Modelling at various levels of abstraction Technology-independent
More informationPreface... (vii) CHAPTER 1 INTRODUCTION TO COMPUTERS
Contents Preface... (vii) CHAPTER 1 INTRODUCTION TO COMPUTERS 1.1. INTRODUCTION TO COMPUTERS... 1 1.2. HISTORY OF C & C++... 3 1.3. DESIGN, DEVELOPMENT AND EXECUTION OF A PROGRAM... 3 1.4 TESTING OF PROGRAMS...
More informationProgram Abstractions, Language Paradigms. CS152. Chris Pollett. Aug. 27, 2008.
Program Abstractions, Language Paradigms. CS152. Chris Pollett. Aug. 27, 2008. Outline. Abstractions for telling a computer how to do things. Computational Paradigms. Language Definition, Translation.
More informationHDF Product Designer: A tool for building HDF5 containers with granule metadata
The HDF Group HDF Product Designer: A tool for building HDF5 containers with granule metadata Lindsay Powers Aleksandar Jelenak, Joe Lee, Ted Habermann The HDF Group Data Producer s Conundrum 2 HDF Features
More informationAdvanced Parallel Programming
Advanced Parallel Programming Derived Datatypes Dr Daniel Holmes Applications Consultant dholmes@epcc.ed.ac.uk Overview Lecture will cover derived datatypes memory layouts vector datatypes floating vs
More informationMPI: A Message-Passing Interface Standard
MPI: A Message-Passing Interface Standard Version 2.1 Message Passing Interface Forum June 23, 2008 Contents Acknowledgments xvl1 1 Introduction to MPI 1 1.1 Overview and Goals 1 1.2 Background of MPI-1.0
More informationAdvanced Parallel Programming
Advanced Parallel Programming Derived Datatypes Dr David Henty HPC Training and Support Manager d.henty@epcc.ed.ac.uk +44 131 650 5960 16/01/2014 MPI-IO 2: Derived Datatypes 2 Overview Lecture will cover
More informationIntroduction to NetCDF
Introduction to NetCDF NetCDF is a set of software libraries and machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data. First released in 1989.
More informationPage 1. Where Have We Been? Chapter 2 Representing and Manipulating Information. Why Don t Computers Use Base 10?
Where Have We Been? Class Introduction Great Realities of Computing Int s are not Integers, Float s are not Reals You must know assembly Memory Matters Performance! Asymptotic Complexity It s more than
More informationAutomatic Intra-Application Load Balancing for Heterogeneous Systems
Automatic Intra-Application Load Balancing for Heterogeneous Systems Michael Boyer, Shuai Che, and Kevin Skadron Department of Computer Science University of Virginia Jayanth Gummaraju and Nuwan Jayasena
More informationA flow chart is a graphical or symbolic representation of a process.
Q1. Define Algorithm with example? Answer:- A sequential solution of any program that written in human language, called algorithm. Algorithm is first step of the solution process, after the analysis of
More informationAPI and Usage of libhio on XC-40 Systems
API and Usage of libhio on XC-40 Systems May 24, 2018 Nathan Hjelm Cray Users Group May 24, 2018 Los Alamos National Laboratory LA-UR-18-24513 5/24/2018 1 Outline Background HIO Design HIO API HIO Configuration
More informationParallel Visualization, Data Formatting, Software Overview
Parallel Visualization, Data Formatting, Software Overview Sean Ahern Remote Data Analysis and Visualization Center Any opinions, findings, and conclusions or recommendations expressed in this material
More informationShort Term Courses (Including Project Work)
Short Term Courses (Including Project Work) Courses: 1.) Microcontrollers and Embedded C Programming (8051, PIC & ARM, includes a project on Robotics) 2.) DSP (Code Composer Studio & MATLAB, includes Embedded
More informationCPSC 3740 Programming Languages University of Lethbridge. Data Types
Data Types A data type defines a collection of data values and a set of predefined operations on those values Some languages allow user to define additional types Useful for error detection through type
More informationSlides prepared by : Farzana Rahman 1
Introduction to MPI 1 Background on MPI MPI - Message Passing Interface Library standard defined by a committee of vendors, implementers, and parallel programmers Used to create parallel programs based
More informationModel Viva Questions for Programming in C lab
Model Viva Questions for Programming in C lab Title of the Practical: Assignment to prepare general algorithms and flow chart. Q1: What is a flowchart? A1: A flowchart is a diagram that shows a continuous
More informationChapter 8 :: Subroutines and Control Abstraction. Final Test. Final Test Review Tomorrow
Chapter 8 :: Subroutines and Control Abstraction Programming Language Pragmatics Michael L. Scott Administrative Notes Final Test Thursday, August 3 2006 at 11:30am No lecture before or after the mid-term
More informationNetCDF and Scientific Data Durability. Russ Rew, UCAR Unidata ESIP Federation Summer Meeting
NetCDF and Scientific Data Durability Russ Rew, UCAR Unidata ESIP Federation Summer Meeting 2009-07-08 For preserving data, is format obsolescence a non-issue? Why do formats (and their access software)
More informationDesigning dashboards for performance. Reference deck
Designing dashboards for performance Reference deck Basic principles 1. Everything in moderation 2. If it isn t fast in database, it won t be fast in Tableau 3. If it isn t fast in desktop, it won t be
More information11. a b c d e. 12. a b c d e. 13. a b c d e. 14. a b c d e. 15. a b c d e
CS-3160 Concepts of Programming Languages Spring 2015 EXAM #1 (Chapters 1-6) Name: SCORES MC: /75 PROB #1: /15 PROB #2: /10 TOTAL: /100 Multiple Choice Responses Each multiple choice question in the separate
More informationDATA STRUCTURES CHAPTER 1
DATA STRUCTURES CHAPTER 1 FOUNDATIONAL OF DATA STRUCTURES This unit introduces some basic concepts that the student needs to be familiar with before attempting to develop any software. It describes data
More informationParallel NetCDF. Rob Latham Mathematics and Computer Science Division Argonne National Laboratory
Parallel NetCDF Rob Latham Mathematics and Computer Science Division Argonne National Laboratory robl@mcs.anl.gov I/O for Computational Science Application Application Parallel File System I/O Hardware
More information