Linux Inside
75
Η εκκίνηση από τη γραμμή εντολών είναι ιδιαίτερα χρήσιμη
μετά από αλλαγές στην εγκατάσταση του Eclipse, όπως ενη-
μερώσεις ή προσθαφαιρέσεις πακέτων. Μπορούμε, τότε, να
ανανεώνουμε τους καταχωρητές του περιβάλλοντος εργα-
σίας χρησιμοποιώντας την παράμετρο -clean στην εντολή εκ-
κίνησης του Eclipse.
/opt/eclipse/eclipse -clean &
Κατά την εκκίνησή του, το Eclipse μας ζητά να ορίσουμε το
φάκελο του χώρου εργασίας (workspace) όπου θα αποθη-
κεύονται τα έργα λογισμικού του χρήστη. Αφήνουμε για την
ώρα την προεπιλεγμένη διαδρομή. Αν δεν θέλουμε να ερωτη-
θούμε για το χώρο εργασίας στο μέλλον, ενεργοποιούμε το
Use this as the default and do not ask again. Καλό είναι,
όμως, να μην το κάνουμε αν θέλουμε, τουλάχιστον στα πρώ-
τα μας βήματα, να έχουμε τη δυνατότητα αλλαγής χώρου για
ευελιξία στους πειραματισμούς μας. Συνεχίζουμε πατώντας
το πλήκτρο ΟΚ.
Μόλις φορτωθεί το περιβάλλον εργασίας του Eclipse, μπο-
ρούμε να εξερευνήσουμε τις διάφορες επιλογές για να μά-
θουμε περισσότερα για το Eclipse και το PTP. Για να μετα-
βούμε στο περιβάλλον γραφής κώδικα C/C++, επιλέγουμε
το εικονίδιο Workbench
(εικόνα 1).
Δημιουργία έργου λογισμικού κώδικα MPI
Όντας στο περιβάλλον της Προοπτικής C/C++, επιλέγου-
με από το μενού File > New > Project. Στο παράθυρο διαλό-
γου που εμφανίζεται, επιλέγουμε C Project από την ομάδα
C/C++ και πατάμε το πλήκτρο Next. Στην καρτέλα C Project
επιλέγουμε MPI Hello World C Project. Δίνουμε ένα όνομα στο
έργο λογισμικού (έστω mpiHello), επιλέγουμε τη χρήση των
εργαλείων μεταγλώττισης, διασύνδεσης, αποσφαλμάτωσης
(Toolchain) Linux GCC και πατάμε το Next. Στην καρτέλα
Basic Settings δίνουμε κάποιες πληροφορίες για το έργο λο-
γισμικού, όπως το όνομα του δημιουργού. Συνεχίζουμε πατώ-
ντας το Next. Στην καρτέλα MPI Project Settings απενεργοποι-
ούμε το Use default information και ορίζουμε ως Include path
το /mirror/mpiuser/mpich2-install/include, ως Library name το
mpich και ως Library search path το /mirror/mpiuser/mpich2-
install/lib. Συνεχίζουμε πατώντας Next. Στην καρτέλα Select
Configurations δεν κάνουμε καμία αλλαγή και πατάμε το
Finish. Από την Όψη Project Explorer μπορούμε να πλοηγη-
θούμε στα αρχεία του έργου λογισμικού και στον πηγαίο κώ-
δικα του παράλληλου προγράμματος mpiHello.c
(εικόνα 2).
Εκτέλεση παράλληλου κώδικα MPI
Πριν από την εκτέλεση παράλληλου κώδικα MPI, θα πρέπει
να λειτουργεί ο διαχειριστής εργασιών MPD του MPICH2.
mpdboot -n 4 -f mpd.hosts
mpdtrace
Θα πρέπει επίσης να ορίσουμε έναν Διαχειριστή Πόρων
(Resource Manager) για τον έλεγχο του διαχειριστή εργασιών
του MPI. Στο περιβάλλον του Eclipse επιλέγουμε από το με-
νού Window, Open Perspective, Other την Προοπτική Parallel
Runtime και πατάμε το OK. Κάνουμε δεξί κλικ μέσα στην Όψη
Resource Managers και από το τοπικό μενού επιλέγουμε Add
Resource Manager. Στο παράθυρο Choose Resource
Manager Type επιλέγουμε τον τύπο MPICH2 και πατάμε το
Next. Στην επόμενη καρτέλα πατάμε το Next χωρίς αλλαγές,
καθώς δουλεύουμε τοπικά, αφού το Eclipse PTP εκτελείται
στον κόμβο pc0 της δικής μας συστοιχίας υπολογιστών. Προ-
σπερνάμε και την επόμενη καρτέλα πατώντας το Next. Στην
τελευταία καρτέλα πατάμε το Finish. Ο νέος Διαχειριστής Πό-
ρων εμφανίζεται στην Όψη Resource Managers. Κάνουμε δε-
ξί κλικ στο όνομά του και επιλέγουμε Start Resource Manager
από το τοπικό μενού. Τότε εμφανίζονται στα διάφορα πλαίσια
του περιβάλλοντος εργασίας πληροφορίες σχετικά με τον
ενεργό διαχειριστή διεργασιών του MPICH2.
Για να μεταγλωττιστεί ο πηγαίος κώδικας του έργου λογι-
σμικού mpiHello και να παραχθεί το εκτελέσιμο αρχείο, επιλέ-
Linux Labs – Εclipse + PTP
Ένα πολύπλευρο περιβάλλον εργασίας
Το Eclipse είναι ένα πολύπλευρο και πολυλειτουργικό εργαλείο.
Για το λόγο αυτό, οι δημιουργοί του έχουν δώσει τη δυνατότητα
προβολής διαφορετικών περιβαλλόντων εργασίας, ανάλογα με τις
εκάστοτε απαιτήσεις. Οι διαφορετικές αυτές «οπτικές γωνίες»
ονομάζονται Προοπτικές (Perspective) και αλλάζουν από το μενού
Window, Open Perspective. Για την ανάπτυξη και εκτέλεση παράλ-
ληλου κώδικα από το PTP, συνήθως χρησιμοποιούμε τις Προοπτι-
κές C/C++, Parallel Runtime και Parallel Debug.
Κάθε Προοπτική διαιρεί διαφορετικά το παράθυρο του Eclipse και
παρουσιάζει διαφορετικά σύνολα από Όψεις (View), δηλαδή πλαί-
σια μέσα στα οποία εμφανίζονται οι διάφορες πληροφορίες, όπως
ο πηγαίος κώδικας, τα αποτελέσματα εκτέλεσης, οι τιμές μεταβλη-
τών κατά την αποσφαλμάτωση, κ.λπ
Η αρχική οθόνη του Eclipse.
1
Προβολή του πηγαίου κώδικα στην Προοπτική C/C++.
2