DKRZ Tutorial 2013, Hamburg1 Hands-on: NPB-MZ-MPI / BT VI-HPS Team.

Slides:



Advertisements
Similar presentations
05/11/2001 CPT week Natalia Ratnikova, FNAL 1 Software Distribution in CMS Distribution unitFormContent Version of SCRAM managed project.
Advertisements

Ch-11 Project Execution and Termination. System Testing This involves two different phases with two different outputs First phase is system test planning.
DKRZ Tutorial 2013, Hamburg1 Score-P – A Joint Performance Measurement Run-Time Infrastructure for Periscope, Scalasca, TAU, and Vampir Frank Winkler 1),
MPI – An introduction by Jeroen van Hunen What is MPI and why should we use it? Simple example + some basic MPI functions Other frequently used MPI functions.
A Mini UNIX Tutorial. What’s UNIX?  An operating system run on many servers/workstations  Invented by AT&T Bell Labs in late 60’s  Currently there.
Using Ant to build J2EE Applications Kumar
Using Macs and Unix Nancy Griffeth January 6, 2014 Funding for this workshop was provided by the program “Computational Modeling and Analysis of Complex.
1 Introduction to Tool chains. 2 Tool chain for the Sitara Family (but it is true for other ARM based devices as well) A tool chain is a collection of.
Automatic trace analysis with Scalasca Alexandru Calotoiu German Research School for Simulation Sciences (with content used with permission from tutorials.
Configuring ROMS for South of Java Kate Hedstrom, ARSC/UAF October, 2007.
BSC tools hands-on session. 2 Objectives Copy ~nct00001/tools-material into your ${HOME} –cp –r ~nct00001/tools-material ${HOME} Contents of.
Unix Primer. Unix Shell The shell is a command programming language that provides an interface to the UNIX operating system. The shell is a “regular”
Donald Stark National Center for Atmospheric Research (NCAR) The Developmental Testbed Center (DTC) Wednesday 29 June, 2011 GSI Fundamentals (1): Setup.
DKRZ Tutorial 2013, Hamburg Analysis report examination with CUBE Markus Geimer Jülich Supercomputing Centre.
Analysis report examination with CUBE Alexandru Calotoiu German Research School for Simulation Sciences (with content used with permission from tutorials.
1 Performance Analysis with Vampir DKRZ Tutorial – 7 August, Hamburg Matthias Weber, Frank Winkler, Andreas Knüpfer ZIH, Technische Universität.
Trilinos 101: Getting Started with Trilinos November 7, :30-9:30 a.m. Mike Heroux Jim Willenbring.
ICOM 5995: Performance Instrumentation and Visualization for High Performance Computer Systems Lecture 7 October 16, 2002 Nayda G. Santiago.
SC’13: Hands-on Practical Hybrid Parallel Application Performance Engineering1 Score-P Hands-On CUDA: Jacobi example.
SC’13: Hands-on Practical Hybrid Parallel Application Performance Engineering Automatic trace analysis with Scalasca Markus Geimer, Brian Wylie, David.
®® Microsoft Windows 7 for Power Users Tutorial 13 Using the Command-Line Environment.
Makefiles CISC/QCSE 810. BeamApp and Tests in C++ 5 source code files After any modification, changed source needs to be recompiled all object files need.
Apache Web Server v. 2.2 Reference Manual Chapter 1 Compiling and Installing.
Introduction Use of makefiles to manage the build process Declarative, imperative and relational rules Environment variables, phony targets, automatic.
Score-P – A Joint Performance Measurement Run-Time Infrastructure for Periscope, Scalasca, TAU, and Vampir Alexandru Calotoiu German Research School for.
Vim Editor and Unix Command gcc compiler Computer Networks.
Tutorial build Main ideas –Reuse as much previously obtained configuration information as possible: from Babel, cca-spec-babel, etc. –Extract all irrelevant.
DDT Debugging Techniques Carlos Rosales Scaling to Petascale 2010 July 7, 2010.
Introduction to Eclipse CSC 216 Lecture 3 Ed Gehringer Using (with permission) slides developed by— Dwight Deugo Nesa Matic
11th VI-HPS Tuning Workshop, April 2013, MdS, Saclay1 Hands-on exercise: NPB-MZ-MPI / BT VI-HPS Team.
How to configure, build and install Trilinos November 2, :30-9:30 a.m. Jim Willenbring Mike Phenow.
Installing and Running the WPS Michael Duda 2006 WRF-ARW Summer Tutorial.
Hands-on: NPB-MZ-MPI / BT VI-HPS Team. 10th VI-HPS Tuning Workshop, October 2012, Garching Local Installation VI-HPS tools accessible through the.
What is a port The Ports Collection is essentially a set of Makefiles, patches, and description files placed in /usr/ports. The port includes instructions.
Semi-Automatic patch upgrade kit
1 Typical performance bottlenecks and how they can be found Bert Wesarg ZIH, Technische Universität Dresden.
Department of Computer Engineering Dongguk University Prof. Jin-Woo Jung Practice hour : 2008/11/14 8. Qt / Embedded.
E X C E E D I N G E X P E C T A T I O N S Basic LINUX Linux System Administration Dr. Hoganson Kennesaw State University Operating Systems Directory structure:
22-July-2002cse142-13B-Development © 2002 University of Washington1 Development Tools CSE 142, Summer 2002 Computer Programming 1
Configuration Management CSCI 5801: Software Engineering.
Manage Directories and Files in Linux Part 2. 2 Identify File Types in the Linux System The file types in Linux referred to as normal files and directories.
SAN DIEGO SUPERCOMPUTER CENTER Administering Inca with incat Jim Hayes Inca Workshop September 4-5, 2008.
Threaded Programming Lecture 2: Introduction to OpenMP.
An Overview of ROMS Code Kate Hedstrom, ARSC April 2007.
CSCS-USI Summer School (Lugano, 8-19 July 2013)1 Hands-on exercise: NPB-MZ-MPI / BT VI-HPS Team.
Speedup for Multi-Level Parallel Computing School of Computer Engineering Nanyang Technological University 21 st May 2012 Shanjiang Tang, Bu-Sung Lee,
Makefiles1 MAKEFILES Purpose: contain UNIX commands and will run them in a specified sequence. Syntax Definition : { Section-name: {unix command #1} …
Installing and Running the WPS Michael Duda 2006 WRF-ARW Summer Tutorial.
How to configure, build and install Trilinos November 2, :30-9:30 a.m. Jim Willenbring.
SC‘13: Hands-on Practical Hybrid Parallel Application Performance Engineering Hands-on example code: NPB-MZ-MPI / BT (on Live-ISO/DVD) VI-HPS Team.
Debugging Lab Antonio Gómez-Iglesias Texas Advanced Computing Center.
Chapter 7: Delivery, Installation, and Documentation Ronald J. Leach Copyright Ronald J. Leach, 1997, 2009, 2014,
Hernán García CeCalcULA Universidad de los Andes.
1 COMP 3500 Introduction to Operating Systems Project 4 – Processes and System Calls Part 3: Adding System Calls to OS/161 Dr. Xiao Qin Auburn University.
E Copyright © 2006, Oracle. All rights reserved. Using SQL Developer.
Starting Analysis with Athena (Esteban Fullana Torregrosa) Rik Yoshida High Energy Physics Division Argonne National Laboratory.
C Copyright © 2009, Oracle. All rights reserved. Using SQL Developer.
A+ Guide to Managing and Maintaining Your PC, 7e Chapter 2 Introducing Operating Systems.
OpenMP Lab Antonio Gómez-Iglesias Texas Advanced Computing Center.
Hadoop Architecture Mr. Sriram
Python’s Modules Noah Black.
Install external command line softwares
INTRODUCING Adams/CHASSIS
Grid Application Support Group Case study Schrodinger equations on the Grid Status report 16. January, Created by Akos Balasko
Using Linux and Lab Setup OS Lab 1
Advanced TAU Commander
Operation System Program 4
A configurable binary instrumenter
University of Texas Rio Grande Valley Systems Administration CSCI 6175
Working in The IITJ HPC System
Presentation transcript:

DKRZ Tutorial 2013, Hamburg1 Hands-on: NPB-MZ-MPI / BT VI-HPS Team

DKRZ Tutorial 2013, Hamburg2 Local Installation VI-HPS tools –Currently installed in a non-default location Need to extend the module search path manually –Load the VI-HPS module % module use /work/00979/tg802268/vi-hps/modulefiles % module av ---- /work/00979/tg802268/vi-hps/modulefiles [...] VI-HPS/intel13-mvapich2 (D) cube/4.2.0 (D) scalasca/2.0-beta3 scorep/1.1.1 (D) scorep/1.1.1-cuda scorep/1.1.1-papi5 Vampir/8.1.0 [...] % module load VI-HPS

DKRZ Tutorial 2013, Hamburg3 Tutorial sources Copy tutorial sources to working directory % cp /pf/k/k203062/public/NPB3.3-MZ-MPI.tar.gz. % tar xzvf NPB3.3-MZ-MPI.tar.gz % cd NPB3.3-MZ-MPI

DKRZ Tutorial 2013, Hamburg4 NPB-MZ-MPI Suite The NAS Parallel Benchmark suite (MPI+OpenMP version) –Available from –3 benchmarks in Fortran77 –Configurable for various sizes & classes Move into the NPB3.3-MZ-MPI root directory Subdirectories contain source code for each benchmark –plus additional configuration and common code The provided distribution has already been configured for the tutorial, such that it's ready to “make” one or more of the benchmarks and install them into a (tool-specific) “bin” subdirectory % ls bin/ common/ jobscript/ Makefile README.install SP-MZ/ BT-MZ/ config/ LU-MZ/ README README.tutorial sys/

DKRZ Tutorial 2013, Hamburg5 Building an NPB-MZ-MPI Benchmark Type “make” for instructions % make =========================================== = NAS PARALLEL BENCHMARKS 3.3 = = MPI+OpenMP Multi-Zone Versions = = F77 = =========================================== To make a NAS multi-zone benchmark type make CLASS= NPROCS= where is “bt-mz”, “lu-mz”, or “sp-mz” is “S”, “W”, “A” through “F” is number of processes [...] *************************************************************** * Custom build configuration is specified in config/make.def * * Suggested tutorial exercise configuration for HPC systems: * * make bt-mz CLASS=B NPROCS=4 * ***************************************************************

DKRZ Tutorial 2013, Hamburg6 Building an NPB-MZ-MPI Benchmark Specify the benchmark configuration –benchmark name: bt-mz, lu-mz, sp-mz –the number of MPI processes: NPROCS=4 –the benchmark class (S, W, A, B, C, D, E): CLASS=B % make bt-mz CLASS=B NPROCS=4 cd BT-MZ; make CLASS=B NPROCS=4 VERSION= make[1]: Entering directory `/pf/k/k203078/NPB3.3-MZ-MPI/BT-MZ' make[2]: Entering directory `/pf/k/k203078/NPB3.3-MZ-MPI/sys' xlc_r -q64 -o setparams setparams.c -lm make[2]: Leaving directory `/pf/k/k203078/NPB3.3-MZ-MPI/sys'../sys/setparams bt-mz 4 B make[2]: Entering directory `/pf/k/k203078/NPB3.3-MZ-MPI/BT-MZ' mpxlf_r -c -q64 -O3 -qsmp=omp –qnosave -qextname=flush bt.F [...] mpxlf_r -q64 -O3 -qsmp=omp -qextname=flush -o../bin/bt-mz… make[2]: Leaving directory `/pf/k/k203078/NPB3.3-MZ-MPI/BT-MZ' Built executable../bin/bt-mz_B.4 make[1]: Leaving directory `/pf/k/k203078/NPB3.3-MZ-MPI/BT-MZ'

DKRZ Tutorial 2013, Hamburg7 NPB-MZ-MPI / BT (Block Tridiagonal Solver) What does it do? –Solves a discretized version of unsteady, compressible Navier- Stokes equations in three spatial dimensions –Performs 200 time-steps on a regular 3-dimensional grid Implemented in 20 or so Fortran77 source modules Uses MPI & OpenMP in combination –4 processes with 4 threads each should be reasonable –bt-mz_B.4 should run in around 13 seconds –bt-mz_C.4 should take around 3-4x longer

DKRZ Tutorial 2013, Hamburg8 NPB-MZ-MPI / BT Reference Execution Copy jobscript and launch as a hybrid MPI+OpenMP application % cd bin % cp../jobscript/blizzard/run.ll. % less run.ll % llsubmit run.ll % llq -u $USER % cat nas_bt_mz.job.o NAS Parallel Benchmarks (NPB3.3-MZ-MPI) - BT-MZ MPI+OpenMP Benchmark Number of zones: 8 x 8 Iterations: 200 dt: Number of active processes: 4 Total number of threads: 16 ( 4.0 threads/process) Time step 1 Time step 20 [...] Time step 180 Time step 200 Verification Successful BT-MZ Benchmark Completed. Time in seconds = Hint: save the benchmark output (or note the run time) to be able to refer to it later

DKRZ Tutorial 2013, Hamburg9 Tutorial Exercise Steps Edit config/make.def to adjust build configuration –Modify specification of compiler/linker: MPIF77 Make clean and build new tool-specific executable Change to the directory containing the new executable before running it with the desired tool configuration % make clean % make bt-mz CLASS=B NPROCS=4 Built executable../bin.$(TOOL)/bt-mz_B.4 % cd bin.$(TOOL) % export … % OMP_NUM_THREADS=4 mpiexec –n 4./bt-mz_B.4

DKRZ Tutorial 2013, Hamburg10 NPB-MZ-MPI / BT: config/make.def # SITE- AND/OR PLATFORM-SPECIFIC DEFINITIONS # # Items in this file may need to be changed for each platform. # # # The Fortran compiler used for MPI programs # MPIF77 = mpiifort -fpp # Alternative variants to perform instrumentation #MPIF77 = psc_instrument -u user,mpi,omp –s ${PROGRAM}.sir mpiifort #MPIF77 = tau_f90.sh #MPIF77 = scalasca -instrument mpiifort #MPIF77 = vtf77 –vt:hyb -vt:f77 mpiifort #MPIF77 = scorep --user mpiifort # PREP is a generic preposition macro for instrumentation preparation #MPIF77 = $(PREP) mpiifort # This links MPI Fortran programs; usually the same as ${MPIF77} FLINK = $(MPIF77)... Hint: uncomment one of these alternative compiler wrappers to perform instrumentation Default (no instrumentation)