CS 591x Profiling Parallel Programs Using the Portland Group Profiler.

Slides:



Advertisements
Similar presentations
Program Development Tools The GNU (GNU’s Not Unix) Toolchain The GNU toolchain has played a vital role in the development of the Linux kernel, BSD, and.
Advertisements

Intel® performance analyze tools Nikita Panov Idrisov Renat.
Beowulf Supercomputer System Lee, Jung won CS843.
Setting up of condor scheduler on computing cluster Raman Sehgal NPD-BARC.
Linux vs. Windows. Linux  Linux was originally built by Linus Torvalds at the University of Helsinki in  Linux is a Unix-like, Kernal-based, fully.
CS201 – Makefile Tutorial. A Trivial Makefile # Trivial Makefile for puzzle1.c # Ray S. Babcock, CS201, MSU-Bozeman # 1/5/05 # puzzle1: puzzle1.c gcc.
1 UQC122S3 Real-Time and Embedded Systems GCC as a cross compiler.
DESCRIBING DATA: 1. FREQUENCIES and FREQUENCY DISTRIBUTIONS.
Introduction to Scientific Computing on BU’s Linux Cluster Doug Sondak Linux Clusters and Tiled Display Walls Boston University July 30 – August 1, 2002.
Overview of Hadoop for Data Mining Federal Big Data Group confidential Mark Silverman Treeminer, Inc. 155 Gibbs Street Suite 514 Rockville, Maryland
Types of software. Sonam Dema..
Measuring zSeries System Performance Dr. Chu J. Jong School of Information Technology Illinois State University 06/11/2012 Sponsored in part by Deer &
1 uClinux course Day 3 of 5 The uclinux toolchain, elf format and ripping a “hello world”
Linux Basics CS 302. Outline  What is Unix?  What is Linux?  Virtual Machine.
Spring 2014 SILICON VALLEY UNIVERSITY CONFIDENTIAL 1 Introduction to Embedded Systems Dr. Jerry Shiao, Silicon Valley University.
Computational physics PY2050 Course Details:
With RTAI, MPICH2, MPE, Jumpshot, Sar and hopefully soon OProfile or VTune Dawn Nelson CSC523.
Chocolate Bar! luqili. Milestone 3 Speed 11% of final mark 7%: path quality and speed –Some cleverness required for full marks –Implement some A* techniques.
Visual C New Optimizations Ayman Shoukry Program Manager Visual C++ Microsoft Corporation.
SimpleScalar Tool Set, Version 2 CSE 323 Department of Computer Engineering.
Lecture 8. Profiling - for Performance Analysis - Prof. Taeweon Suh Computer Science Education Korea University COM503 Parallel Computer Architecture &
UNIT - 1Topic - 2 C OMPUTING E NVIRONMENTS. What is Computing Environment? Computing Environment explains how a collection of computers will process and.
Intro to Linux/Unix (user commands) Box. What is Linux? Open Source Operating system Developed by Linus Trovaldsa the U. of Helsinki in Finland since.
CSC 215 : Procedural Programming with C C Compilers.
Recap Technology trends Cost/performance Measuring and Reporting Performance What does it mean to say “computer X is faster than computer Y”? E.g. Machine.
A Virtual Machine Monitor for Utilizing Non-dedicated Clusters Kenji Kaneda Yoshihiro Oyama Akinori Yonezawa (University of Tokyo)
Component-Based Programming with Streams Philip Garcia University of Wisconsin - Madison Johannes Helander Microsoft Research.
Software Development Software Testing. Testing Definitions There are many tests going under various names. The following is a general list to get a feel.
Linux 简介. Contents Unix GNU/Linux, Distributions Basic usage Applications Compiling, compilers Clustering.
J. J. Rehr & R.C. Albers Rev. Mod. Phys. 72, 621 (2000) A “cluster to cloud” story: Naturally parallel Each CPU calculates a few points in the energy grid.
Parallelization of the Classic Gram-Schmidt QR-Factorization
CISC Machine Learning for Solving Systems Problems Presented by: Alparslan SARI Dept of Computer & Information Sciences University of Delaware
1 Components of the Virtual Memory System  Arrows indicate what happens on a lw virtual address data physical address TLB page table memory cache disk.
Application Profiling Using gprof. What is profiling? Allows you to learn:  where your program is spending its time  what functions called what other.
CSE 303 Concepts and Tools for Software Development Richard C. Davis UW CSE – 12/6/2006 Lecture 24 – Profilers.
Research Topics CSC Parallel Computing & Compilers CSC 3990.
+ EXERCISE 2D TWO-WAY FREQUENCY TABLES AND SEGMENTED BAR CHARTS.
1. 2 Table 4.1 Key characteristics of six passenger aircraft: all figures are approximate; some relate to a specific model/configuration of the aircraft.
Microsoft Visual Basic 2005 BASICS Lesson 1 A First Look at Microsoft Visual Basic.
CS 460/660 Compiler Construction. Class 01 2 Why Study Compilers? Compilers are important – –Responsible for many aspects of system performance Compilers.
1 Announcements  Homework 4 out today  Dec 7 th is the last day you can turn in Lab 4 and HW4, so plan ahead.
Profiling Tools Introduction to Computer System, Fall (PPI, FDU) Vtune & GProfile.
An Investigation of Xen and PTLsim for Exploring Latency Constraints of Co-Processing Units Grant Jenks UCLA.
Application Software System Software.
Database Project Team 4 Group c v Menna Hamza Mohamad Hesham Mona Abdel Mageed Yasmine Shaker.
Software Architecture in Practice Mandatory project in performance engineering.
Software Engineering Prof. Dr. Bertrand Meyer March 2007 – June 2007 Chair of Software Engineering Lecture #20: Profiling NetBeans Profiler 6.0.
Update on Modeling Activities Gun Simulation Optimization Using Genetic Algorithms.
GNU Make Computer Organization II 1 © McQuain What is make ? make is a system utility for managing the build process (compilation/linking/etc).
*Pentium is a trademark or registered trademark of Intel Corporation or its subsidiaries in the United States and other countries Performance Monitoring.
Thesis Proposal Template Recognition of Bytecodes and Execution using Hardware Architecture. (Vectorization of Java) by Ian Reddy.
July 10, 2016ISA's, Compilers, and Assembly1 CS232 roadmap In the first 3 quarters of the class, we have covered 1.Understanding the relationship between.
Introduction to FOSS. Classes of software  Operating System (OS)  Software that manages all the application programs in a computer  Manages the computer.
Two notions of performance
CSC227: Operating Systems
Fundamentals Sunny Sharma Microsoft
Measuring Where CPU Time Goes
Optimization and Parallelization of CBD models
Paul Sexton CS 566 February 6, 2006
Intro. To Operating Systems
CMSC 611: Advanced Computer Architecture
GNU gcov (1/4) [from Wikipedia]
Assembly Language for Intel-Based Computers
Which graph should I use?
Introduction to OProfile
Charles Tappert Seidenberg School of CSIS, Pace University
GNU gcov gcov is a test coverage program running with gcc.
CMSC 611: Advanced Computer Architecture
GNU gcov (1/4) [from Wikipedia]
Min Heap Update E.g. remove smallest item 1. Pop off top (smallest) 3
Presentation transcript:

CS 591x Profiling Parallel Programs Using the Portland Group Profiler

Performance and Profiling Since parallel programming is all about performance… … we may want to study our programs in terms of their performance… and look for ways to enhance performance In a production application a small change may make a big difference

Performance and Profiling We could … Try running our programs on different machines (Xeon vs. Pentium) Tweak our code and rerun rescale our application to use more processors MPI_Wtime()

Profiling We may want to look at our code … and see how it is performing internally … how the various pieces are performing during execution

Profiling A Profiler … A tool to examine the performance of a program while it is executing Can examine the performance at function/routine level… … or at line level

Profiler Profilers … can report the number of calls to a function or line can report the percentage of call to a function or line often have some graphics capability – bar graphs

Profiler Profilers are often part of development tool suites gprof – GNU’s profiler part of the gcc suite free – part of most Linux distributions gcc –pg myprog.c –o myprog pgprof – Portland Group Profiler part of the Portland Group Cluster Development kit

pgprof Analyzes/reports performance data based on program execution Must add profile data collection calls to your code profiling calls can effect performance but relative performance should be consistent Optimization can impact profiling

pgprof Must compile/link code with -Mprof= option -Mprof=func -Mprof=lines -Mprof=mpi -Mprof=lines,mpi

pgprof … then execute as normal produces profile data file(s)….. pgprof.out … … then run pgprof [pgprof.out]

For more information…