How to compile Fortran program on application server

Size: px
Start display at page:

Download "How to compile Fortran program on application server"

Transcription

1 How to compile Fortran program on application server Center for Computational Materials Science, Institute for Materials Research, Tohoku University version 1.0

2 Contents 1. Compile How to use GNU Fortran How to use Intel Fortran How to use PGI Fortran Library MKL ACML IMSL Fortran FFTW... 9

3 Summary of changes version Date Changes version /10/2015 Initial version

4 How to compile Fortran program on application server We explain how to compile Fortran program on IBM BladeCenter HS22 (hereafter called the application server ). 1. Compile GNU Fortran, Intel Fortran and PGI Fortran are available on application server. The compile command and option depend on the parallelization scheme. We describe how to compile a source program parallelized by the following scheme. Automatic parallelization: Parallelize using auto-threading function of compiler. OpenMP:Parallelize using OpenMP directives. MPI:Parallelize using MPI. MPI and automatic parallelization: Parallelize using MPI and each process is multi-threaded by auto-threading function of compiler. MPI and OpenMP:Parallelize using MPI and each process is multi-threaded by OpenMP directives. You can compile a source program on the front-end node (app1.imr.edu or app2.imr.edu) or TSS node (app3t.imr.edu or app4t.imr.edu). The CPU time limitation of the front-end node is 1 hour and that of the TSS node is 30 hours. If it takes more than 1 hour to compile one source program, you must compile it on the TSS node or create a script file and submit it from the front-end node. 1.1 How to use GNU Fortran Compile commands of GNU Fortran: Command Purpose gfortran Compiles serial source program. /usr/bin/mpif77 Compiles MPI source program written in FORTRAN 77. /usr/bin/mpif90 Compiles MPI source program written in Fortran 90. File types: Suffix Format f, for Fixed format f90, f95 Free format Followings are some examples of compiling a source program on app1.imr.edu. You can also compile a source program on TSS node. (Example) Compile a serial source program. [user01@app1~]$ gfortran sample.f (Example) Compile a serial source program using auto-threading function. [user01@app1~]$ gfortran -O3 -march=native -mtune=native -ftree-parallelize-loops=4 sample_auto.f The number of parallel loop can be specified by the ftree-parallelize-loops option. 1

5 (Example) Compile a serial source program using OpenMP. [user01@app1~]$ gfortran -fopenmp sample_omp.f (Example) Compile a MPI source program. [user01@app1~]$ source /export/common/environment/app_mpi_environment_mpich2 [user01@app1~]$ /usr/bin/mpif90 sample_mpi.f (Example) Compile a MPI source program and each process is multi-threaded by OpenMP. [user01@app1~]$ source /export/common/environment/app_mpi_environment_mpich2 [user01@app1~]$ /usr/bin/mpif90 -fopenmp sample_mpi_omp.f The following is an example how to submit a job which compiles a source program. Create a job script file (example: script.sh) using text editor such as vi command first. gfortran sample.f Submit the job script file to ASB queue using the submit command. See the about the syntax of the submit command and for the details of queues in How to execute a program on application server. [user01@app1 ~]$ submit ASB general -exec script.sh You can omit the -exec option if you create the job script file named COMMANDLINE. [user01@app1 ~]$ submit ASB general Main options: Option Description -o outfile Specifies the load module file name. If this is not specified, the load module file name is a.out. -L<dir> Specifies the path name of the directory containing the library you want to retrieve. -l<lib name> Specifies the library to link. -I<dir> Specifies the directory that contains the source statement library. -O0 -O1 -O2 -O3 Specifies the optimizing level. If this is not specified, the system assumes that -O0 has been specified. -ftree-parallelize-loops=n Enables parallelization of source program. n is the number of parallelized loop. -fopenmp Enables parallelization of source program by using OpenMP directives. -ffree-form Indicates that the source program is in free format. -ffixed-form Indicates that the source program is in fixed format. 2

6 1.2 How to use Intel Fortran Compile commands of Intel Fortran: Command purpose ifort Compiles serial source program. mpiifort Compiles MPI source program. File types: Suffix Format f, for, ftn, i Fixed format f90, i90 Free format Followings are some examples of compiling a source program on app1.imr.edu. You can also compile a source program on TSS node. (Example) Compile a serial source program. [user01@app1~]$ ifort sample.f (Example) Compile a serial source program using auto-threading function. [user01@app1~]$ ifort -parallel sample_auto.f (Example) Compile a serial source program using OpenMP. [user01@app1~]$ ifort -openmp sample_auto_omp.f (Example) Compile a MPI source program. [user01@app1~]$ source /opt/intel/impi/ /bin64/mpivars.sh [user01@app1~]$ mpiifort sample_mpi.f (Example) Compile a MPI source program and each process is multi-threaded by auto-threading function. [user01@app1~]$ source /opt/intel/impi/ /bin64/mpivars.sh [user01@app1~]$ mpiifort -parallel sample_mpi_auto.f (Example) Compile a MPI source program and each process is multi-threaded by OpenMP. [user01@app1~]$ source /opt/intel/impi/ /bin64/mpivars.sh [user01@app1~]$ mpiifort -openmp sample_mpi_omp.f The following is an example how to submit a job which compiles a source program. Create a job script file (example: script.sh) using text editor such as vi command first. ifort sample.f 3

7 Submit the job script file to ASB queue using the submit command. See the about the syntax of the submit command and for the details of queues in How to execute a program on application server. [user01@app1 ~]$ submit ASB general -exec script.sh You can omit the -exec option if you create the job script file named COMMANDLINE. [user01@app1 ~]$ submit ASB general Main options: Option Description -o outfile Specifies the load module file name. If this is not specified, the load module file name is a.out. -L<dir> Specifies the path name of the directory containing the library you want to retrieve. -l<lib name> Specifies the library to link. -I<dir> Specifies the directory that contains the source statement library. -O -O0 -O1 -O2 -O3 -Ofast Specifies the optimizing level. If this is not specified, the system assumes that -O2 has been specified. -parallel Enables parallelization of source program. -openmp Enables parallelization of source program by using OpenMP directives. -free Indicates that the source program is in the free format. -fixed Indicates that the source program is in the fixed format. -xhost Generates instructions for the highest instruction set available on the host processor. 1.3 How to use PGI Fortran Compile commands of Intel Fortran: Command purpose pgf77 Compiles serial source program written in FORTRAN 77. pgfortran Compiles serial source program. mpif77 Compiles MPI source program written in FORTRAN 77. mpif90 Compiles MPI source program written in Fortran 90. File types: Suffix Format f, for Fixed format f90 Free format Followings are some examples of compiling a source program on app1.imr.edu. You can also compile a source program on TSS node. (Example) Compile a serial source program. [user01@app1~]$ pgfortran sample.f 4

8 (Example) Compile a serial source program using auto-threading function. [user01@app1~]$ pgfortran -Mconcur sample_auto.f (Example) Compile a serial source program using OpenMP. [user01@app1~]$ pgfortran -mp sample_auto_omp.f (Example) Compile a MPI source program. [user01@app1~]$ source /export/common/environment/app_mpi_environment_pgi [user01@app1~]$ mpif90 sample_mpi.f (Example) Compile a MPI source program and each process is multi-threaded by auto-threading function. [user01@app1~]$ source /export/common/environment/app_mpi_environment_pgi [user01@app1~]$ mpif90 -Mconcur sample_mpi_auto.f (Example) Compile a MPI source program and each process is multi-threaded by OpenMP. [user01@app1~]$ source /export/common/environment/app_mpi_environment_pgi [user01@app1~]$ mpif90 -mp sample_mpi_omp.f The following is an example how to submit a job which compiles a source program. Create a job script file (example: script.sh) using text editor such as vi command first. pgfortran sample.f Submit the job script file to ASB queue using the submit command. See the about the syntax of the submit command and for the details of queues in How to execute a program on application server. [user01@app1 ~]$ submit ASB general -exec script.sh You can omit the -exec option if you create the job script file named COMMANDLINE. [user01@app1 ~]$ submit ASB general 5

9 Main options: Option Description -o outfile Specifies the load module file name. If this is not specified, the load module file name is a.out. -L<dir> Specifies the path name of the directory containing the library you want to retrieve. -l<lib name> Specifies the library to link. -I<dir> Specifies the directory that contains the source statement library. -O0 -O1 -O -O2 -O3 -O4 Specifies the optimizing level. If this is not specified, the system assumes that -O1 has been specified. -Mconcur Enables parallelization of source program. -mp Enables parallelization of source program by using OpenMP directives. -Mfree Indicates that the source program is in the free format. -Mfixed Indicates that the source program is in the fixed format. -fastsse Chooses generally optimal flags for a processor that supports to vectorize for the SSE/AVX instructions. 6

10 2. Library The following libraries are available on application server. Library Description MKL Libraries for linear algebra, fast fourier transform and statistics functions provided by Intel. ACML Libraries for optimized and threaded math routines. IMSL Fortran Libraries for mathematics and statistics provided by Rogue Wave. FFTW Libraries for computing the discrete fourier transform (DFT). 2.1 MKL The following site provides advice of link options for using MKL. If you use MKL, please execute the following command. In case of 4 bytes integer [user01@app1~]$ source /opt/intel/mkl/bin/mklvars.sh intel64 lp64 In case of 8 bytes integer [user01@app1~]$ source /opt/intel/mkl/bin/mklvars.sh intel64 ilp64 (Example) Use 4 bytes integer and link MKL BLAS to your serial source program. [user01@app1~]$ ifort -I${MKLROOT}/include/intel64/lp64 -I${MKLROOT}/include blas_sample.f90 ${MKLROOT}/lib/intel64/libmkl_blas95_lp64.a -Wl,--start-group ${MKLROOT}/lib/intel64/libmkl_intel_lp64.a ${MKLROOT}/lib/intel64/libmkl_core.a ${MKLROOT}/lib/intel64/libmkl_sequential.a -Wl,--end-group -lpthread lm Please note that it is a single command-line string. (Example) Use 4 bytes integer and link MKL BLAS to your serial source program using OpenMP. [user01@app1~]$ ifort -openmp -I${MKLROOT}/include/intel64/lp64 -I${MKLROOT}/include blas_omp_sample.f90 ${MKLROOT}/lib/intel64/libmkl_blas95_lp64.a -Wl,--start-group ${MKLROOT}/lib/intel64/libmkl_intel_lp64.a ${MKLROOT}/lib/intel64/libmkl_core.a ${MKLROOT}/lib/intel64/libmkl_intel_thread.a -Wl,--end-group -lpthread -lm Please note that it is a single command-line string. (Example) Use 4 bytes integer and link MKL LAPACK to your serial source program. [user01@app1~]$ ifort -I${MKLROOT}/include/intel64/lp64 -I${MKLROOT}/include lapack_sample.f90 ${MKLROOT}/lib/intel64/libmkl_lapack95_lp64.a -Wl,--start-group ${MKLROOT}/lib/intel64/libmkl_intel_lp64.a ${MKLROOT}/lib/intel64/libmkl_core.a ${MKLROOT}/lib/intel64/libmkl_sequential.a -Wl,--end-group -lpthread -lm Please note that it is a single command-line string. 7

11 (Example) Use 4 bytes integer and link MKL LAPACK to your serial source program using OpenMP. [user01@app1~]$ ifort -openmp -I${MKLROOT}/include/intel64/lp64 -I${MKLROOT}/include lapack_omp_sample.f90 ${MKLROOT}/lib/intel64/libmkl_lapack95_lp64.a -Wl,--start-group ${MKLROOT}/lib/intel64/libmkl_intel_lp64.a ${MKLROOT}/lib/intel64/libmkl_core.a ${MKLROOT}/lib/intel64/libmkl_intel_thread.a -Wl,--end-group -lpthread -lm Please note that it is a single command-line string. (Example) Use 4 bytes integer and link MKL ScaLAPACK to your MPI source program. [user01@app1~]$ mpiifort -I${MKLROOT}/include/intel64/lp64 -I${MKLROOT}/include scalapack_mpi_sample.f90 ${MKLROOT}/lib/intel64/libmkl_scalapack_lp64.a -Wl,--start-group ${MKLROOT}/lib/intel64/libmkl_intel_lp64.a ${MKLROOT}/lib/intel64/libmkl_core.a ${MKLROOT}/lib/intel64/libmkl_intel_sequential.a -Wl,--end-group ${MKLROOT}/lib/intel64/libmkl_blacs_intelmpi_lp64.a -lpthread -lm Please note that it is a single command-line string. 2.2 ACML OpenMP libraries and scalar ones (1 CPU version) are available. This is available only in PGI fortran. Description Library OpenMP libraries libacml_mp.a Scalar libraries libacml.a (Example) Link scalar libraries [user01@app1~]$ pgfortran sample.f -lacml (Example) Link OpenMP libraries [user01@app1~]$ pgfortran -mp sample_openmp.f -lacml_mp 2.3 IMSL Fortran MPI libraries and scalar ones (1 CPU version) are available. This is available only in Intel fortran. If you use IMSL Fortran, please set the environment variables by the following command. (Example) Link scalar libraries [user01@app1~]$ source /opt/intel/bin/compilervars.sh intel64 [user01@app1~]$ source /export/app/imsl/imsl/fnl700/rdhin111e64/bin/fnlsetup.sh 8

12 (Example) Link MPI libraries source /export/common/environment/app_mpi_environment_imsl source /export/app/imsl/imsl/fnl700/rdhin111e64/bin/fnlsetup.sh (Example) Link MKL libraries dynamically $FFLAGS imsl.f $LINK_FNL (Example) Link MKL libraries statically $FFLAGS imsl.f $LINK_FNL_STATIC (Example) Link IMSL Fortran libraries dynamically $FFLAGS imsl.f $LINK_FNL_IMSL (Example) Link IMSL Fortran libraries statically $FFLAGS imsl.f $LINK_FNL_STATIC_IMSL (Example) Link MKL libraries $FFLAGS imsl_mpi.f $LINK_MPI (Example) Link IMSL Fortran libraries $FFLAGS imsl_mpi.f $LINK_MPI_IMSL 2.4 FFTW MPI libraries, OpenMP ones and scalar ones (1 CPU version) are available on /opt/fft/fftw-3.3.4/lib64. Library path Description Library MPI libraries libfftw3_mpi.a /opt/fft/fftw-3.3.4/lib64 OpenMP libraries libfftw3_omp.a Scalar libraries libfftw3.a (Example) Link MPI libraries source /opt/intel/impi/ /bin64/mpivars.sh mpiifort sample_mpi.f -I/opt/fft/fftw-3.3.4/include -L/opt/fft/fftw-3.3.4/lib64 -lfftw3_mpi -lfftw3 (Example) Link OpenMP libraries ifort -openmp sample_omp.f -I/opt/fft/fftw-3.3.4/include -L/opt/fft/fftw-3.3.4/lib64 -lfftw3_omp (Example) Link scalar libraries ifort sample.f -I/opt/fft/fftw-3.3.4/include -L/opt/fft/fftw-3.3.4/lib64 -lfftw3 9

13 You have to set the following environment variable when you run program which is linked FFTW libraries dynamically. export LD_LIBRARY_PATH=/opt/fft/fftw-3.3.4/lib64:${LD_LIBRARY_PATH} 10

How to compile C/C++ program on SR16000

How to compile C/C++ program on SR16000 How to compile C/C++ program on SR16000 Center for Computational Materials Science, Institute for Materials Research, Tohoku University 2014.1 version 1.0 Contents 1. Compile... 1 1.1 How to use XL C/C++...

More information

Installation of OpenMX

Installation of OpenMX Installation of OpenMX Truong Vinh Truong Duy and Taisuke Ozaki OpenMX Group, ISSP, The University of Tokyo 2015/03/30 Download 1. Download the latest version of OpenMX % wget http://www.openmx-square.org/openmx3.7.tar.gz

More information

Intel MPI Cluster Edition on Graham A First Look! Doug Roberts

Intel MPI Cluster Edition on Graham A First Look! Doug Roberts Intel MPI Cluster Edition on Graham A First Look! Doug Roberts SHARCNET / COMPUTE CANADA Intel Parallel Studio XE 2016 Update 4 Cluster Edition for Linux 1. Intel(R) MPI Library 5.1 Update 3 Cluster Ed

More information

Intel Math Kernel Library (Intel MKL) Latest Features

Intel Math Kernel Library (Intel MKL) Latest Features Intel Math Kernel Library (Intel MKL) Latest Features Sridevi Allam Technical Consulting Engineer Sridevi.allam@intel.com 1 Agenda - Introduction to Support on Intel Xeon Phi Coprocessors - Performance

More information

Improving the Performance and Extending the Scalability in the Cluster of SMP based Petaflops Computing

Improving the Performance and Extending the Scalability in the Cluster of SMP based Petaflops Computing Improving the Performance and Extending the Scalability in the Cluster of SMP based Petaflops Computing Nagarajan Kathiresan, Ph.D., IBM India, Bangalore. k.nagarajan@in.ibm.com Agenda :- Different types

More information

Workshop on High Performance Computing (HPC08) School of Physics, IPM February 16-21, 2008 HPC tools: an overview

Workshop on High Performance Computing (HPC08) School of Physics, IPM February 16-21, 2008 HPC tools: an overview Workshop on High Performance Computing (HPC08) School of Physics, IPM February 16-21, 2008 HPC tools: an overview Stefano Cozzini CNR/INFM Democritos and SISSA/eLab cozzini@democritos.it Agenda Tools for

More information

Introduction to Numerical Libraries for HPC. Bilel Hadri. Computational Scientist KAUST Supercomputing Lab.

Introduction to Numerical Libraries for HPC. Bilel Hadri. Computational Scientist KAUST Supercomputing Lab. Introduction to Numerical Libraries for HPC Bilel Hadri bilel.hadri@kaust.edu.sa Computational Scientist KAUST Supercomputing Lab Bilel Hadri 1 Numerical Libraries Application Areas Most used libraries/software

More information

Brief notes on setting up semi-high performance computing environments. July 25, 2014

Brief notes on setting up semi-high performance computing environments. July 25, 2014 Brief notes on setting up semi-high performance computing environments July 25, 2014 1 We have two different computing environments for fitting demanding models to large space and/or time data sets. 1

More information

Institute for Materials Research, Tohoku University Large-Scale Parallel Computing Server Manual

Institute for Materials Research, Tohoku University Large-Scale Parallel Computing Server Manual Institute for Materials Research, Tohoku University Large-Scale Parallel Computing Server Manual October 22th, 2018 Center for Computational Materials Science, Institute for Materials Research, Tohoku

More information

Compilers & Optimized Librairies

Compilers & Optimized Librairies Institut de calcul intensif et de stockage de masse Compilers & Optimized Librairies Modules Environment.bashrc env $PATH... Compilers : GNU, Intel, Portland Memory considerations : size, top, ulimit Hello

More information

Achieve Better Performance with PEAK on XSEDE Resources

Achieve Better Performance with PEAK on XSEDE Resources Achieve Better Performance with PEAK on XSEDE Resources Haihang You, Bilel Hadri, Shirley Moore XSEDE 12 July 18 th 2012 Motivations FACTS ALTD ( Automatic Tracking Library Database ) ref Fahey, Jones,

More information

Mathematical Libraries and Application Software on JUQUEEN and JURECA

Mathematical Libraries and Application Software on JUQUEEN and JURECA Mitglied der Helmholtz-Gemeinschaft Mathematical Libraries and Application Software on JUQUEEN and JURECA JSC Training Course May 2017 I.Gutheil Outline General Informations Sequential Libraries Parallel

More information

Compiling applications for the Cray XC

Compiling applications for the Cray XC Compiling applications for the Cray XC Compiler Driver Wrappers (1) All applications that will run in parallel on the Cray XC should be compiled with the standard language wrappers. The compiler drivers

More information

Mathematical Libraries and Application Software on JUQUEEN and JURECA

Mathematical Libraries and Application Software on JUQUEEN and JURECA Mitglied der Helmholtz-Gemeinschaft Mathematical Libraries and Application Software on JUQUEEN and JURECA JSC Training Course November 2015 I.Gutheil Outline General Informations Sequential Libraries Parallel

More information

Institute for Materials Research, Tohoku University Parallel Computing & Informatics. Server Manual

Institute for Materials Research, Tohoku University Parallel Computing & Informatics. Server Manual Institute for Materials Research, Tohoku University Parallel Computing & Informatics Server Manual November 28th, 2018 Center for Computational Materials Science, Institute for Materials Research, Tohoku

More information

Our new HPC-Cluster An overview

Our new HPC-Cluster An overview Our new HPC-Cluster An overview Christian Hagen Universität Regensburg Regensburg, 15.05.2009 Outline 1 Layout 2 Hardware 3 Software 4 Getting an account 5 Compiling 6 Queueing system 7 Parallelization

More information

How to get Access to Shaheen2? Bilel Hadri Computational Scientist KAUST Supercomputing Core Lab

How to get Access to Shaheen2? Bilel Hadri Computational Scientist KAUST Supercomputing Core Lab How to get Access to Shaheen2? Bilel Hadri Computational Scientist KAUST Supercomputing Core Lab Live Survey Please login with your laptop/mobile h#p://'ny.cc/kslhpc And type the code VF9SKGQ6 http://hpc.kaust.edu.sa

More information

Linear Algebra libraries in Debian. DebConf 10 New York 05/08/2010 Sylvestre

Linear Algebra libraries in Debian. DebConf 10 New York 05/08/2010 Sylvestre Linear Algebra libraries in Debian Who I am? Core developer of Scilab (daily job) Debian Developer Involved in Debian mainly in Science and Java aspects sylvestre.ledru@scilab.org / sylvestre@debian.org

More information

Mathematical Libraries and Application Software on JUROPA, JUGENE, and JUQUEEN. JSC Training Course

Mathematical Libraries and Application Software on JUROPA, JUGENE, and JUQUEEN. JSC Training Course Mitglied der Helmholtz-Gemeinschaft Mathematical Libraries and Application Software on JUROPA, JUGENE, and JUQUEEN JSC Training Course May 22, 2012 Outline General Informations Sequential Libraries Parallel

More information

Introduction to HPC2N

Introduction to HPC2N Introduction to HPC2N Birgitte Brydsø, Jerry Eriksson, and Pedro Ojeda-May HPC2N, Umeå University 12 September 2017 1 / 38 Overview Kebnekaise and Abisko Using our systems The File System The Module System

More information

Advanced School in High Performance and GRID Computing November Mathematical Libraries. Part I

Advanced School in High Performance and GRID Computing November Mathematical Libraries. Part I 1967-10 Advanced School in High Performance and GRID Computing 3-14 November 2008 Mathematical Libraries. Part I KOHLMEYER Axel University of Pennsylvania Department of Chemistry 231 South 34th Street

More information

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

Introduction to Parallel Programming. Martin Čuma Center for High Performance Computing University of Utah Introduction to Parallel Programming Martin Čuma Center for High Performance Computing University of Utah mcuma@chpc.utah.edu Overview Types of parallel computers. Parallel programming options. How to

More information

Effective Use of CCV Resources

Effective Use of CCV Resources Effective Use of CCV Resources Mark Howison User Services & Support This talk... Assumes you have some familiarity with a Unix shell Provides examples and best practices for typical usage of CCV systems

More information

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

Introduction to Parallel Programming. Martin Čuma Center for High Performance Computing University of Utah Introduction to Parallel Programming Martin Čuma Center for High Performance Computing University of Utah mcuma@chpc.utah.edu Overview Types of parallel computers. Parallel programming options. How to

More information

Intel Parallel Studio XE 2015

Intel Parallel Studio XE 2015 2015 Create faster code faster with this comprehensive parallel software development suite. Faster code: Boost applications performance that scales on today s and next-gen processors Create code faster:

More information

Installing the Quantum ESPRESSO distribution

Installing the Quantum ESPRESSO distribution Joint ICTP-TWAS Caribbean School on Electronic Structure Fundamentals and Methodologies, Cartagena, Colombia (2012). Installing the Quantum ESPRESSO distribution Coordinator: A. D. Hernández-Nieves Installing

More information

Some notes on efficient computing and high performance computing environments

Some notes on efficient computing and high performance computing environments Some notes on efficient computing and high performance computing environments Abhi Datta 1, Sudipto Banerjee 2 and Andrew O. Finley 3 July 31, 2017 1 Department of Biostatistics, Bloomberg School of Public

More information

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

Introduction to Parallel Programming. Martin Čuma Center for High Performance Computing University of Utah Introduction to Parallel Programming Martin Čuma Center for High Performance Computing University of Utah m.cuma@utah.edu Overview Types of parallel computers. Parallel programming options. How to write

More information

GSI Fundamentals (1): Setup and Compilation

GSI Fundamentals (1): Setup and Compilation GSI Fundamentals (1): Setup and Compilation Donald Stark Na-onal Center for Atmospheric Research (NCAR) The Developmental Testbed Center (DTC) Tuesday 11 August, 2015 Outline GSI fundamentals (1): Setup

More information

Intel Math Kernel Library for macos*

Intel Math Kernel Library for macos* Intel Math Kernel Library for macos* Developer Guide Intel MKL 2019 - macos* Revision: 064 Legal Information Intel Math Kernel Library for macos* Developer Guide Contents Legal Information... 5 Getting

More information

EE/CSCI 451 Introduction to Parallel and Distributed Computation. Discussion #4 2/3/2017 University of Southern California

EE/CSCI 451 Introduction to Parallel and Distributed Computation. Discussion #4 2/3/2017 University of Southern California EE/CSCI 451 Introduction to Parallel and Distributed Computation Discussion #4 2/3/2017 University of Southern California 1 USC HPCC Access Compile Submit job OpenMP Today s topic What is OpenMP OpenMP

More information

Cray Scientific Libraries. Overview

Cray Scientific Libraries. Overview Cray Scientific Libraries Overview What are libraries for? Building blocks for writing scientific applications Historically allowed the first forms of code re-use Later became ways of running optimized

More information

Intel Math Kernel Library for Linux*

Intel Math Kernel Library for Linux* Intel Math Kernel Library for Linux* Developer Guide Intel MKL 2019 - Linux* Revision: 065 Legal Information Intel Math Kernel Library for Linux* Developer Guide Contents Legal Information... 6 Getting

More information

Introduction to Compilers and Optimization

Introduction to Compilers and Optimization Introduction to Compilers and Optimization Le Yan (lyan1@cct.lsu.edu) Scientific Computing Consultant Louisiana Optical Network Initiative / LSU HPC April 1, 2009 Goals of training Acquaint users with

More information

Introduction to HPC Numerical libraries on FERMI and PLX

Introduction to HPC Numerical libraries on FERMI and PLX Introduction to HPC Numerical libraries on FERMI and PLX HPC Numerical Libraries 11-12-13 March 2013 a.marani@cineca.it WELCOME!! The goal of this course is to show you how to get advantage of some of

More information

Programming Environment 4/11/2015

Programming Environment 4/11/2015 Programming Environment 4/11/2015 1 Vision Cray systems are designed to be High Productivity as well as High Performance Computers The Cray Programming Environment (PE) provides a simple consistent interface

More information

PGI Visual Fortran Release Notes. Version The Portland Group

PGI Visual Fortran Release Notes. Version The Portland Group PGI Visual Fortran Release Notes Version 12.10 The Portland Group While every precaution has been taken in the preparation of this document, The Portland Group (PGI ), a wholly-owned subsidiary of STMicroelectronics,

More information

Intel Math Kernel Library

Intel Math Kernel Library Intel Math Kernel Library Release 7.0 March 2005 Intel MKL Purpose Performance, performance, performance! Intel s scientific and engineering floating point math library Initially only basic linear algebra

More information

Cluster Clonetroop: HowTo 2014

Cluster Clonetroop: HowTo 2014 2014/02/25 16:53 1/13 Cluster Clonetroop: HowTo 2014 Cluster Clonetroop: HowTo 2014 This section contains information about how to access, compile and execute jobs on Clonetroop, Laboratori de Càlcul Numeric's

More information

Introduction to GALILEO

Introduction to GALILEO November 27, 2016 Introduction to GALILEO Parallel & production environment Mirko Cestari m.cestari@cineca.it Alessandro Marani a.marani@cineca.it SuperComputing Applications and Innovation Department

More information

Debugging with Totalview. Martin Čuma Center for High Performance Computing University of Utah

Debugging with Totalview. Martin Čuma Center for High Performance Computing University of Utah Debugging with Totalview Martin Čuma Center for High Performance Computing University of Utah mcuma@chpc.utah.edu Overview Totalview introduction. Basic operation. Serial debugging. Parallel debugging.

More information

Cray RS Programming Environment

Cray RS Programming Environment Cray RS Programming Environment Gail Alverson Cray Inc. Cray Proprietary Red Storm Red Storm is a supercomputer system leveraging over 10,000 AMD Opteron processors connected by an innovative high speed,

More information

GSI Fundamentals (1): Setup and Compilation

GSI Fundamentals (1): Setup and Compilation 2012 GSI Summer Tutorial, Boulder, CO GSI Fundamentals (1): Setup and Compilation Donald Stark Na-onal Center for Atmospheric Research (NCAR) The Developmental Testbed Center (DTC) Wednesday 21 August,

More information

Introduction to PICO Parallel & Production Enviroment

Introduction to PICO Parallel & Production Enviroment Introduction to PICO Parallel & Production Enviroment Mirko Cestari m.cestari@cineca.it Alessandro Marani a.marani@cineca.it Domenico Guida d.guida@cineca.it Nicola Spallanzani n.spallanzani@cineca.it

More information

Introduction to HPC2N

Introduction to HPC2N Introduction to HPC2N Birgitte Brydsø, Jerry Eriksson, and Pedro Ojeda-May HPC2N, Umeå University 17 September 2018 1 / 39 Overview Kebnekaise and Abisko Using our systems The File System The Module System

More information

Introduction to GALILEO

Introduction to GALILEO Introduction to GALILEO Parallel & production environment Mirko Cestari m.cestari@cineca.it Alessandro Marani a.marani@cineca.it Alessandro Grottesi a.grottesi@cineca.it SuperComputing Applications and

More information

COMPILING FOR THE ARCHER HARDWARE. Slides contributed by Cray and EPCC

COMPILING FOR THE ARCHER HARDWARE. Slides contributed by Cray and EPCC COMPILING FOR THE ARCHER HARDWARE Slides contributed by Cray and EPCC Modules The Cray Programming Environment uses the GNU modules framework to support multiple software versions and to create integrated

More information

Mathematical libraries at the CHPC

Mathematical libraries at the CHPC Presentation Mathematical libraries at the CHPC Martin Cuma Center for High Performance Computing University of Utah mcuma@chpc.utah.edu October 19, 2006 http://www.chpc.utah.edu Overview What and what

More information

Intel Math Kernel Library for Windows*

Intel Math Kernel Library for Windows* Intel Math Kernel Library for Windows* Developer Guide Intel MKL 2019 - Windows* Revision: 064 Legal Information Intel Math Kernel Library for Windows* Developer Guide Contents Legal Information... 6 Getting

More information

Linux environment. Graphical interface X-window + window manager. Text interface terminal + shell

Linux environment. Graphical interface X-window + window manager. Text interface terminal + shell Linux environment Graphical interface X-window + window manager Text interface terminal + shell ctrl-z put running command to background (come back via command fg) Terminal basics Two basic shells - slightly

More information

Cerebro Quick Start Guide

Cerebro Quick Start Guide Cerebro Quick Start Guide Overview of the system Cerebro consists of a total of 64 Ivy Bridge processors E5-4650 v2 with 10 cores each, 14 TB of memory and 24 TB of local disk. Table 1 shows the hardware

More information

The ISML Fortran Library Tutorial

The ISML Fortran Library Tutorial Updated: August 2012 Table of ontents Section 1: Introduction... 3 Section 2: Getting Started... 3 2.1 On the Unix Machines... 3 2.2 On Departmental Alpha OpenVMS Machines... 4 2 Section 1: Introduction

More information

MIGRATING TO THE SHARED COMPUTING CLUSTER (SCC) SCV Staff Boston University Scientific Computing and Visualization

MIGRATING TO THE SHARED COMPUTING CLUSTER (SCC) SCV Staff Boston University Scientific Computing and Visualization MIGRATING TO THE SHARED COMPUTING CLUSTER (SCC) SCV Staff Boston University Scientific Computing and Visualization 2 Glenn Bresnahan Director, SCV MGHPCC Buy-in Program Kadin Tseng HPC Programmer/Consultant

More information

Introduction to HPC2N

Introduction to HPC2N Introduction to HPC2N Birgitte Brydsø HPC2N, Umeå University 4 May 2017 1 / 24 Overview Kebnekaise and Abisko Using our systems The File System The Module System Overview Compiler Tool Chains Examples

More information

Shared Memory Programming With OpenMP Exercise Instructions

Shared Memory Programming With OpenMP Exercise Instructions Shared Memory Programming With OpenMP Exercise Instructions John Burkardt Interdisciplinary Center for Applied Mathematics & Information Technology Department Virginia Tech... Advanced Computational Science

More information

Practical Introduction to Message-Passing Interface (MPI)

Practical Introduction to Message-Passing Interface (MPI) 1 Outline of the workshop 2 Practical Introduction to Message-Passing Interface (MPI) Bart Oldeman, Calcul Québec McGill HPC Bart.Oldeman@mcgill.ca Theoretical / practical introduction Parallelizing your

More information

HPC with PGI and Scalasca

HPC with PGI and Scalasca HPC with PGI and Scalasca Stefan Rosenberger Supervisor: Univ.-Prof. Dipl.-Ing. Dr. Gundolf Haase Institut für Mathematik und wissenschaftliches Rechnen Universität Graz May 28, 2015 Stefan Rosenberger

More information

Intel Visual Fortran Compiler Professional Edition 11.0 for Windows* In-Depth

Intel Visual Fortran Compiler Professional Edition 11.0 for Windows* In-Depth Intel Visual Fortran Compiler Professional Edition 11.0 for Windows* In-Depth Contents Intel Visual Fortran Compiler Professional Edition for Windows*........................ 3 Features...3 New in This

More information

PORTING CP2K TO THE INTEL XEON PHI. ARCHER Technical Forum, Wed 30 th July Iain Bethune

PORTING CP2K TO THE INTEL XEON PHI. ARCHER Technical Forum, Wed 30 th July Iain Bethune PORTING CP2K TO THE INTEL XEON PHI ARCHER Technical Forum, Wed 30 th July Iain Bethune (ibethune@epcc.ed.ac.uk) Outline Xeon Phi Overview Porting CP2K to Xeon Phi Performance Results Lessons Learned Further

More information

PGI Installation and Release Notes for OpenPOWER CPUs

PGI Installation and Release Notes for OpenPOWER CPUs PGI Installation and Release Notes for OpenPOWER CPUs Version 2016 PGI Compilers and Tools TABLE OF CONTENTS Chapter 1. Release Overview... 1 1.1. About This Release...1 1.2. Release Components... 1 1.3.

More information

Combining OpenMP and MPI. Timothy H. Kaiser,Ph.D..

Combining OpenMP and MPI. Timothy H. Kaiser,Ph.D.. Combining OpenMP and MPI Timothy H. Kaiser,Ph.D.. tkaiser@mines.edu 1 Overview Discuss why we combine MPI and OpenMP Intel Compiler Portland Group Compiler Run Scripts Challenge: What works for Stommel

More information

SPIKE Documentation v1.0

SPIKE Documentation v1.0 SPIKE Documentation v1.0 Braegan Spring October 31, 2018 Contents 1 Intro 1 2 Compilation 2 3 Environment Variables 3 4 Examples 4 5 Usage 7 5.1 SPIKE parameter array entries..........................

More information

Beginner's Guide for UK IBM systems

Beginner's Guide for UK IBM systems Beginner's Guide for UK IBM systems This document is intended to provide some basic guidelines for those who already had certain programming knowledge with high level computer languages (e.g. Fortran,

More information

High Performance Computing Software Development Kit For Mac OS X In Depth Product Information

High Performance Computing Software Development Kit For Mac OS X In Depth Product Information High Performance Computing Software Development Kit For Mac OS X In Depth Product Information 2781 Bond Street Rochester Hills, MI 48309 U.S.A. Tel (248) 853-0095 Fax (248) 853-0108 support@absoft.com

More information

PGI Visual Fortran Release Notes. Version The Portland Group

PGI Visual Fortran Release Notes. Version The Portland Group PGI Visual Fortran Release Notes Version 13.3 The Portland Group While every precaution has been taken in the preparation of this document, The Portland Group (PGI ), a wholly-owned subsidiary of STMicroelectronics,

More information

Introduction to CINECA HPC Environment

Introduction to CINECA HPC Environment Introduction to CINECA HPC Environment 23nd Summer School on Parallel Computing 19-30 May 2014 m.cestari@cineca.it, i.baccarelli@cineca.it Goals You will learn: The basic overview of CINECA HPC systems

More information

The Cray XT Compilers

The Cray XT Compilers The Cray XT Compilers Geir Johansen, Cray Inc. ABSTRACT: The Cray XT3 and Cray XT4 supports compilers from the Portland Group, PathScale, and the GNU Compiler Collection. The goal of the paper is to provide

More information

Introduction to Fortran95 Programming Part I. By Deniz Savas, CiCS, Shef. Univ., 2018

Introduction to Fortran95 Programming Part I. By Deniz Savas, CiCS, Shef. Univ., 2018 Introduction to Fortran95 Programming Part I By Deniz Savas, CiCS, Shef. Univ., 2018 D.Savas@sheffield.ac.uk Fortran Standards Fortran 2 Fortran 4 Fortran 66 Fortran 77 : Character variables, File I/O

More information

Coding Tools. (Lectures on High-performance Computing for Economists VI) Jesús Fernández-Villaverde 1 and Pablo Guerrón 2 March 25, 2018

Coding Tools. (Lectures on High-performance Computing for Economists VI) Jesús Fernández-Villaverde 1 and Pablo Guerrón 2 March 25, 2018 Coding Tools (Lectures on High-performance Computing for Economists VI) Jesús Fernández-Villaverde 1 and Pablo Guerrón 2 March 25, 2018 1 University of Pennsylvania 2 Boston College Compilers Compilers

More information

GSI Fundamentals (1): Setup and Compilation

GSI Fundamentals (1): Setup and Compilation GSI Fundamentals (1): Setup and Compilation Mark Po(s Environmental Modeling Center (EMC) NOAA Center for Environmental Predic

More information

Our Workshop Environment

Our Workshop Environment Our Workshop Environment John Urbanic Parallel Computing Scientist Pittsburgh Supercomputing Center Copyright 2017 Our Environment This Week Your laptops or workstations: only used for portal access Bridges

More information

Shared Memory Programming With OpenMP Computer Lab Exercises

Shared Memory Programming With OpenMP Computer Lab Exercises Shared Memory Programming With OpenMP Computer Lab Exercises Advanced Computational Science II John Burkardt Department of Scientific Computing Florida State University http://people.sc.fsu.edu/ jburkardt/presentations/fsu

More information

Programming LRZ. Dr. Volker Weinberg, RRZE, 2018

Programming LRZ. Dr. Volker Weinberg, RRZE, 2018 Programming Environment @ LRZ Dr. Volker Weinberg, weinberg@lrz.de RRZE, 2018 Development tools Activity Tools Linux versions Source code development Editors vi, emacs, etc. Executable creation Compilers

More information

Intel Performance Libraries

Intel Performance Libraries Intel Performance Libraries Powerful Mathematical Library Intel Math Kernel Library (Intel MKL) Energy Science & Research Engineering Design Financial Analytics Signal Processing Digital Content Creation

More information

The Cray Compilation Environment (CCE) Additional Information

The Cray Compilation Environment (CCE) Additional Information The Cray Compilation Environment (CCE) Additional Information Cray Inc 2013 CCE Overview Cray technology focused on scientific applications Takes advantage of automatic vectorization Takes advantage of

More information

Introduction to OpenMP

Introduction to OpenMP Introduction to OpenMP Lecture 2: OpenMP fundamentals Overview Basic Concepts in OpenMP History of OpenMP Compiling and running OpenMP programs 2 1 What is OpenMP? OpenMP is an API designed for programming

More information

The Cray Programming Environment. An Introduction

The Cray Programming Environment. An Introduction The Cray Programming Environment An Introduction Vision Cray systems are designed to be High Productivity as well as High Performance Computers The Cray Programming Environment (PE) provides a simple consistent

More information

PGI Installation and Release Notes for OpenPOWER CPUs

PGI Installation and Release Notes for OpenPOWER CPUs PGI Installation and Release Notes for OpenPOWER CPUs Version 2017 PGI Compilers and Tools TABLE OF CONTENTS Chapter 1. Release Overview... 1 1.1. About This Release...1 1.2. Release Components... 1 1.3.

More information

Porting CESM Jim Edwards CESM Software Engineering Group

Porting CESM Jim Edwards CESM Software Engineering Group Porting CESM 1.2.2 Jim Edwards CESM Software Engineering Group Note: Porting CESM can be a difficult task which may require knowledge of the UNIX operating system, building code with gmake and cmake, scripting

More information

Scientific Programming in C XIV. Parallel programming

Scientific Programming in C XIV. Parallel programming Scientific Programming in C XIV. Parallel programming Susi Lehtola 11 December 2012 Introduction The development of microchips will soon reach the fundamental physical limits of operation quantum coherence

More information

Optimization and Scalability

Optimization and Scalability Optimization and Scalability Drew Dolgert CAC 29 May 2009 Intro to Parallel Computing 5/29/2009 www.cac.cornell.edu 1 Great Little Program What happens when I run it on the cluster? How can I make it faster?

More information

Why Combine OpenMP and MPI

Why Combine OpenMP and MPI Why Combine OpenMP and MPI OpenMP might not require copies of data structures Can have some interesting designs that overlap computation and communication Overcome the limits of small processor counts

More information

No Time to Read This Book?

No Time to Read This Book? Chapter 1 No Time to Read This Book? We know what it feels like to be under pressure. Try out a few quick and proven optimization stunts described below. They may provide a good enough performance gain

More information

An Introduction to Multicore Programming and the NAG Library for SMP & multicore

An Introduction to Multicore Programming and the NAG Library for SMP & multicore An Introduction to Multicore Programming and the NAG Library for SMP & multicore Craig Lucas November 2011 Experts in numerical algorithms and HPC services Agenda So what is multicore? The NAG Library

More information

Our Workshop Environment

Our Workshop Environment Our Workshop Environment John Urbanic Parallel Computing Scientist Pittsburgh Supercomputing Center Copyright 2018 Our Environment This Week Your laptops or workstations: only used for portal access Bridges

More information

Exercise: Calling LAPACK

Exercise: Calling LAPACK Exercise: Calling LAPACK In this exercise, we ll use the same conventions and commands as in the batch computing exercise. You should refer back to the batch computing exercise description for detai on

More information

IBM Research. IBM Research Report

IBM Research. IBM Research Report RC 21888 (98472) November 20, 2000 (Last update: September 17, 2018) Computer Science/Mathematics IBM Research Report WSMP: Watson Sparse Matrix Package Part II direct solution of general systems Version

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

Ranger Optimization Release 0.3

Ranger Optimization Release 0.3 Ranger Optimization Release 0.3 Drew Dolgert May 20, 2011 Contents 1 Introduction i 1.1 Goals, Prerequisites, Resources...................................... i 1.2 Optimization and Scalability.......................................

More information

The Art of Debugging: How to think like a programmer. Melissa Sulprizio GEOS-Chem Support Team

The Art of Debugging: How to think like a programmer. Melissa Sulprizio GEOS-Chem Support Team The Art of Debugging: How to think like a programmer Melissa Sulprizio GEOS-Chem Support Team geos-chem-support@as.harvard.edu Graduate Student Forum 23 February 2017 GEOS-Chem Support Team Bob Yantosca

More information

Our Workshop Environment

Our Workshop Environment Our Workshop Environment John Urbanic Parallel Computing Scientist Pittsburgh Supercomputing Center Copyright 2017 Our Environment This Week Your laptops or workstations: only used for portal access Bridges

More information

Orbital Integrator System Manual

Orbital Integrator System Manual Orbital Integrator System Manual Benjamin Sprague This manual is intended to describe the functionality of the orbital integrator system. Copyright c 2006 Benjamin Sprague Permission is granted to copy,

More information

AMD CPU Libraries User Guide Version 1.0

AMD CPU Libraries User Guide Version 1.0 AMD CPU Libraries User Guide Version 1.0 1 Contents 1. Introduction... 3 2. BLIS... 4 2.1. Installation... 4 2.1.1. Build BLIS from source... 4 2.1.1.1. Single-thread BLIS... 4 2.1.1.2. Multi-threaded

More information

Our Workshop Environment

Our Workshop Environment Our Workshop Environment John Urbanic Parallel Computing Scientist Pittsburgh Supercomputing Center Copyright 2017 Our Environment This Week Your laptops or workstations: only used for portal access Bridges

More information

How to Use the Condo and CyEnce Clusters Glenn R. Luecke Director of HPC Education & Professor of Mathematics April 11, 2018

How to Use the Condo and CyEnce Clusters Glenn R. Luecke Director of HPC Education & Professor of Mathematics April 11, 2018 How to Use the Condo and CyEnce Clusters Glenn R. Luecke Director of HPC Education & Professor of Mathematics April 11, 2018 Online Information and Help If you experience problems and would like help,

More information

Debugging, benchmarking, tuning i.e. software development tools. Martin Čuma Center for High Performance Computing University of Utah

Debugging, benchmarking, tuning i.e. software development tools. Martin Čuma Center for High Performance Computing University of Utah Debugging, benchmarking, tuning i.e. software development tools Martin Čuma Center for High Performance Computing University of Utah m.cuma@utah.edu SW development tools Development environments Compilers

More information

Optimizing Parallel Electronic Structure Calculations Through Customized Software Environment

Optimizing Parallel Electronic Structure Calculations Through Customized Software Environment Optimizing Parallel Electronic Structure Calculations Through Customized Software Environment Study of GPAW on Small HPC Clusters STEFAN GABRIEL SORIGA 1, PETRICA IANCU 1 *, ISABELA COSTINELA MAN 2,3,

More information

PRACE PATC Course: Intel MIC Programming Workshop, MKL. Ostrava,

PRACE PATC Course: Intel MIC Programming Workshop, MKL. Ostrava, PRACE PATC Course: Intel MIC Programming Workshop, MKL Ostrava, 7-8.2.2017 1 Agenda A quick overview of Intel MKL Usage of MKL on Xeon Phi Compiler Assisted Offload Automatic Offload Native Execution Hands-on

More information

Our Workshop Environment

Our Workshop Environment Our Workshop Environment John Urbanic Parallel Computing Scientist Pittsburgh Supercomputing Center Copyright 2016 Our Environment This Week Your laptops or workstations: only used for portal access Bridges

More information

GLAF: A Visual Programming and Auto- Tuning Framework for Parallel Computing

GLAF: A Visual Programming and Auto- Tuning Framework for Parallel Computing GLAF: A Visual Programming and Auto- Tuning Framework for Parallel Computing Student: Konstantinos Krommydas Collaborator: Dr. Ruchira Sasanka (Intel) Advisor: Dr. Wu-chun Feng Motivation High-performance

More information