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

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

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

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

GRNET. ntell [at] grnet.gr

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

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στο Λ.Σ. UNIX

Βασική εγκατάσταση Asterisk σε Linux

Οδηγίες για την εγκατάσταση του πακέτου Cygwin

Μανώλης Κιαγιάς, MSc. Aiolos Project. Αρχικές Ρυθμίσεις SSH και εγκατάσταση OpenMPI

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Εργαστήριο Εγκατάσταση Ubuntu με VirtualBox Εγκατάσταση Ubuntu με Unetbootin Απομακρυσμένη πρόσβαση με Putty/WinSCP

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Σύντομη εισαγωγή στο εργαστήριο

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

Open eclass Πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης

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

Πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης eclass 1.7. Οδηγίες Αναβάθμισης (Upgrade) Αθήνα, 16 Μαρτίου Εισαγωγή

ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος , Εαρινό Εξάμηνο. Εργαστηριακή Άσκηση 1 17/01/2012

ΔΗ Μ Ι Ο ΥΡ Γ Ι Α W I K I με τ η χρήση τ η ς υπ ηρεσίας h t t p : / id ot.com /

Σύντομος Οδηγός Github Μηνάς Δασυγένης (

Management Classes Create Class Create Class Management Classes List of Classes

Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο. UNIX Μέρος 1

Πλατφόρµα Ασύγχρονης Τηλεκπαίδευσης eclass 2.0. Οδηγίες Αναβάθµισης (Upgrade) Αθήνα, 1 Ιουνίου Εισαγωγή

Management School School Profile Save

Οδηγίες εγκατάστασης IBM SPSS Statistics 20

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

Αρχεία PowerPoint, ο δικτυακός τόπος Slideshare και το WordPress

2.1. Οι λογαριασµοί χρηστών Σύνδεση (login) και αποσύνδεση (logout)

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

Αντικειμενοστρεφής Προγραμματισμός

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

ΑΣΚΗΣΗ 1: TO ΠΕΡΙΒΑΛΛΟΝ ΕΡΓΑΣΙΑΣ DEV-C++

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ FORUM SITE

ΜΕΤΑΦΟΡΑ ΑΡΧΕΙΩΝ FTP

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

Linux με τη χρήση κονσόλας

Οδηγίες. Xρήση της Υπηρεσίας Φιλοξενίας Προσωπικών Ιστοσελίδων (Private Web hosting)

ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές

ΚΕΦΑΛΑΙΟ Web Services

Ενημερωτικός οδηγός για τον εξυπηρετητή Ada

How to register an account with the Hellenic Community of Sheffield.

ΕΡΓΑΣΤΗΡΙΟ 1: Εισαγωγή, Χρήσιμες Εφαρμογές

ΕΡΓΑΣΙΑ 2 - MOODLE ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Ακ. Έτος ΔΙΔΑΣΚΩΝ: Π. Εφραιμίδης. Υπεύθυνος εργαστηρίου: Α. Κουτσιαμάνης

Barcode scanner Posiflex CD D. Motorola AP 5131 Wireless Access Point (Εγκατάσταση)

Εγχειρίδιο χρήσης συστήματος ηλεκτρονικής αλληλογραφίας της Ελληνικής Ομοσπονδίας Μπριτζ

Εγχειρίδιο Χρήσης-Οδηγός Εκπαίδευσης Χρηστών. - Δήμος Δέλτα - Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης

Οδηγίες εγκατάστασης και λειτουργίας ERPeshop

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 00Β

Μεταφορά Αρχείων µε χρήση της Υπηρεσίας FTP σελ. 1

Υπηρεσία διαμοιρασμού αρχείων

TeleCost Hotel για Panasonic TDA

Οδηγίες υποβολής αιτήματος πελάτη προς τμήμα υποστήριξης Orthology

lab0: Εισαγωγή σε Linux

ΠΑΓΚΑΛΟΣ ΙΩΑΝΝΗΣ ΣΙΣΜΑΝΗΣ ΝΙΚΟΣ. File Transfer Protocol

Οδηγός Χρήσης της Υπηρεσίας Τηλεομοιότυπου (RightFax Fax Service) Web Utility. (διαδικτυακή εφαρμογή)

Οδηγίες Χρήσης της MySQL

$./jms console -w <jms in> -r <jms out> -o <operations file> namedpipe. (standard input).

ΕΓΚΑΤΑΣΤΑΣΗ ΕΦΑΡΜΟΓΩΝ ΓΙΑ ΠΡΟΣΩΠΙΚΟ ΥΠΟΛΟΓΙΣΤΗ (MS WINDOWS, LINUX, MACOS)

GRNET. kyrginis [at] grnet.gr, ntell [at] grnet.gr

Hase οδηγίες χρήσης.

Hase οδηγίες χρήσης.

Εγχειρίδιο Χρήσης για Φοιτητές

Δημιουργία μιας εφαρμογής Java με το NetBeans

Οδηγίες Ανάκτησης Password λογαριασμού URegister

Από τον κατάλογο Web επιλέγουμε το Page, οπότε στο κυρίως μέρος της οθόνης εμφανίζονται οι σελίδες τις οποίες έχουμε δικαίωμα να ενημερώσουμε.

GRNET. kyrginis [at] grnet.gr

databases linux - terminal (linux / windows terminal)

ΕΡΓΑΣΙΑ. (στο μάθημα: Τεχνολογίες Εφαρμογών Διαδικτύου του Η εξαμήνου σπουδών του Τμήματος Πληροφορικής & Τηλ/νιών)

Μερικές άλλες χρήσιμες εντολές

Οδηγός Βήμα-Βήμα για να εγκαταστήσετε τα Windows 7 στον Η/Υ σας

Δημιουργία Λογαριασμού Διαχείρισης Business Telephony Create a Management Account for Business Telephony

Διαχείριση Πληροφοριών στο Διαδίκτυο. Εργαστήριο 1

Σημειώσεις για τις Ιστοσελίδες του Google

Οδηγίες εγκατάστασης και χρήσης Java σε προσωπικό υπολογιστή

ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη

ΤΕΙ ΚΡΗΤΗΣ ΚΕΝΤΡΙΚΗ ΒΙΒΛΙΟΘΗΚΗ. Η χρήση του. Βήμα προς Βήμα

Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών ΗΥ463 Συστήματα Ανάκτησης Πληροφοριών Χειμερινό Εξάμηνο

Εισαγωγή στον Προγραμματισμό Μάθημα 1: Βασική Πλοήγηση σε Linux CLI. Οκτώβριος 2016 Χ. Αλεξανδράκη

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

Εγκατάσταση του PiNet για διαχείριση εργαστηρίου με Raspberry Pi. Συγγραφέας: Τριχόπουλος Γιώργος Δεκέμβριος 2016

Εργαστηά ριο Βαά σεων Δεδομεάνων

Διαδικτυακή Πύλη (web portal) ΟΔΗΓΟΣ ΧΡΗΣΗΣ System Συμβουλευτική Α.Ε

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

«Σύστημα ΔΕΠ» ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ. Έκδοση 1.1

GRNET. ntell [at] grnet.gr

Εγχειρίδιο Χρήστη - Μαθητή

Οδηγίες Εγγραφής στις Εξετάσεις για Ανεξάρτητους Υποψηφίους

Εγκατάσταση Joomla 1. Στο Π.Σ.Δ. ( 2. Τοπικά 3. Σε δωρεάν Server

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

Σενάριο Εστίασης Win XP:

MCSS Medical Center Support Systems. Setup Instructions

ΟΔΗΓΙΕΣ ΣΥΝΔΕΣΗΣ ΣΤΟ ΔΙΚΤΥΟ ΤΟΥ ΟΠΑ ΑΠΟ ΕΞΩΤΕΡΙΚΟ ΠΑΡΟΧΟ (ΥΠΗΡΕΣΙΑ VPN) Windows 8, Windows 7, Windows Vista, Windows XP

Ενημερωτικός οδηγός για τον εξυπηρετητή Ada

ΗΥ486 - Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο Δεύτερη Προγραμματιστική Εργασία

Hase οδηγίες χρήσης.

ΔΗΜΙΟΥΡΓΙΑ ΚΑΤΑΛΟΓΟΥ ΕΤΕΡΟΑΝΑΦΟΡΩΝ

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

Distributed computing Grid & HPC AUTH

Δίκτυα Η/Υ στην Επιχείρηση

Λειτουργικό σύστημα Unix

SMPcache. Ένα εργαλείο για προσομοίωση-οπτικοποίηση κρυφής μνήμης (Cache)

Register Προφίλ χειριστή

Transcript:

Οδηγίες Χρήσης Παράλληλης Μηχανής 160 πυρήνων (rbs.marie.hellasgrid.gr) 26/11/2018 V4, Αλλαγές στην Φάση 4 για Windows 06/12/2018 V5, μικρές αλλαγές (φραστικές και μορφοποίησης), ΝΕΟ Φάση 6. Φάση 1 η : Δημιουργία Κλειδιού RSA Η πιστοποίηση χρηστών γίνεται με τοv κρυπταλγο ριθμο ασύμμετρου κλειδιού RSA. Θα χρειαστεί να δημιουργήστε ένα RSA κλειδί σε linux ή windows. Συνιστάται σε linux α. Σε linux με την εντολή ssh-keygen -t rsa 1. Ζητάει ο νομα αρχείου για την αποθήκευση του κλειδιού. Πατήστε enter (default). 2. Ζητάει να ορίσετε ένα passphrase, εισάγετε ένα string, (αλλά ο χι τον κωδικο σας) και 3. στην ερώτηση επιβεβαίωσης εισάγετε πάλι το string που δώσατε πριν. 4. Σημειώστε το string, θα το χρειαστείτε ως τον κωδικο προ σβασης στην παράλληλη μηχανή. 5. Στον φάκελο ~/.ssh θα έχουν δημιουργηθούν τα αρχεία id_rsa (το ιδιωτικο σας κλειδί), id_rsa.pub (το δημο σιο κλειδί) και (ίσως) known_hosts. β. Σε Windows χρησιμοποιήστε το puttygen, μέρος του putty. Για οδηγίες χρήσης δείτε στο https://docs.oracle.com/en/cloud/paas/event-hub-cloud/admin-guide/generatessh-key-pair-using-puttygen.html. Θα δημιουργηθούν τα αρχεία id_rsa (το ιδιωτικο σας κλειδί), id_rsa.pub (το δημο σιο κλειδί). Θα σας ζητήσει passphrase, σημειώστε το string, θα το χρειαστείτε ως τον κωδικο προ σβασης στην παράλληλη μηχανή. Φάση 2 η : Πιστοποίηση Χρήστη (Authorization) 1. Με Browser connect to Web Address https://rbs.marie.hellasgrid.gr 2. Επιλογή (Not a Member) Register 3. Στην επο μενη οθο νη εισάγετε τα στοιχεία σας Full Name (ονοματεπώνυμο), User Name (για το μελλοντικο σας login), email, Password+Confirmation, CAPTCHA. 4. Σημειώστε το Password που βάλατε 5. Πατήστε Register 6. Άμεσα λαμβάνετε email απο Resources Booking System - Registration Confirmation (it@iasa.gr) με οδηγίες ενεργοποίησης του λογαριασμού. Οι ανωτέρω φάσεις 1, 2 απαιτούνται να γίνουν μο νο μια φορά, εκτο ς αν θέλετε να αλλάξετε το κλειδί, κλπ. Φάση 3η: Challenge Request 1. Μετά την ενεργοποίηση μπορείτε να κάνετε login στην Web Page rbs.marie.hellasgrid.gr (username+password) 2. Την πρώτη φορά subscribe to challenges 3. Βγαίνει User::Info με οδηγίες 4. Upload Public key (copy paste all contents of public key file - text) and submit 5. Click subscriptions section 6. Make request to Subscribe to available challenges (εμφανίζονται δυο, 4-6/10 και 17-30/11) 7. Θα λάβετε email ο ταν εγκριθεί το αίτημα (request) σας.. 8. Μετά απο Request Granted, σας δίδεται λογαριασμο ς) της μορφής psdixxx για login στο frontend μηχάνημα με προ σβαση σε cluster 20 κο μβων-μηχανών των 8 πυρήνων (160 cores).

Η Φάση 3 γίνεται στην αρχή κάθε challenge (περίοδο που οι 20 μηχανές θα είναι διαθέσιμες), δηλαδή μο νο μια φορά ανά challenge. Προβλέπεται να έχουμε 3 challenges ανά ακαδημαϊκο έτος, ένα ανοικτο εργαστήριο για ο λους (αρχή Νοεμβρίου), και δυο περιο δους που θα κάνετε μετρήσεις για την εργασία που παραδώσετε μια εβδομάδα αργο τερα για Φεβρουάριο και Σεπτέμβριο ΠΡΟΣΟΧΗ ΜΗΝ ΧΑΣΕΤΕ ΤΗΝ ΔΟΥΛΕΙΑ ΠΟΥ ΕΧΕΤΕ ΚΑΝΕΙ Οι λογαριασμοί θα διατηρούνται μόνο για 1 εβδομάδα μετά το τέλος κάθε challenge. Μετά κλείνουν οι λογαριασμοί και καταστρέφονται όλα τα αρχεία. Να μεταφέρετε όποια αρχεία χρειάζεστε σε δικό σας χώρο μετά την λήξη του challenge. Είναι σημαντικό, ιδιαίτερα αν έχετε δημιουργήσει δικά σας scripts, έχετε αναπτύξει εν μέρει το πρόγραμμά σας, έχετε αρχεία μετρήσεων, profiling, κλπ σημαντικά για την εργασία σας. Στην αρχή κάθε challenge θα σας δίδεται νέος λογαριασμός, όπου θα πρέπει να μεταφέρετε τα αρχεία της Φάσης 4 ή/και άλλα δικά σας από προηγούμενο challenge. Φάση 4 η : Login to Front-End of Parallel Machine Με τον λογαριασμο (username) κάνετε login στο front-end της παράλληλης μηχανής απο κονσο λα του υπολογιστή σας με χρήση του Private Key και Passphrase (χωρίς άλλο password) a. Απο κονσο λα linux υπολογιστή με την εντολή ssh -i [path_to_your_private_key] psdixxx@rbs.marie.hellasgrid.gr b. Απο Windows με putty, δυο επιλογές Στο Run command ( Wind+R) δίνουμε την εντολή putty.exe ssh i [path_to_your_private_key] psdixxx@rbs.marie.hellasgrid.gr Ανοίγει κονσο λα στον front-end, αναγνωρίζει το username και ζητάει το Passphrase. Τρέχετε το pageant (putty authentication agent), εμφανίζεται εικο να στο task bar. Ανοίγετε, εισάγετε την θέση του private key, σας ζητάει το passphrase. Ανοίγετε το putty (ή και το WinSCP) και με σύνδεση στο rbs.marie.hellasgrid.gr κάνει αυτο ματα login και authentication. Μετά την σύνδεση δημιουργήστε ένα directory MpiDemo (mkdir MpiDemo), μετακινηθείτε σε αυτο ν (cd MpiDemo) και αντιγράψτε 1. Το αρχείο Commands.txt αρχείο απο ο που μπορείτε να κάνετε copy-paste τις εντολές που ακολουθούν (για την ευκολία σας). Δεν συνιστώ copy-paste απο το pdf. wget --no-check-certificate https://eclass.uoa.gr/modules/document/file.php/d36/instructionsiasa/commands.txt 2. MPI program ring.c χρήσιμο στην φάση 5 της μεταγλώττισης του wget --no-check-certificate https://eclass.uoa.gr/modules/document/file.php/d36/instructionsiasa/ring.c 3. Ένα script χρήσιμο στην φάση 6 για την εκτέλεση του μεταγλωττισμένου ring.c : wget --no-check-certificate https://eclass.uoa.gr/modules/document/file.php/d36/instructionsiasa/mypbsscript.txt 4. Επειδή το class δεν αφήνει να ανεβάσω *.sh αρχεία, έχω βάλει κατάληξη.txt, επομένως μετονομάζετε mv mypbsscript.txt mypbsscript.sh Επιπλέον Πληροφορίες για το wget στο https://www.computerhope.com/unix/wget.htm} Για να κατεβάσετε εν γένει αρχεία απο το eclass (απο ανοικτο μάθημα) με δεξί κλικ εμφανίζεται ο σύνδεσμος (URL) του αρχείου, τον οποίο με copy-paste συμπληρώνετε την εντολή wget --no-check-certificate <URL>

Φάση 5η: Compiling MPI Programs Activate modules for openmpi 3.0.0 (η βιβλιοθήκη) and mpip (profiler) μια φορά ανά session module load openmpi mpip (or just module load openmpi) Compile yourprog εδώ ring.c με ή χωρίς profiling a. Compile an MPI program : mpicc -O3 ring.c -o ring.x b. Compile MPI with mpip for profiling mpicc -O3 -g ring.c -L$MPIPROOT/lib -lmpip -lbfd -lunwind -o ringp.x Για προγράμματα OpenMp ή υβριδικά προγράμματα MPI+OpenMp χρειάζεται flag -fopenmp Φάση 6 η : Running MPI Programs Έχετε ήδη κατεβάσει και μετονομάσει το scipt mypbsscript.sh. Μπορείτε να δείτε τι περιέχει με more, less, cat, κλπ. Το αρχείο περιέχει εξηγήσεις, που θα αναλύσουμε περισσο τερο αργο τερα. Σημειώνουμε ο τι η δομή είναι με του torque 4.1, βασικές εντολές του 1. Submit this script file : qsub mypbsscript.sh Θα σας δώσει το jobid (int) ή μήνυμα λάθους στο script, Εάν πχ. ppn>8 (αριθμο ς διεργασιών σε κάθε επεξεργαστή-node μεγαλύτερος απο τον αριθμο των διαθέσιμων πυρήνων σε κάθε κο μβο). 2. Examine queue and status: qstat (βλέπετε τον jobid στη ουρά). Αν δεν υπάρχει, η εργασία έχει ήδη τελειώσει (για μικρά προγράμματα είναι πολύ συνηθισμένο) 3. Σε περίπτωση που θέλετε να ακυρώσετε την εκτέλεση, διαγράφετε με qdel <id> Όταν η εκτέλεση τελειώσει θα δείτε στο home dir δυο αρχεία της μορφής myjob.o<id> (για το output) και myjob.e<id> (για λάθη εκτέλεσης) Όπου το myjob ορίζεται στο script (δες επο μενη σελίδα) Οποιοδήποτε άλλο αρχείο, πχ.έξοδος του mpip, θα εμφανιστεί στον κατάλογο απο τον οποίο εκτελέσατε το qsub. Ακολουθεί ανάλυση για την Δομή και Χρήση του PBS script (torque) για καθαρά MPI προγράμματα και υβριδικά MPI+OpenMp

Η Δομή του PBS Script για καθαρά MPI προγράμματα Με πράσινο bold οι τιμές που μπορείτε να αλλάξετε κατά περίπτωση #!/bin/bash #Max VM size #PBS -l pvmem=2g #2GByte per node Max # Max Wall time #PBS -l walltime=0:01:00 # Example, 1 minute # How many nodes and MPI tasks per node #PBS -l nodes=2:ppn=8 # 2 nodes with 8 mpi tasks/node => 16 tasks #Which Queue #PBS -q parsys #PBS -N myjob # This is the only accessible queue for rbs # Jobname - it gives the stdout/err filenames ### Merge std[out err] #PBS -k oe #Change Working directory to SUBMIT directory cd $PBS_O_WORKDIR # THIS IS MANDATORY, PBS Starts everything from $HOME, one should change to submit directory #OpenMP Threads export OMP_NUM_THREADS=1 # Για καθαρά MPI προγράμματα ΠΑΝΤΑ 1 # OMP_NUM_THREADS is the default number of threads in openmp # Having modules mpip and openmpi loaded module load mpip openmpi mpirun ring.x # That was compiled on front-end Για δημιουργία MPI διεργασιών σε N κο μβους των 8 πυρήνων με πλήρη χρήση ορίζουμε #PBS -l nodes=ν:ppn=8 # Ν nodes with 8 mpi tasks/node => 8*Ν tasks με απλή κλήση Για δημιουργία Μ διεργασιών μη πολλαπλάσιων του 8 (Μ mod 8 0), π.χ. 25, 36, 49 κλπ δεσμεύετε Ν= Μ/8 πλήρεις κο μβους με #PBS -l nodes=ν:ppn=8 Π.χ. 25 διεργασίες - 4 κο μβοι, 25/8= 3.125, N=4 [8,8,8,1] #PBS -l nodes=4:ppn=8 36 διεργασίες 5 κο μβοι, 36/5=4.5, N=5 [8,8,8,8,4] #PBS -l nodes=5:ppn=8 ΑΛΛΑ εκτελούμε με το switch np <number of processes> mpirun -np Μ <εκτελέσιμο>

Προσαρμογή PBS script για Υβριδικά προγράμματα MPI+OpenMp Για υβριδικά προγράμματα χρειάζεται εν γένει α) να δημιουργούμε λιγο τερες απο 8 διεργασίες σε κάθε κο μβο και β) να δημιουργούμε νήματα σε κάθε διεργασία. α) Για να δημιουργήσουμε λιγο τερες διεργασίες υπάρχουν 2 προσεγγίσεις, μια απλή, αλλά δεν καλύπτει ο λες τις περιπτώσεις και μια γενική. 1η Προσέγγιση (ειδική) Δημιουργούμε P MPI processes/node σε κάθε έναν απο Ν nodes, δηλαδή P*N διεργασίες με #PBS -l nodes=n:ppn=p π.χ 2 διεργασίες/κο μβο σε 4 κο μβους #PBS -l nodes=4:ppn=2 και τρέχουμε με 2η Προσέγγιση (γενική) Για κάποιο λο γο μια διεργασία ανά κο μβο, δηλαδή #PBS -l nodes=n:ppn=1 δεν λειτουργεί σωστά, αλλά το προ βλημα διορθώνεται και καλύπτει ο λες τις δυνατές περιπτώσεις. Για P διεργασίες ανά κο μβο σε N κο μβους, δηλαδή N*P διεργασίες: 1. Δεσμεύουμε τους Ν κο μβους και ο λους τους πυρήνες 8 τους #PBS -l nodes=ν:ppn=8 2. Ορίζουμε τον αριθμο διεργασιών Ν*P, ο που το Ν το παίρνουμε αυτο ματα με $PBS_NUM_NODES Procs=$[ $PBS_NUM_NODES * P ] 3. Εκτελούμε με 2 switches -np και-npernode mpirun -np $Procs -npernode P <εκτελέσιμο> β) Έχοντας ορίσει αριθμο διεργασιών ανά κο μβο μπορούμε να ορίσουμε στο script τον προεπιλεγμένο (default) αριθμο νημάτων T που δημιουργεί κάθε διεργασία με export OMP_NUM_THREADS=T Ο Τ μπορεί να είναι Τ>=1 με ανώτατο ο ριο εξαρτώμενο απο την αρχιτεκτονική, τυπικά κοντά στις 10 9,. Πρακτικά εμείς θα θεωρήσουμε 1, 2, 4, 8, 16, το πολύ 32 νήματα για δοκιμές. Διευκρινίζουμε ο τι με το OMP_NUM_THREADS ορίζουμε τον προεπιλεγμένο (default) αριθμο νημάτων, που δημιουργεί ένα προ γραμμα και μπορούμε να το διαπιστώσουμε στο προ γραμμα με int omp_get_num_threads(void); Μπορούμε φυσικά στο προ γραμμα μας να αλλάξουμε τον «προεπιλεγμένο» αυτο ν αριθμο με void omp_set_num_threads(int num_threads); ή ακο μα να τον αναιρέσουμε προσωρινά με την ιδιο τητα (attribute) num_threads(τ1) #pragma omp parallel num_threads(3) //π.χ. Τ1=3 Επομένως το OMP_NUM_THREADS είναι μο νο για ευκολία μας, ώστε να έχουμε λιγο τερες παραμέτρους στο προ γραμμά μας ή και να αποφεύγουμε μεταγλώττιση λο γω αλλαγής αριθμών νημάτων στις μετρήσεις. Για να τρέξουμε ένα υβριδικο προ γραμμα MPI+OpenMp συνδυάζουμε το α) την δημιουργία διεργασιών ανά κο μβο και το β) ορισμο ς προκαθορισμένου αριθμού νημάτων ανά διεργασία. Για να δημιουργήσουμε P διεργασίες ανά κο μβο σε Ν κο μβους και Τ νήματα ανά διεργασία, ορίζουμε

Με την 1η προσέγγιση #PBS -l nodes=n:ppn=p export OMP_NUM_THREADS=T Π.χ Για 3 κο μβους, 2 διεργασίες/κο μβο και 4 νήματα ανά διεργασία #PBS -l nodes=3:ppn=2 export OMP_NUM_THREADS=4 Με την 2η προσέγγιση (γενική) #PBS -l nodes=ν:ppn=8 Procs=$[ $PBS_NUM_NODES * P ] export OMP_NUM_THREADS=T mpirun -np $Procs -npernode P <εκτελέσιμο> Π.χ. Για 3 κο μβους, 2 διεργασίες/κο μβο και 4 νήματα ανά διεργασία #PBS -l nodes=3:ppn=8 Procs=$[ $PBS_NUM_NODES * 2 ] export OMP_NUM_THREADS=4 mpirun -np $Procs -npernode 2 <εκτελέσιμο> Digitally signed IOANNIS by IOANNIS OR KOTRONIS KOTRONIS COTRONIS OR Date: COTRONIS 2018.12.07 15:38:14 +02'00'