Install your scientific software stack easily with Spack

Size: px
Start display at page:

Download "Install your scientific software stack easily with Spack"

Transcription

1 Install your scientific software stack easily with Spack Les mardis du développement technologique Florent Pruvost (SED)

2 Outline 1. Context 2. Features overview 3. In practice 4. Some feedback Florent Pruvost (SED) Install your scientific software stack easily with Spack 2

3 1Context Florent Pruvost (SED) Install your scientific software stack easily with Spack 3

4 A scientific software stack modular, several languages, different build systems Application Linear Algebra Optimized Kernels Graph Processing Runtime Systems Paradigms Miscellaneous difficulty to be an expert in all the chain Florent Pruvost (SED) Install your scientific software stack easily with Spack 4

5 An example: Aerosol a finite elements library developed by the Inria teams Cagire and Cardamom Aerosol PaMPA PaStiX HDF5 XML2 PT-SCOTCH StarPU BLAS/LAPACK MPI CUDA Florent Pruvost (SED) Install your scientific software stack easily with Spack 5

6 Constraints R&D develop prototypes - test many different builds computing/data intensive application HPC environment - different machines, OSes, environments - remote connection, not administrator performances highly tuned installation - well chosen components - specific build options reproducibility - control the environment - characterize what influence the build Florent Pruvost (SED) Install your scientific software stack easily with Spack 6

7 Wish list a simple process to install a default version a flexible way to choose build variants - choose compiler, software versions - enable components, e.g. MPI : yes/no - build options, e.g. --enable-debug be able to install it on a remote machine (supercomputer) - no root permissions - no internet access (not necessarily) be able to reproduce experiments - not destructive installation - control the environment and thirdparty libraries Florent Pruvost (SED) Install your scientific software stack easily with Spack 7

8 Traditional tools: binary package managers dpkg (APT), RPM, pacman, etc designed to manage a single stack install one version of each package in a single prefix (/usr) - root permission required seamless upgrades to a stable, well tested stack Florent Pruvost (SED) Install your scientific software stack easily with Spack 8

9 Traditional tools: port systems BSD Ports, portage, Macports, Homebrew, Gentoo, etc minimal support for builds parameterized by compilers, dependency versions Florent Pruvost (SED) Install your scientific software stack easily with Spack 9

10 Traditional tools: virtual machines and Linux containers Docker, etc containers allow users to build environments for different applications does not solve the build problem (someone has to build the image) performance, security, and upgrade issues prevent widespread HPC deployment Florent Pruvost (SED) Install your scientific software stack easily with Spack 10

11 Tools designed for scientific applications a short list to focus on: Nix/Guix, Easybuild, Spack Common features: - build from sources - own directory structure - hash parametrized by versions, dependencies, etc - no need to be root to install packages - usefull available packages: MPI, BLAS/LAPACK, FFTW, etc Differences: - robustness VS. flexibility - maturity - languages and technical details Florent Pruvost (SED) Install your scientific software stack easily with Spack 11

12 Nix/Guix: functional languages (Guile) pros: cons: - very precise dependency tracking - cryptographic hashes determine the exact build and run-time dependencies - safe upgrade - nice for reproducibility - administrator rights required to install Nix/Guix - limited to opensource softwares: no Intel, CUDA - deal with combinatorial builds? - multi-compiler and version support? - virtual dependency? - syntax for parametrization? Florent Pruvost (SED) Install your scientific software stack easily with Spack 12

13 Easybuild: Python pros: cons: - designed for installation on HPC systems - support for proprietary software like Intel and CUDA - can reuse what is already installed, cf. dummy toolchain - cannot deal with combinatorial builds - requires a file per configuration of a stack - limited command line interface Florent Pruvost (SED) Install your scientific software stack easily with Spack 13

14 Spack: Python 2 pros: cons: - deals with combinatorial builds - a couple of packages = thousands of builds available - nice command line syntax to tune the stack parameters - can reuse what is already installed, cf. config. files - no need to be root - no need to have internet access if tarballs are available locally - Spack is currently alpha software (young project) - package parameters changed a lot - new nice features = re-write packages - all parameters that affect a build are not controlled internally (external compilers and libraries) = all builds are not safe Florent Pruvost (SED) Install your scientific software stack easily with Spack 14

15 2Features overview Florent Pruvost (SED) Install your scientific software stack easily with Spack 15

16 Overview object-oriented Python 2 Unix systems - Windows is not an OS for HPC 500 available packages opensource, opencommunity (github - pull request) - Feb 10, Today - mainly developed by T. Gamblin and friends from LLNL - 95 contributors, 154 forks - 1 release every 6 months Florent Pruvost (SED) Install your scientific software stack easily with Spack 16

17 Overview Florent Pruvost (SED) Install your scientific software stack easily with Spack 16

18 Handles combinatorial software complexity each unique dependency graph is a unique configuration each configuration installed in a unique directory hash of DAG is appended to prefix installed packages automatically find dependencies - Spack embeds RPATHs in binaries (compiler wrappers) - no need to use modules or set LD LIBRARY PATH - things work the way you built them Florent Pruvost (SED) Install your scientific software stack easily with Spack 17

19 Provides a spec syntax to describe customized DAG configurations each expression is a spec for a particular configuration - each clause adds a constraint to the spec - constraints are optional specify only what you need - customize install on the command line! syntax abstracts details in the common case - makes parameterization by version, compiler, and options easy when necessary Florent Pruvost (SED) Install your scientific software stack easily with Spack 18

20 Spack Specs can constrain versions of dependencies Spack ensures one configuration of each library per DAG - consistency - user does not need to know DAG structure; only the dependency names Spack can ensure that builds use the same compiler, or you can mix - working on ensuring ABI compatibility when compilers are mixed Florent Pruvost (SED) Install your scientific software stack easily with Spack 19

21 Spack handles API-incompatibility mpi is a virtual dependency install the same package built with two different MPI implementations: let Spack choose MPI version, as long as it provides MPI-2 interface: Florent Pruvost (SED) Install your scientific software stack easily with Spack 20

22 Spack packages are simple Python scripts Florent Pruvost (SED) Install your scientific software stack easily with Spack 21

23 Dependencies may be optional versions can be tarballs or VCS repositories (git, svn, hg) the user can define named variants: and use them to install: $ spack install hwloc +cuda $ spack install hwloc -cuda dependencies may be optional according to other conditions: - e.g. gcc dependency on mpc from 4.5 on: Florent Pruvost (SED) Install your scientific software stack easily with Spack 22

24 Concretization fills in missing configuration details when the user is not explicit Florent Pruvost (SED) Install your scientific software stack easily with Spack 23

25 Default behaviours is configurable configure your preferred: - compilers, versions, depends on, variants directly in the package, e.g. prefers Python or for specific machine/environment, edit /.spack/packages.yaml Florent Pruvost (SED) Install your scientific software stack easily with Spack 24

26 Spack builds in isolated environment forking build process isolates environment for each build compiler wrappers add include, lib, and RPATH flags - ensure that dependencies are found automatically Florent Pruvost (SED) Install your scientific software stack easily with Spack 25

27 3 In practice Florent Pruvost (SED) Install your scientific software stack easily with Spack 26

28 Setup entry point on github: read the doc, at least Getting started: $ sudo apt install python $ git clone $. spack/share/spack/setup-env.sh $ spack install gcc Florent Pruvost (SED) Install your scientific software stack easily with Spack 27

29 Check compilers check compilers found automatically $ spack compiler list information about a compiler $ spack compiler info gcc Florent Pruvost (SED) Install your scientific software stack easily with Spack 28

30 Configure compilers add compilers installed in some exotic paths $ spack compiler find /home/jdoe/intel/bin remove non desired compilers $ spack compiler rm clang compiler configuration can be edited by hand $ vi ~/.spack/compilers.yaml Florent Pruvost (SED) Install your scientific software stack easily with Spack 29

31 Install list available packages $ spack list information about a package $ spack info hwloc check the concrete stack to be installed $ spack spec hwloc install a package $ spack install [-v] hwloc Florent Pruvost (SED) Install your scientific software stack easily with Spack 30

32 Configure the software stack constrained spec providers of virtual packages Florent Pruvost (SED) Install your scientific software stack easily with Spack 31

33 Look for installed packages look for all installed packages $ spack find find all installed configuration of a package $ spack find [-d p] hwloc~cuda location of an installation $ spack find -p hwloc~cuda%gcc $ spack location -i hwloc~cuda%gcc Florent Pruvost (SED) Install your scientific software stack easily with Spack 32

34 Uninstall + Install = update there is no update feature new variants or dependencies re-build the stack uninstall + re-install = update for the poors! $ spack uninstall [-yad] hwloc~cuda%gcc $ spack install hwloc~cuda%gcc Florent Pruvost (SED) Install your scientific software stack easily with Spack 33

35 Spack on a supercomputer no internet access in an HPC environment need to download the sources $ spack mirror create -d./mirror/ hwloc $ tar cvf mirror.tar.gz mirror copy tarballs on the remote machine $ scp mirror.tar.gz plafrim: on the machine, add the mirror directory to the Spack mirrors $ ssh plafrim $ tar xvf mirror.tar.gz $ spack mirror add local file:///home/pruvost/mirror Florent Pruvost (SED) Install your scientific software stack easily with Spack 34

36 Spack on a supercomputer softwares installed externally can be used, edit /.spack/packages.yaml Florent Pruvost (SED) Install your scientific software stack easily with Spack 35

37 4Some feedback Florent Pruvost (SED) Install your scientific software stack easily with Spack 36

38 Spack is more and more used Spack strengths: - helpfull when dealing with combinatorial stacks - user-friendly and highly configurable - flexible enough for HPC needs Spack is used in production at LLNL - build, test, and deployment by code teams - tools, libraries, and Python at Livermore Computing - build research projects for students, postdocs Spack has a rapidly growing external community - users and contributors at NERSC, Argonne/IIT, EPFL, U. Oregon, Sandia, LANL - Kitware contributing ParaView builds & features - INRIA (HiePACS) using Spack to package their linear solvers Florent Pruvost (SED) Install your scientific software stack easily with Spack 37

39 Spack weaknesses Spack current version is It is currently alpha software. It will remain so until it hits v1.0 packages change a lot re-build often builds are not fully guaranted - external programs: compilers and libraries - the build environment is not fully isolated and controlled problem for reproducibility in practice: fail often on new clusters high combinatorial = difficult to test all builds high flexibility = possibility to consider different DAGs/variants for one software stack non convergence of stack definitions between research teams? Florent Pruvost (SED) Install your scientific software stack easily with Spack 38

40 Thank you ANY QUESTIONS?

Software stack deployment for Earth System Modelling using Spack

Software stack deployment for Earth System Modelling using Spack Software stack deployment for Earth System Modelling using Spack Kim Serradell Maronda (BSC) Sergey Kosukhin (MPI-M) The ESiWACE project has received funding from the European Union s Horizon 2020 research

More information

Vaango Installation Guide

Vaango Installation Guide Vaango Installation Guide Version Version 17.10 October 1, 2017 The Utah Vaango team and Biswajit Banerjee Copyright 2015-2017 Parresia Research Limited The contents of this manual can and will change

More information

The Spack Package Manager: Bringing Order to HPC Software Chaos

The Spack Package Manager: Bringing Order to HPC Software Chaos The Spack Package Manager: Bringing Order to HPC Software Chaos Todd Gamblin tgamblin@llnl.gov Adam Moody moody20@llnl.gov Matthew LeGendre legendre1@llnl.gov Michael R. Collette mcollette@llnl.gov Bronis

More information

Introduction to Monte Python

Introduction to Monte Python Introduction to Monte Python Benjamin Audren Institute of Theoretical Physics École Polytechnique Fédérale de Lausanne 16/05/2014 BA (EPFL) CLASS/MP Introduction MP 1 / 19 Outline 1 git, Github, and why

More information

Overview. What are community packages? Who installs what? How to compile and install? Setup at FSU RCC. Using RPMs vs regular install

Overview. What are community packages? Who installs what? How to compile and install? Setup at FSU RCC. Using RPMs vs regular install Overview What are community packages? Who installs what? How to compile and install? Setup at FSU RCC Dependency hell Where to install? Using RPMs vs regular install Getting RPMs How to build an RPM Automated

More information

swiftenv Documentation

swiftenv Documentation swiftenv Documentation Release 1.3.0 Kyle Fuller Sep 27, 2017 Contents 1 The User Guide 3 1.1 Installation................................................ 3 1.2 Getting Started..............................................

More information

Singularity CRI User Documentation

Singularity CRI User Documentation Singularity CRI User Documentation Release 1.0 Sylabs Apr 02, 2019 CONTENTS 1 Installation 1 1.1 Overview................................................. 1 1.2 Before you begin.............................................

More information

Linux in the nuclear industry

Linux in the nuclear industry Linux in the nuclear industry 19 Mars 2018 Mehdi DOGGUY EDF Who am I? 1 / 24 Who am I? 2006 : M1 Informatique, Paris 11 1 / 24 Who am I? 2006 : M1 Informatique, Paris 11 2007 : M2 MPRI, Paris 7 1 / 24

More information

SCITAS. Scientific IT and Application support unit at EPFL. created in February today : 5 system engineers + 6 application experts SCITAS

SCITAS. Scientific IT and Application support unit at EPFL. created in February today : 5 system engineers + 6 application experts SCITAS SCITAS Scientific IT and Application support unit at EPFL created in February 2014 today : 5 system engineers + 6 application experts SCITAS SCITAS activities responsible for the central EPFL computing

More information

Singularity: container formats

Singularity: container formats Singularity Easy to install and configure Easy to run/use: no daemons no root works with scheduling systems User outside container == user inside container Access to host resources Mount (parts of) filesystems

More information

Maintaining Large Software Stacks in a Cray Ecosystem with Gentoo Portage. Colin MacLean

Maintaining Large Software Stacks in a Cray Ecosystem with Gentoo Portage. Colin MacLean Maintaining Large Software Stacks in a Cray Ecosystem with Gentoo Portage Colin MacLean Large Software Stacks Most modules are, at most, a handful of packages Currently available tools ill-suited for large

More information

Presented By: Gregory M. Kurtzer HPC Systems Architect Lawrence Berkeley National Laboratory CONTAINERS IN HPC WITH SINGULARITY

Presented By: Gregory M. Kurtzer HPC Systems Architect Lawrence Berkeley National Laboratory CONTAINERS IN HPC WITH SINGULARITY Presented By: Gregory M. Kurtzer HPC Systems Architect Lawrence Berkeley National Laboratory gmkurtzer@lbl.gov CONTAINERS IN HPC WITH SINGULARITY A QUICK REVIEW OF THE LANDSCAPE Many types of virtualization

More information

Having Fun with Social Coding. Sean Handley. February 25, 2010

Having Fun with Social Coding. Sean Handley. February 25, 2010 Having Fun with Social Coding February 25, 2010 What is Github? GitHub is to collaborative coding, what Facebook is to social networking 1 It serves as a web front-end to open source projects by allowing

More information

Shifter: Fast and consistent HPC workflows using containers

Shifter: Fast and consistent HPC workflows using containers Shifter: Fast and consistent HPC workflows using containers CUG 2017, Redmond, Washington Lucas Benedicic, Felipe A. Cruz, Thomas C. Schulthess - CSCS May 11, 2017 Outline 1. Overview 2. Docker 3. Shifter

More information

Introduction to Containers. Martin Čuma Center for High Performance Computing University of Utah

Introduction to Containers. Martin Čuma Center for High Performance Computing University of Utah Introduction to Containers Martin Čuma Center for High Performance Computing University of Utah m.cuma@utah.edu Overview Why do we want to use containers? Containers basics Prepare your computer for containers

More information

Python ecosystem for scientific computing with ABINIT: challenges and opportunities. M. Giantomassi and the AbiPy group

Python ecosystem for scientific computing with ABINIT: challenges and opportunities. M. Giantomassi and the AbiPy group Python ecosystem for scientific computing with ABINIT: challenges and opportunities M. Giantomassi and the AbiPy group Frejus, May 9, 2017 Python package for: generating input files automatically post-processing

More information

Singularity: Containers for High-Performance Computing. Grigory Shamov Nov 21, 2017

Singularity: Containers for High-Performance Computing. Grigory Shamov Nov 21, 2017 Singularity: Containers for High-Performance Computing Grigory Shamov Nov 21, 2017 Outline Software and High Performance Computing: Installation/Maintenance of the HPC Software stack Why containers and

More information

TENSORRT 4.0 RELEASE CANDIDATE (RC)

TENSORRT 4.0 RELEASE CANDIDATE (RC) TENSORRT 4.0 RELEASE CANDIDATE (RC) DU-08731-001_v4.0 RC March 2018 Installation Guide TABLE OF CONTENTS Chapter 1. Overview... 1 Chapter 2. Getting Started... 2 Chapter 3. Downloading TensorRT...3 Chapter

More information

TENSORRT 3.0. DU _v3.0 February Installation Guide

TENSORRT 3.0. DU _v3.0 February Installation Guide TENSORRT 3.0 DU-08731-001_v3.0 February 2018 Installation Guide TABLE OF CONTENTS Chapter 1. Overview... 1 Chapter 2. Getting Started... 2 Chapter 3. Downloading TensorRT...4 Chapter 4. Installing TensorRT...

More information

Using EasyBuild and Continuous Integration for Deploying Scientific Applications on Large Scale Production Systems

Using EasyBuild and Continuous Integration for Deploying Scientific Applications on Large Scale Production Systems Using EasyBuild and Continuous Integration for Deploying Scientific Applications on Large HPC Advisory Council Swiss Conference Guilherme Peretti-Pezzi, CSCS April 11, 2017 Table of Contents 1. Introduction:

More information

My operating system is old but I don't care : I'm using NIX! B.Bzeznik BUX meeting, Vilnius 22/03/2016

My operating system is old but I don't care : I'm using NIX! B.Bzeznik BUX meeting, Vilnius 22/03/2016 My operating system is old but I don't care : I'm using NIX! B.Bzeznik BUX meeting, Vilnius 22/03/2016 CIMENT is the computing center of the University of Grenoble CIMENT computing platforms 132Tflops

More information

Red Hat Atomic Details Dockah, Dockah, Dockah! Containerization as a shift of paradigm for the GNU/Linux OS

Red Hat Atomic Details Dockah, Dockah, Dockah! Containerization as a shift of paradigm for the GNU/Linux OS Red Hat Atomic Details Dockah, Dockah, Dockah! Containerization as a shift of paradigm for the GNU/Linux OS Daniel Riek Sr. Director Systems Design & Engineering In the beginning there was Stow... and

More information

AASPI Software Structure

AASPI Software Structure AASPI Software Structure Introduction The AASPI software comprises a rich collection of seismic attribute generation, data conditioning, and multiattribute machine-learning analysis tools constructed by

More information

Git Workflows. Sylvain Bouveret, Grégory Mounié, Matthieu Moy

Git Workflows. Sylvain Bouveret, Grégory Mounié, Matthieu Moy s Sylvain Bouveret, Grégory Mounié, Matthieu Moy 2017 [first].[last]@imag.fr http://recherche.noiraudes.net/resources/git/git-workflow-slides.pdf 1 / 16 Goals of the presentation Global history: multiple

More information

NVIDIA CUDA INSTALLATION GUIDE FOR MAC OS X

NVIDIA CUDA INSTALLATION GUIDE FOR MAC OS X NVIDIA CUDA INSTALLATION GUIDE FOR MAC OS X DU-05348-001_v9.1 January 2018 Installation and Verification on Mac OS X TABLE OF CONTENTS Chapter 1. Introduction...1 1.1. System Requirements... 1 1.2. About

More information

e2 factory the emlix Embedded Build Framework

e2 factory the emlix Embedded Build Framework e2 factory the emlix Embedded Build Framework Agenda Motivation Basic Concepts Design and Implementation Working with e2 factory e2 factory Motivation Motivation Development Tools Source Code Management

More information

Stable Cray Support in EasyBuild 2.7. Petar Forai

Stable Cray Support in EasyBuild 2.7. Petar Forai Stable Cray Support in EasyBuild 2.7 Petar Forai 1 Major Areas of Interest Specific to Cray Support Version pinning in Cray toolchain to achieve reproducible builds New toolchain naming scheme that is

More information

National Aeronautics and Space and Administration Space Administration. CFE CMake Build System

National Aeronautics and Space and Administration Space Administration. CFE CMake Build System National Aeronautics and Space and Administration Space Administration CFE CMake Build System 1 1 Simplify integrating apps together CFS official Recycled from other projects Custom LC... SC HK A C B Z

More information

PowerShell-Module Documentation. Release docs

PowerShell-Module Documentation. Release docs PowerShell-Module Documentation Release docs December 29, 2016 User Documentation 1 Requirements 3 2 Installation 5 2.1 Option 1: Installer Script......................................... 5 2.2 Option

More information

Using git To Manage Your System's Configuration

Using git To Manage Your System's Configuration Roberto C. Sánchez Ohio LinuxFest Saturday, October 25, 2014 Overview About the presenter Use case Alternatives for managing system configuration git-based alternatives Selecting an approach Implementing

More information

XPDL: Extensible Platform Description Language to Support Energy Modeling and Optimization

XPDL: Extensible Platform Description Language to Support Energy Modeling and Optimization 1 / 25 XPDL: Extensible Platform Description Language to Support Energy Modeling and Optimization Christoph Kessler, Lu Li, Aras Atalar and Alin Dobre christoph.kessler@liu.se, lu.li@liu.se 2 / 25 Agenda

More information

Making Scientific Applications Portable: Software Containers and Package Managers

Making Scientific Applications Portable: Software Containers and Package Managers College of Saint Benedict and Saint John's University DigitalCommons@CSB/SJU All College Thesis Program, 2016-present Honors Program 4-2018 Making Scientific Applications Portable: Software Containers

More information

Dalton/LSDalton Installation Guide

Dalton/LSDalton Installation Guide Dalton/LSDalton Installation Guide Release 2016.0 Dalton/LSDalton developers October 13, 2016 Contents 1 Supported platforms and compilers 1 2 Basic installation 3 2.1 General..................................................

More information

CONTAINERIZING JOBS ON THE ACCRE CLUSTER WITH SINGULARITY

CONTAINERIZING JOBS ON THE ACCRE CLUSTER WITH SINGULARITY CONTAINERIZING JOBS ON THE ACCRE CLUSTER WITH SINGULARITY VIRTUAL MACHINE (VM) Uses so&ware to emulate an en/re computer, including both hardware and so&ware. Host Computer Virtual Machine Host Resources:

More information

Maintain the NetBSD Base System Using pkg * Tools

Maintain the NetBSD Base System Using pkg * Tools Maintain the NetBSD Base System Using pkg * Tools Yuuki Enomoto Ken ichi Fukamachi Abstract This paper describes the script basepkg.sh for base system packaging to make NetBSD base system more granular.

More information

PyWBEM Python WBEM Client: Overview #2

PyWBEM Python WBEM Client: Overview #2 PyWBEM Python WBEM Client: Overview #2 Version: 1.0 6 April 2016 Karl Schopmeyer k.schopmeyer@opengroup.org Andreas Maier MAIERA@de.ibm.com April 2016 SNIA SMI plugfest #3 There was an earlier overview

More information

[Docker] Containerization

[Docker] Containerization [Docker] Containerization ABCD-LMA Working Group Will Kinard October 12, 2017 WILL Kinard Infrastructure Architect Software Developer Startup Venture IC Husband Father Clemson University That s me. 2 The

More information

Git Command Line Tool Is Not Installed

Git Command Line Tool Is Not Installed Git Command Line Tool Is Not Installed Make Sure It Is Accessible On Y Error: "git" command line tool is not installed: make sure it is accessible on y I have installed git tool. even in git bash its showing

More information

GUT. GUT Installation Guide

GUT. GUT Installation Guide Date : 17 Mar 2011 1/6 GUT Contents 1 Introduction...2 2 Installing GUT...2 2.1 Optional Extensions...2 2.2 Installation using the Binary package...2 2.2.1 Linux or Mac OS X...2 2.2.2 Windows...4 2.3 Installing

More information

FROM SCRIPT TO PACKAGES. good practices for hassle-free code reuse

FROM SCRIPT TO PACKAGES. good practices for hassle-free code reuse FROM SCRIPT TO PACKAGES good practices for hassle-free code reuse WHAT S THIS TUTORIAL IS ABOUT How to make your code usable by someone else WHO AM I? Contributor to numpy/scipy since 2007 Windows, Mac

More information

Sunday, February 19, 12

Sunday, February 19, 12 1 LEARNIT EXPRESS in a Nutshell 2 THE LINUX ENVIRONMENT Most programs have preferences that tailor their behavior Word, Matlab, Mathematica: all rely on preference files The BASH shell (and many other

More information

Yocto Project components

Yocto Project components Lecture 3 3 Yocto Project components 25 octombrie 2016 Exam questions 1. Please write al least four of the described components of a GNU toolchain 2. List the components which define a Linux distribution

More information

LSST software stack and deployment on other architectures. William O Mullane for Andy Connolly with material from Owen Boberg

LSST software stack and deployment on other architectures. William O Mullane for Andy Connolly with material from Owen Boberg LSST software stack and deployment on other architectures William O Mullane for Andy Connolly with material from Owen Boberg Containers and Docker Packaged piece of software with complete file system it

More information

Con$nuous Integra$on Development Environment. Kovács Gábor

Con$nuous Integra$on Development Environment. Kovács Gábor Con$nuous Integra$on Development Environment Kovács Gábor kovacsg@tmit.bme.hu Before we start anything Select a language Set up conven$ons Select development tools Set up development environment Set up

More information

Mingw-w64 and Win-builds.org - Building for Windows

Mingw-w64 and Win-builds.org - Building for Windows Mingw-w64 and Win-builds.org - Building for Windows February 2, 2014 1 Mingw-w64 2 3 Section outline Mingw-w64 History, motivations and philosophy What comes with a mingw-w64 tarball Environments to build

More information

Rubix Documentation. Release Qubole

Rubix Documentation. Release Qubole Rubix Documentation Release 0.2.12 Qubole Jul 02, 2018 Contents: 1 RubiX 3 1.1 Usecase.................................................. 3 1.2 Supported Engines and Cloud Stores..................................

More information

Managing Open Source Software on Workstations and Clusters. Theodore Kisner, LBNL

Managing Open Source Software on Workstations and Clusters. Theodore Kisner, LBNL Managing Open Source Software on Workstations and Clusters Theodore Kisner, LBNL Why Use Open Source Software (OSS)? Many useful tools for data processing and visualization Quality is usually good FREE!

More information

xtensor-io Sep 20, 2018

xtensor-io Sep 20, 2018 Sep 20, 2018 INSTALLATION 1 Enabling xtensor-io in your C++ libraries 3 2 Licensing 5 2.1 Installation................................................ 5 2.2 Basic Usage...............................................

More information

Communications Library Manual

Communications Library Manual Delta Tau Power PMAC Communications Library Manual Issue: Date: 1.0 10 th September 2014 NAME DATE SIGNATURE Prepared by Philip Taylor, Observatory Sciences Ltd. 21 March 2013 Andrew Wilson, Observatory

More information

Controlling Software Environments with GNU Guix

Controlling Software Environments with GNU Guix Controlling Software Environments with GNU Guix Ludovic Courtès Inria Bordeaux Sud-Ouest November 2016 The difficulty of keeping software environments under control. #1. Upgrades are hard. #2. Stateful

More information

Harnessing the Power of Python in ArcGIS Using the Conda Distribution. Shaun Walbridge Mark Janikas Ting Lee

Harnessing the Power of Python in ArcGIS Using the Conda Distribution. Shaun Walbridge Mark Janikas Ting Lee Harnessing the Power of Python in ArcGIS Using the Conda Distribution Shaun Walbridge Mark Janikas Ting Lee https://github.com/scw/condadevsummit-2016-talk Handout PDF High Quality PDF (2MB) Conda Conda

More information

dcache as open-source project showcase for education Tigran Mkrtchyan for dcache team CHEP2018, Sofia,

dcache as open-source project showcase for education Tigran Mkrtchyan for dcache team CHEP2018, Sofia, dcache as open-source project showcase for education Tigran Mkrtchyan for dcache team CHEP2018, Sofia, 11.07.2018 76 installations for WLCG ~10 no GRID installations ~50% of LHC data dcache as open-source

More information

Automatic Dependency Management for Scientific Applications on Clusters. Ben Tovar*, Nicholas Hazekamp, Nathaniel Kremer-Herman, Douglas Thain

Automatic Dependency Management for Scientific Applications on Clusters. Ben Tovar*, Nicholas Hazekamp, Nathaniel Kremer-Herman, Douglas Thain Automatic Dependency Management for Scientific Applications on Clusters Ben Tovar*, Nicholas Hazekamp, Nathaniel Kremer-Herman, Douglas Thain Where users are Scientist says: "This demo task runs on my

More information

Richard Mallion. Swift for Admins #TEAMSWIFT

Richard Mallion. Swift for Admins #TEAMSWIFT Richard Mallion Swift for Admins #TEAMSWIFT Apple Introduces Swift At the WWDC 2014 Keynote, Apple introduced Swift A new modern programming language It targets the frameworks for Cocoa and Cocoa Touch

More information

Shifter at CSCS Docker Containers for HPC

Shifter at CSCS Docker Containers for HPC Shifter at CSCS Docker Containers for HPC HPC Advisory Council Swiss Conference Alberto Madonna, Lucas Benedicic, Felipe A. Cruz, Kean Mariotti - CSCS April 9 th, 2018 Table of Contents 1. Introduction

More information

Using git to download and update BOUT++

Using git to download and update BOUT++ ER Meeting 14th Sept 2015 1/28 Using git to download and update BOUT++ Peter Hill ER Meeting 14th Sept 2015 2/28 Outline What is git? Getting git Basic git usage Getting BOUT++ Compiling BOUT++ Running

More information

Belle II - Git migration

Belle II - Git migration Belle II - Git migration Why git? Stash GIT service managed by DESY Powerful branching and merging capabilities Resolution of (JIRA) issues directly be map to branches and commits Feature freeze in pre-release

More information

Using Visual Studio and VS Code for Embedded C/C++ Development. Marc Goodner, Principal Program Manager, Microsoft

Using Visual Studio and VS Code for Embedded C/C++ Development. Marc Goodner, Principal Program Manager, Microsoft Using Visual Studio and VS Code for Embedded C/C++ Development Marc Goodner, Principal Program Manager, Microsoft Mission of C++ Product Team at Microsoft (DevDiv) Make the lives of all C++ developers

More information

Deploying (community) codes. Martin Čuma Center for High Performance Computing University of Utah

Deploying (community) codes. Martin Čuma Center for High Performance Computing University of Utah Deploying (community) codes Martin Čuma Center for High Performance Computing University of Utah m.cuma@utah.edu Outline What codes our users need Prerequisites Who installs what? Community codes Commercial

More information

Zephyr Kernel Installation & Setup Manual

Zephyr Kernel Installation & Setup Manual Zephyr Kernel Installation & Setup Manual Zephyr kernel is a small footprint Single address space OS, i.e, it combines application specific code with a custom kernel to create a monolithic image that gets

More information

CNRS ANF PYTHON Packaging & Life Cycle

CNRS ANF PYTHON Packaging & Life Cycle CNRS ANF PYTHON Packaging & Life Cycle Marc Poinot Numerical Simulation Dept. Outline Package management with Python Concepts Software life cycle Package services Pragmatic approach Practical works Source

More information

TOSS - A RHEL-based Operating System for HPC Clusters

TOSS - A RHEL-based Operating System for HPC Clusters TOSS - A RHEL-based Operating System for HPC Clusters Supercomputing 2017 Red Hat Booth November 14, 2017 Ned Bass System Software Development Group Leader Livermore Computing Division LLNL-PRES-741473

More information

Working with Ubuntu Linux. Track 2 Workshop June 2010 Pago Pago, American Samoa

Working with Ubuntu Linux. Track 2 Workshop June 2010 Pago Pago, American Samoa Working with Ubuntu Linux Track 2 Workshop June 2010 Pago Pago, American Samoa Assumptions You are comfortable with the following: Core Linux concepts - Shells - Permissions - Graphical user interface

More information

Nexus Application Development - SDK

Nexus Application Development - SDK This chapter contains the following sections: About the Cisco SDK, page 1 Installing the SDK, page 1 Procedure for Installation and Environment Initialization, page 2 Using the SDK to Build Applications,

More information

Moving Your Application on the Raspberry Pi to the UC-8100-LX Computer. 1 Background Requirement Overview System Environment...

Moving Your Application on the Raspberry Pi to the UC-8100-LX Computer. 1 Background Requirement Overview System Environment... Moving Your Application on the Raspberry Pi to the UC-8100-LX Computer Contents Jimmy Chen ( 陳永達 ) Field Application Engineer jimmy.chen@moxa.com 1 Background... 2 2 Requirement... 2 3 Overview... 2 4

More information

manifold Documentation

manifold Documentation manifold Documentation Release 0.0.1 Open Source Robotics Foundation Mar 04, 2017 Contents 1 What is Manifold? 3 2 Installation 5 2.1 Ubuntu Linux............................................... 5 2.2

More information

Linux Software Installation Exercises 2 Part 1. Install PYTHON software with PIP

Linux Software Installation Exercises 2 Part 1. Install PYTHON software with PIP Linux Software Installation Exercises 2 Part 1. Install PYTHON software with PIP 1.1 Login to the BioHPC machine and install deeptools; Login (ssh) to the machine that you are assigned for this workshop

More information

USING GIT FOR AUTOMATION AND COLLABORATION JUSTIN ELLIOTT - MATT HANSEN PENN STATE UNIVERSITY

USING GIT FOR AUTOMATION AND COLLABORATION JUSTIN ELLIOTT - MATT HANSEN PENN STATE UNIVERSITY USING GIT FOR AUTOMATION AND COLLABORATION JUSTIN ELLIOTT - MATT HANSEN PENN STATE UNIVERSITY AGENDA Version control overview Introduction and basics of Git Advanced Git features Collaboration Automation

More information

Gcc Get Current Instruction Pointer

Gcc Get Current Instruction Pointer Gcc Get Current Instruction Pointer 3.1 But I get better performance with -funroll-loops -fomg-optimize! Different CPUs have different capabilities, support different instruction sets, and have CFLAGS

More information

El-Get. M-x apt-get. Dimitri Fontaine March, Dimitri Fontaine El-Get March, / 27

El-Get. M-x apt-get. Dimitri Fontaine March, Dimitri Fontaine El-Get March, / 27 El-Get M-x apt-get Dimitri Fontaine dim@tapoueh.org March, 30 2013 Dimitri Fontaine dim@tapoueh.org El-Get March, 30 2013 1 / 27 Dimitri Fontaine 2ndQuadrant France PostgreSQL Major Contributor Emacs Lisp

More information

Zero Install. Decentralised cross-platform package management

Zero Install. Decentralised cross-platform package management Zero Install Decentralised cross-platform package management Thomas Leonard / University of Cambridge / @talex5 OCaml 2014, Gothenburg, Sweden, September 5, 2014 History Started the ROX desktop in 1999...

More information

Introduction to Git and Github Repositories

Introduction to Git and Github Repositories Introduction to Git and Github Repositories Benjamin Audren École Polytechnique Fédérale de Lausanne 29/10/2014 Benjamin Audren (EPFL) CLASS/MP MP runs 29/10/2014 1 / 16 Version Control survey Survey Who

More information

Git. Ľubomír Prda. IT4Innovations.

Git. Ľubomír Prda. IT4Innovations. Git Ľubomír Prda IT4Innovations lubomir.prda@vsb.cz support@it4i.cz VCS Version Control System Versioning - creation and management of multiple releases of a product, all of which have the same general

More information

Intel Do-It-Yourself Challenge Compile C/C++ for Galileo Nicolas Vailliet

Intel Do-It-Yourself Challenge Compile C/C++ for Galileo Nicolas Vailliet Intel Do-It-Yourself Challenge Compile C/C++ for Galileo Nicolas Vailliet www.intel-software-academic-program.com paul.guermonprez@intel.com Intel Software 2014-02-01 Why? C/C++ code? Why C/C++ code? Arduino

More information

.NET Library for Seamless Remote Execution of Supercomputing Software

.NET Library for Seamless Remote Execution of Supercomputing Software .NET Library for Seamless Remote Execution of Supercomputing Software Alexander Tsidaev 1,2 1 Bulashevich Institute of Geophysics, Yekaterinburg, Russia 2 Ural Federal University, Yekaterinburg, Russia

More information

MPI History. MPI versions MPI-2 MPICH2

MPI History. MPI versions MPI-2 MPICH2 MPI versions MPI History Standardization started (1992) MPI-1 completed (1.0) (May 1994) Clarifications (1.1) (June 1995) MPI-2 (started: 1995, finished: 1997) MPI-2 book 1999 MPICH 1.2.4 partial implemention

More information

MAKING CONTAINERS EASIER WITH HPC CONTAINER MAKER. Scott McMillan September 2018

MAKING CONTAINERS EASIER WITH HPC CONTAINER MAKER. Scott McMillan September 2018 MAKING CONTAINERS EASIER WITH HPC CONTAINER MAKER Scott McMillan September 2018 NVIDIA GPU CLOUD (NGC) Simple Access to Ready to-run, GPU-Accelerated Software Discover 35 GPU-Accelerated Containers Deep

More information

Introduction to Linux

Introduction to Linux Introduction to Linux EECS 211 Martin Luessi April 14, 2010 Martin Luessi () Introduction to Linux April 14, 2010 1 / 14 Outline 1 Introduction 2 How to Get Started 3 Software Development under Linux 4

More information

An introduction to today s Modular Operating System

An introduction to today s Modular Operating System An introduction to today s Modular Operating System Bun K. Tan Open Source Technology Center - Intel Corporation October 2018 *Other names and brands may be claimed as the property of others Agenda Why

More information

NVIDIA CUDA GETTING STARTED GUIDE FOR MAC OS X

NVIDIA CUDA GETTING STARTED GUIDE FOR MAC OS X NVIDIA CUDA GETTING STARTED GUIDE FOR MAC OS X DU-05348-001_v7.0 March 2015 Installation and Verification on Mac OS X TABLE OF CONTENTS Chapter 1. Introduction...1 1.1. System Requirements... 1 1.2. About

More information

Using CernVM-FS to deploy Euclid processing S/W on Science Data Centres

Using CernVM-FS to deploy Euclid processing S/W on Science Data Centres Using CernVM-FS to deploy Euclid processing S/W on Science Data Centres M. Poncet (CNES) Q. Le Boulc h (IN2P3) M. Holliman (ROE) On behalf of Euclid EC SGS System Team ADASS 2016 1 Outline Euclid Project

More information

CS197U: A Hands on Introduction to Unix

CS197U: A Hands on Introduction to Unix CS197U: A Hands on Introduction to Unix Lecture 4: My First Linux System Tian Guo University of Massachusetts Amherst CICS 1 Reminders Assignment 2 was due before class Assignment 3 will be posted soon

More information

Short Introduction to ESS

Short Introduction to ESS Why? Emacs ESS Demo Summary edd@debian.org, Dirk.Eddelbuettel@R-Project.org With thanks to ESS Core for their presentations in SVN Short presentation Chicago R User Group 16 December 2010 Outline Why?

More information

OpenACC/CUDA/OpenMP... 1 Languages and Libraries... 3 Multi-GPU support... 4 How OpenACC Works... 4

OpenACC/CUDA/OpenMP... 1 Languages and Libraries... 3 Multi-GPU support... 4 How OpenACC Works... 4 OpenACC Course Class #1 Q&A Contents OpenACC/CUDA/OpenMP... 1 Languages and Libraries... 3 Multi-GPU support... 4 How OpenACC Works... 4 OpenACC/CUDA/OpenMP Q: Is OpenACC an NVIDIA standard or is it accepted

More information

LENS Server Maintenance Guide JZ 2017/07/28

LENS Server Maintenance Guide JZ 2017/07/28 LENS Server Maintenance Guide JZ 2017/07/28 Duty Maintain LENS server with minimum downtime Patch critical vulnerabilities Assist LAB member for using the LENS services Evaluate for custom requirements

More information

TangeloHub Documentation

TangeloHub Documentation TangeloHub Documentation Release None Kitware, Inc. September 21, 2015 Contents 1 User s Guide 3 1.1 Managing Data.............................................. 3 1.2 Running an Analysis...........................................

More information

Using Spack to Manage Software on Cray Supercomputers

Using Spack to Manage Software on Cray Supercomputers Using Spack to Manage Software on Cray Supercomputers May 9 th, 2017-1 - Mario Melara (NERSC)! Todd Gamblin (LLNL)! Gregory Becker (LLNL)! Robert French (ORNL)! Matt P. Belhorn (ORNL)! Kelly Thompson (LANL)!

More information

trisycl Open Source C++17 & OpenMP-based OpenCL SYCL prototype Ronan Keryell 05/12/2015 IWOCL 2015 SYCL Tutorial Khronos OpenCL SYCL committee

trisycl Open Source C++17 & OpenMP-based OpenCL SYCL prototype Ronan Keryell 05/12/2015 IWOCL 2015 SYCL Tutorial Khronos OpenCL SYCL committee trisycl Open Source C++17 & OpenMP-based OpenCL SYCL prototype Ronan Keryell Khronos OpenCL SYCL committee 05/12/2015 IWOCL 2015 SYCL Tutorial OpenCL SYCL committee work... Weekly telephone meeting Define

More information

Index. Bessel function, 51 Big data, 1. Cloud-based version-control system, 226 Containerization, 30 application, 32 virtualize processes, 30 31

Index. Bessel function, 51 Big data, 1. Cloud-based version-control system, 226 Containerization, 30 application, 32 virtualize processes, 30 31 Index A Amazon Web Services (AWS), 2 account creation, 2 EC2 instance creation, 9 Docker, 13 IP address, 12 key pair, 12 launch button, 11 security group, 11 stable Ubuntu server, 9 t2.micro type, 9 10

More information

LINUX FUNDAMENTALS. Supported Distributions: Red Hat Enterprise Linux 6 SUSE Linux Enterprise 11 Ubuntu LTS. Recommended Class Length: 5 days

LINUX FUNDAMENTALS. Supported Distributions: Red Hat Enterprise Linux 6 SUSE Linux Enterprise 11 Ubuntu LTS. Recommended Class Length: 5 days LINUX FUNDAMENTALS The course is a challenging course that focuses on the fundamental tools and concepts of Linux and Unix. Students gain proficiency using the command line. Beginners develop a solid foundation

More information

High Performance Containers. Convergence of Hyperscale, Big Data and Big Compute

High Performance Containers. Convergence of Hyperscale, Big Data and Big Compute High Performance Containers Convergence of Hyperscale, Big Data and Big Compute Christian Kniep Technical Account Manager, Docker Brief Recap of Container Technology Brief History of Container Technology

More information

Created by: Nicolas Melillo 4/2/2017 Elastic Beanstalk Free Tier Deployment Instructions 2017

Created by: Nicolas Melillo 4/2/2017 Elastic Beanstalk Free Tier Deployment Instructions 2017 Created by: Nicolas Melillo 4/2/2017 Elastic Beanstalk Free Tier Deployment Instructions 2017 Detailed herein is a step by step process (and explanation) of how to prepare a project to be deployed to Amazon

More information

Software Development I

Software Development I 6.148 Software Development I Two things How to write code for web apps. How to collaborate and keep track of your work. A text editor A text editor A text editor Anything that you re used to using Even

More information

Perl and R Scripting for Biologists

Perl and R Scripting for Biologists Perl and R Scripting for Biologists Lukas Mueller PLBR 4092 Course overview Linux basics (today) Linux advanced (Aure, next week) Why Linux? Free open source operating system based on UNIX specifications

More information

Centreon SSH Connector Documentation

Centreon SSH Connector Documentation Centreon SSH Connector Documentation Release 1.1.2 Centreon November 24, 2015 Contents i ii Centreon SSH Connector is a free software from Centreon available under the Apache Software License version

More information

IOTIVITY AND EMBEDDED LINUX SUPPORT. Kishen Maloor Intel Open Source Technology Center

IOTIVITY AND EMBEDDED LINUX SUPPORT. Kishen Maloor Intel Open Source Technology Center IOTIVITY AND EMBEDDED LINUX SUPPORT Kishen Maloor Intel Open Source Technology Center Outline Open Interconnect Consortium and IoTivity Software development challenges in embedded Yocto Project and how

More information

What is version control? (discuss) Who has used version control? Favorite VCS? Uses of version control (read)

What is version control? (discuss) Who has used version control? Favorite VCS? Uses of version control (read) 1 For the remainder of the class today, I want to introduce you to a topic we will spend one or two more classes discussing and that is source code control or version control. What is version control?

More information

Travis Cardwell Technical Meeting

Travis Cardwell Technical Meeting .. Introduction to Docker Travis Cardwell Tokyo Linux Users Group 2014-01-18 Technical Meeting Presentation Motivation OS-level virtualization is becoming accessible Docker makes it very easy to experiment

More information

MRCP. Installation Manual. Developer Guide. Powered by Universal Speech Solutions LLC

MRCP. Installation Manual. Developer Guide. Powered by Universal Speech Solutions LLC Powered by Universal Speech Solutions LLC MRCP Installation Manual Developer Guide Revision: 39 Last updated: August 28, 2017 Created by: Arsen Chaloyan Universal Speech Solutions LLC Overview 1 Table

More information

GNU/Linux 101. Casey McLaughlin. Research Computing Center Spring Workshop Series 2018

GNU/Linux 101. Casey McLaughlin. Research Computing Center Spring Workshop Series 2018 GNU/Linux 101 Casey McLaughlin Research Computing Center Spring Workshop Series 2018 rccworkshop IC;3df4mu bash-2.1~# man workshop Linux101 RCC Workshop L101 OBJECTIVES - Operating system concepts - Linux

More information