Gprof - Scalasca - VTune

Σχετικά έγγραφα
Gprof - Scalasca - VTune

εφαρμογών Συμπεριφορά απόδοσης εφαρμογών Benchmarks, Profiling GRNET ntell [at] grnet.gr Χρονοεπίδοση και αξιολόγηση απόδοσης εφαρμογών

εφαρμογών Συμπεριφορά απόδοσης εφαρμογών Benchmarks, Profiling GRNET ntell [at] grnet.gr Χρονοεπίδοση και αξιολόγηση απόδοσης εφαρμογών

CE121 Προγραµµατισµός ΙΙ. Χρόνος εκτέλεσης. Βάνα Ντουφεξή

Hancock. Ζωγραφάκης Ιωάννης Εξαρχάκος Νικόλαος. ΕΠΛ 428 Προγραμματισμός Συστημάτων

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

Ενσωματωμένα Συστήματα

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

CS255 - Programming Lab

ΠΛΕ- 027 Μικροεπεξεργαστές

VBA ΣΤΟ WORD. 1. Συχνά, όταν ήθελα να δώσω ένα φυλλάδιο εργασίας με ασκήσεις στους μαθητές έκανα το εξής: Version ΗΜΙΤΕΛΗΣ!!!!

Προγραμματισμός συστημάτων UNIX/POSIX. Χρονομέτρηση, καθυστέρηση και ανάλυση επιδόσεων

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Προγραμματισμός συστημάτων UNIX/POSIX. Χρονομέτρηση

Τεχνικές μεταγλώττισης - Αποσφαλμάτωση

Οδηγίες Χρήσης Παράλληλης Μηχανής 160 πυρήνων (rbs.marie.hellasgrid.gr)

Dynamic types, Lambda calculus machines Section and Practice Problems Apr 21 22, 2016

ΚΕΦΑΛΑΙΟ 2. Περιγραφή της Κίνησης. 2.1 Κίνηση στο Επίπεδο

Συστήµατα και Αλγόριθµοι Πολυµέσων

Εισαγωγή στους υπολογιστές υψηλών επιδόσεων και το σύστημα ARIS του ΕΔΕΤ

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

Cilk: Φιλοσοφία και Χρήση

Οδηγίες Χρήσης Παράλληλης Μηχανής 160 πυρήνων (rbs.marie.hellasgrid.gr)

ΑΥΤΟΜΑΤΟΠΟΙΗΣΗ ΜΟΝΑΔΑΣ ΘΡΑΥΣΤΗΡΑ ΜΕ ΧΡΗΣΗ P.L.C. AUTOMATION OF A CRUSHER MODULE USING P.L.C.

Δείκτες σε συναρτήσεις. Προγραμματισμός II 1

Κατανεμημένα και Παράλληλα Συστήματα (εργαστήριο) Παραδείγματα με openmp

Διάλεξη 17: Έλεγχος Λογισμικού

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007

Τέτοιες λειτουργίες γίνονται διαμέσου του

ΘΕΜΑ PROJECT COMPILER FLAGS ΤΡΑΧΑΝΗΣ ΔΗΜΗΤΡΗΣ 6108 ΤΡΑΧΑΝΗΣ ΓΕΩΡΓΙΟΣ 5789

Εισαγωγή Βασικές εντολές Εκτέλεση βήµα-βήµα Εξέταση/Ανάθεση GDB-101. Νίκος Ντάρµος Τµήµα Πληροφορικής Πανεπιστήµιο Ιωαννίνων

Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών. Οδηγίες εργαστηρίου. Συστήματα Παράλληλης Επεξεργασίας 9 ο Εξάμηνο

Λειτουργικά Συστήματα. Εισαγωγή

Μετατροπή χαρακτήρων ASCII σε ακέραιο αριθµό (atoi) & Άνοιγµα αρχείου µέσα από τo QtSPIM, διάβασµα, και αποθήκευση του περιεχοµένου του στη µνήµη

Partial Trace and Partial Transpose

ΕΙΣΑΓΩΓΗ ΣΤΟN ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

EPL475:Εργαστήριο 4, openssl Assymmetric Encryption

(C) 2010 Pearson Education, Inc. All rights reserved.

ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός. Εργαστήριο Αρ. 2

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Περιγραφή και Έλεγχος ιεργασιών

Παράλληλος προγραμματισμός: Σχεδίαση και υλοποίηση παράλληλων προγραμμάτων

HY150a Φροντιστήριο 3 24/11/2017

Προγραμματισμός Ι. Κλάσεις και Αντικείμενα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

11/28/2016 Απόδοση Συστημάτων, Remote Jmeter και Dacappo

Μετατροπή χαρακτήρων ASCII σε αριθμό (atoi) & διάβασμα, και αποθήκευση του περιεχομένου του στη μνήμη. (Διάλεξη. Πανεπιστήμιο Κύπρου

Instruction Execution Times

Υ- 01 Αρχιτεκτονική Υπολογιστών Εισαγωγή

Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής

Εισαγωγή στο Bison. Μεταγλωττιστές, Χειμερινό εξάμηνο

Ηχογράφηση στο Audacity

Εισαγωγή στη Fortran. Μάθημα 3 ο. Ελευθερία Λιούκα

Εισαγωγή στα Πληροφοριακά Συστήματα. Ενότητα 5: Λογισμικό - Software

Διάλεξη 22η: Επιπλέον στοιχεία της C

Test Data Management in Practice

Οδηγι ες Χρη σης του MPICH στα Νέα LinuxXX.di.uoa.gr

Writing kernels for fun and profit

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

OpenMP. Συστήµατα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστηµάτων. Αθήνα, Νοέµβριος /11/2004 Εισαγωγή στο OpenMP 1

Προγραμματισμός Συστημάτων Υψηλών Επιδόσεων (ΗΥ421) Εργασία Εξαμήνου

Εισαγωγικά & Βασικές Έννοιες

Minimum Spanning Tree: Prim's Algorithm

Network Algorithms and Complexity Παραλληλοποίηση του αλγορίθμου του Prim. Αικατερίνη Κούκιου

Οδηγίες Χρήσης Παράλληλης Μηχανής 160 πυρήνων (rbs.marie.hellasgrid.gr)

Οδηγίες Εγκατάστασης και χρήσης προγραμμάτων για την γλώσσα C

Παράλληλη Επεξεργασία

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΑΝΑΤΟΛΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ & ΘΡΑΚΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ Τ.Ε.

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ. Δρ. Ιωάννης Λυχναρόπουλος Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας

Φροντιςτήριο. Linked-List

GPGPU. Grover. On Large Scale Simulation of Grover s Algorithm by Using GPGPU

Επιτεύγµατα των Λ.Σ.

ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I

DESIGN OF MACHINERY SOLUTION MANUAL h in h 4 0.

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ. του Γεράσιμου Τουλιάτου ΑΜ: 697

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΤΟΜΕΑΣ ΥΔΡΑΥΛΙΚΗΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΙΚΗΣ ΤΕΧΝΙΚΗΣ. Ειδική διάλεξη 2: Εισαγωγή στον κώδικα της εργασίας

Κατανεμημένος και Παράλληλος Προγραμματισμός. Εισαγωγή στο MPI. Εγκατάσταση MPICH σε ένα ΗΥ 10/3/2017

ΕΛΕΓΧΟΣ ΑΝΤΛΙΟΣΤΑΣΙΟΥ ΜΕ ΔΕΞΑΜΕΝΗ ΜΕΣΩ GSM CHECK IN TANK PUMPING THROUGH GSM

Εργαστήριο Αρ. 1. Εισαγωγή στην Αρχιτεκτονική MIPS. Πέτρος Παναγή Σελ. 1

Εισαγωγή στο Bison. Μεταγλωττιστές, Χειμερινό εξάμηνο

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017

IT & Networking DEVELOPING Essential Python 3. Κωδικός Σεμιναρίου / Code

Δυναμική μνήμη με πίνακες και λίστες

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2

Προγραμματισμός Ταυτόχρονος Προγραμματισμός

Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών

Practice Exam 2. Conceptual Questions. 1. State a Basic identity and then verify it. (a) Identity: Solution: One identity is csc(θ) = 1

Λύσεις Λογισμικού Ανοικτού Κώδικα για Παράλληλο Προγραμματισμό

Παράλληλη Επεξεργασία

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE)

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Υπο-προγράμματα στη Fortran

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE)

Journal of the Graduate School of the Chinese Academy of Sciences. Application Dependent Software. Standard Application Components.

JAVA TUTORIAL ΠΕΡΙΕΧΟΜΕΝΑ. ΚΕΦΑΛΑΙΟ 1. Τί κάνει τη Java να ξεχωρίζει; Εγκαθιστώντας τη Java

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Προγραμματισμός Αναδρομή

Επιστημονικοί Υπολογισμοί - Μέρος ΙΙΙ: Παράλληλοι Υπολογισμοί

Εργαστήριο Δικτύων. 6 η Διάλεξη: Network Simulator NS

MIPS Interactive Learning Environment. MILE Simulator. Version 1.0. User's Manual

Transcript:

- - VTune Νίκος Νικολουτσάκος ΕΔΕΤ nikoloutsa [at] grnet.gr http://doc.aris.grnet.gr/development/ #performance-analysis Εκπαιδευτικό Σεμινάριο ARIS Αθήνα, 14-16 Σεπ. 2015 1/35

1 2 3 4 5 6 Εκπαιδευτικό Σεμινάριο ARIS Αθήνα, 14-16 Σεπ. 2015 2/35

παράλληλων προγραμμάτων Σειριακοί παράγοντες Υπολογισμοί (αλγόριθμος, βελτιστοποίηση μεταγλωττιστή) Κρυφή & Κύρια μνήμη (αρχιτεκτονική, fine-tuning) I/O Παράλληλοι παράγοντες Τμηματοποίηση, Διαμοιρασμός Επικοινωνία (message passing) Multithreading Συγχρονισμός / Αποκλεισμός Εκπαιδευτικό Σεμινάριο ARIS Αθήνα, 14-16 Σεπ. 2015 3/35

Χρονομέτρηση καλύτερη από την εικασία Εύρεση καθυστερήσεων Σύγκριση εναλλακτικών Επικύρωση επιλογών βελτιστοποίησης Εκπαιδευτικό Σεμινάριο ARIS Αθήνα, 14-16 Σεπ. 2015 4/35

Τι μετράμε; Χρόνος εκτέλεσης Wall-clock (υπολογισμός, I/O, σύστημα) CPU time μη-ντετερμινιστικός μέσο όρο μετρήσεων... Αριθμό κλήσεων συνάρτησης CPU cycles per instruction FLOPs Πλήθος μηνυμάτων, μέγεθος... Εκπαιδευτικό Σεμινάριο ARIS Αθήνα, 14-16 Σεπ. 2015 5/35

Πώς ενεργοποιούνται οι μετρήσεις επιδόσεων; Δειγματοληψία Code instrumentation Πώς καταγράφονται τα δεδομένα? / Runtime summarization Tracing : Summarization of events over execution interval Tracing: Chronologically ordered sequence of event records Εκπαιδευτικό Σεμινάριο ARIS Αθήνα, 14-16 Σεπ. 2015 6/35

Τύποι profiling Flat profile κατανομή μετρήσεων ανα συνάρτηση Call-path profile κατανομή μετρήσεων ανα μονοπάτι εκτέλεσης Ειδικού σκοπού εστίαση σε MPI calls, OpenMP constructs,... Εκπαιδευτικό Σεμινάριο ARIS Αθήνα, 14-16 Σεπ. 2015 7/35

I Fortran 90 integer :: counti, countf, count_rate real :: dt call system_clock(counti,count_rate)... work... call system_clock(countf) dt=real(countf-counti)/real(count_rate) Εκπαιδευτικό Σεμινάριο ARIS Αθήνα, 14-16 Σεπ. 2015 8/35

II C static double get_second (void){ struct timeval tv; gettimeofday(&tv, NULL); return (double)tv.tv_sec + (double)tv.tv_usec / 1000000.0; } //1.e6 start = get_second();...work... stop = get_second(); double totaltime = stop - start; Εκπαιδευτικό Σεμινάριο ARIS Αθήνα, 14-16 Σεπ. 2015 9/35

III MPI double precision :: t1, t2,dt... t1 = MPI_WTIME()... work... t2 = MPI_WTIME() deltat = t2-t1 double t1, t2; t1 = MPI_WTIME();...work... t2 = MPI_WTIME(); deltat = t2-t1; Εκπαιδευτικό Σεμινάριο ARIS Αθήνα, 14-16 Σεπ. 2015 10/35

allows you to learn where your program spent its time and which functions called which other functions while it was executing gprof GNU Profiler sourceware.org/binutils/docs/gprof/ only user space Εκπαιδευτικό Σεμινάριο ARIS Αθήνα, 14-16 Σεπ. 2015 11/35

Προετοιμασία Μεταγλώττιση + Σύνδεση gcc [flags] -g <source file> -o <output file> -pg Error gprof: gmon.out file is missing call-graph data Εκπαιδευτικό Σεμινάριο ARIS Αθήνα, 14-16 Σεπ. 2015 12/35

gprof options [executable-file [profile-data-files...]] [> outfile] Επιλογές εξόδου -b doesn t print the verbose blurbs -p print a flat profile -p<func name> function specific -P suppress flat profile -q, -Q call graph only Επιλογές ανάλυσης -a : suppress the printing of statically declared (private) functions. Εκπαιδευτικό Σεμινάριο ARIS Αθήνα, 14-16 Σεπ. 2015 13/35

gcc -Wall -pg test_gprof.c -o test_gprof gprof test_gprof gmon.out > analysis.txt Εκπαιδευτικό Σεμινάριο ARIS Αθήνα, 14-16 Σεπ. 2015 14/35

Εκπαιδευτικό Σεμινάριο ARIS Αθήνα, 14-16 Σεπ. 2015 15/35

gprof -Pfunc1 -b test_gprof gmon.out Εκπαιδευτικό Σεμινάριο ARIS Αθήνα, 14-16 Σεπ. 2015 16/35

Scalable performance analysis of large-scale parallel applications http://www..org Open source ScoreP: instrumentation, mpi/shmem, openmp/pthreads hyrbid : Analysis report : trace analysis module load Εκπαιδευτικό Σεμινάριο ARIS Αθήνα, 14-16 Σεπ. 2015 17/35

Toolset for scalable performance analysis of large-scale parallel applications usage: [OPTION]... ACTION <argument>... 1. prepare application objects and executable for measurement: -instrument <compile-or-link-command> # skin (using ) 2. run application under control of measurement system: -analyze <application-launch-command> # scan 3. interactively explore measurement analysis report: -examine <experiment-archive report> # square Εκπαιδευτικό Σεμινάριο ARIS Αθήνα, 14-16 Σεπ. 2015 18/35

Summary Report I Instrumentation MPIF77 = mpif77 Check env -info config-vars full Run scan export SCOREP_EXPERIMENT_DIRECTORY=_btmz_W_4x4_sum scan mpirun -np 4./bt-mz_W.4 Εκπαιδευτικό Σεμινάριο ARIS Αθήνα, 14-16 Σεπ. 2015 19/35

Summary Report II Analysis report square square -s _bt-mz_w_4x4_sum -score _bt-mz_w_4x4_sum/profile.cubex -score -r _bt-mz_w_4x4_sum/profile.cubex Εκπαιδευτικό Σεμινάριο ARIS Αθήνα, 14-16 Σεπ. 2015 20/35

Analysis report examination cube _bt-mz_w_4x4_sum/profile.cubex square _bt-mz_w_4x4_sum Εκπαιδευτικό Σεμινάριο ARIS Αθήνα, 14-16 Σεπ. 2015 21/35

Εκπαιδευτικό Σεμινάριο ARIS Αθήνα, 14-16 Σεπ. 2015 22/35

trace analysis scan -t Εκπαιδευτικό Σεμινάριο ARIS Αθήνα, 14-16 Σεπ. 2015 23/35

Εκπαιδευτικό Σεμινάριο ARIS Αθήνα, 14-16 Σεπ. 2015 24/35

Critical-path Εκπαιδευτικό Σεμινάριο ARIS Αθήνα, 14-16 Σεπ. 2015 25/35

Intel VTune I Intel s VTune profiling tool for scalar, multi-threaded and MPI applications http://software.intel.com/en-us/ intel-vtune-amplifier-xe Although VTune can be used with MPI programs, its functionality is aimed at analysing multi-threaded programs. Γραφικό περιβάλλον amplxe-gui Γραμμή εντολών amplxe-cl Εκπαιδευτικό Σεμινάριο ARIS Αθήνα, 14-16 Σεπ. 2015 26/35

Περιβάλλον γραμμής εντολών amplxe-cl -help amplxe-cl -help collect amplxe-cl -collect hotspots -result-dir mydir home/test/sample amplxe-cl -R summary -r mydir Εκπαιδευτικό Σεμινάριο ARIS Αθήνα, 14-16 Σεπ. 2015 27/35

Intel VTune Διαθέσιμες επιλογές advanced-hotspots: Advanced Hotspots bandwidth: Bandwidth concurrency: Concurrency hotspots: Basic Hotspots locksandwaits: Locks and Waits Εκπαιδευτικό Σεμινάριο ARIS Αθήνα, 14-16 Σεπ. 2015 28/35

Intel VTune Εκπαιδευτικό Σεμινάριο ARIS Αθήνα, 14-16 Σεπ. 2015 29/35

Intel VTune #!/bin/bash #SBATCH --job-name=vtune #SBATCH --partition=compute #SBATCH --nodes=1 #SBATCH --ntasks-per-node=16 #SBATCH --time=00:01:00 #SBATCH --account=testproj export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK srun amplxe-cl -r myresult -quiet -collect advanced-hotspots./matrix.icc Εκπαιδευτικό Σεμινάριο ARIS Αθήνα, 14-16 Σεπ. 2015 30/35

Intel VTune amplxe-gui r000hs/r000hs.amplxe Εκπαιδευτικό Σεμινάριο ARIS Αθήνα, 14-16 Σεπ. 2015 31/35

Intel VTune Εκπαιδευτικό Σεμινάριο ARIS Αθήνα, 14-16 Σεπ. 2015 32/35

Intel VTune Εκπαιδευτικό Σεμινάριο ARIS Αθήνα, 14-16 Σεπ. 2015 33/35

Υπάρχει πρόβλημα απόδοσης; time, speedup, scalability Ποιά είναι η βασική καθυστέρηση; (υπολογισμός, επικοινωνία) MPI/ OpenMP / flat profiling Που είναι η βασική καθυστέρηση; Call-path Γιατί υπάρχει; hardware count analysis Προβλήματα κλιμακωσιμότητας load imbalance, compare profiles various sizes function by function Εκπαιδευτικό Σεμινάριο ARIS Αθήνα, 14-16 Σεπ. 2015 34/35

time Linux man page GNU gprof a Program: Where Does It Spend Its? Scalable performance analysis of large-scale parallel applications User Guide Intel VTune Amplifier Performance Analysis User s Guide NASA Advanced Supercomputing Division. NAS Parallel Benchmarks website Εκπαιδευτικό Σεμινάριο ARIS Αθήνα, 14-16 Σεπ. 2015 35/35