- Για να αποκτήσετε πρόσβαση στην Ιδρυματική συστοιχία μπορείτε να υποβάλετε την online αίτηση εδω.
-
Μόλις ενεργοποιηθεί ο λογαριασμός σας, μπορείτε να συνδεθείτε στο UI μέσω SSH.
Μπορείτε να βρείτε σχετικές οδηγίες για Linux ή για Mac OS X εδώ και για Windows εδώ.
Για την μεταφορά αρχείων από και προς τον server ακολουθούμε τις οδηγίες για Linux ή για Mac OS X εδώ και για Windows εδώ.
Εναλλακτικά μπορείτε να χρησιμοποιήσετε τον client MobaXterm για να συνδεθείτε μέσω SSH στο User Interface και να μεταφέρετε αρχεία μέσω sftp.
Πληροφορίες για το Login Node της Ιδρυματικής συστοιχίας και την πρόσβασή σας στο $HOME και στο scratch storage volume, μπορείτε να βρείτε εδώ.
Για να ενεργοποιήσουμε το περιβάλλον του Matlab στο UI μπορούμε να χρησιμοποιήσουμε την παρακάτω την εντολή:
$ module load matlab
Στην συνέχεια, μπορούμε να ξεκινήσουμε την κονσόλα του Matlab με την εντολή:
$ matlab -c $LM_LICENSE_FILE -nodisplay
Αφού ξεκινήσει η κονσόλα του Matlab μπορούμε να τρέξουμε Matlab commands. Για παράδειγμα, μπορούμε να δημιουργήσουμε έναν πίνακα ως εξής:
> A = [21 42 -3; 2 -3 101; -24 31 10]
Για να υποβάλουμε μία εργασία στην συστοιχία θα πρέπει να μεταφερθούμε στο $SCRATCHDIR, χρησιμοποιώντας την εντολή:
$ cd $SCRATCHDIR
Έπειτα δημιουργούμε ένα καινούργιο φάκελο για την εργασία που θέλουμε να υποβάλουμε με την εντολή:
$ mkdir matlab_example
Παράδειγμα
Έστω ότι θέλουμε να τρέξουμε την συνάρτηση Matlab: test_func
- Τα αρχεία του παραδείγματος βρίσκονται εδώ.
- Τοποθετούμε τα αρχεία του παραδείγματος στον φάκελο που δημιουργήσαμε παραπάνω.
-
Για την εκτέλεση της συνάρτησης test_func στην Ιδρυματική συστοιχία, δημιουργούμε το αρχείο υποβολής submit_matlab_job.pbs
Στο συγκεκριμένο παράδειγμα, για ευκολία, δίνεται έτοιμο το αρχείο submit_matlab_job.pbs .
Επεξήγηση εντολών που περιλαμβάνονται στο αρχείο submit_matlab_job.pbs:
Με τη Matlab εντολή: test_func(10) θα εκτελεστεί η συνάρτηση που περιγράφεται στο M file: test_func.m με όρισμα 10.
Με τη Matlab εντολή: save('myworkspace') γίνεται αποθήκευση του workspace του Μatlab σε ένα αρχείο .mat
Όλες οι εντολές που περιλαμβάνονται μεταξύ των δύο παρακάτω γραμμών θα τρέξουν στο Matlab:
matlab -c $LM_LICENSE_FILE -nodisplay << EOF &> matlab.out
.
.
.
EOF
Μπορούμε να υποβάλουμε την εργασία μας με την εντολή:
$ qsub submit_matlab_job.pbs
Για να ελέγξουμε το status στο οποίο βρίσκεται μία εργασία που έχουμε υποβάλει στην Υπολογιστική Συστοιχία του ΑΠΘ, μπορούμε να χρησιμοποιούμε την εντολή:
$ qstat
Αναλυτικές πληροφορίες για την υποβολή εργασιών στην Ιδρυματική συστοιχία είναι διαθέσιμες εδώ.
Χρησιμοποιούμε το script MatlabParamJob.pbs για την υποβολή του αρχείου test_func.m τέσσερις φορές για τιμές από 1 έως 4.
Οι εργασίες για τις τέσσερις διαφορετικές παραμέτρους (1 έως και 4) θα εκτελεστούν παράλληλα.
Με το παρακάτω PBS directive στο script υποβολής ορίζουμε ένα array.
#PBS -t 1-4
Με την εντολή:
$ qsub MatlabParamJob.pbs
θα υποβληθούν ταυτόχρονα 4 εργασίες στην συστοιχία. Κάθε εργασία θα λαμβάνει στη μεταβλητή $PBS_ARRAYID μία τιμή από το array (1 έως και 4).
Αν θέλουμε διαφορετικό βήμα στο job array, μπορούμε να διαιρέσουμε το MyParameter με κάποια τιμή var1.
Το αντίστοιχο script βρίσκεται εδώ.
var1 = 0.5
MyParameter=$(bc <<<"scale=2 ; $PBS_ARRAYID / $var1" )
Η παράμετρος scale ορίζει τον αριθμό των δεκαδικών ψηφίων.
Επιπρόσθετα, έχουμε τη δυνατότητα να κάνουμε πιο περίπλοκες πράξεις στο MyParameter:
var1 = 0.5
MyParameter=$(bc <<<"scale=2 ; ($PBS_ARRAYID / $var1)+5*(3+1)" )