Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Πολυτεχνείο Κρήτης Τμήμα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Διπλωματική Εργασία Μελέτη, σχεδίαση και υλοποίηση αλγορίθμου κατασκευής φυλογενετικών.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Πολυτεχνείο Κρήτης Τμήμα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Διπλωματική Εργασία Μελέτη, σχεδίαση και υλοποίηση αλγορίθμου κατασκευής φυλογενετικών."— Μεταγράφημα παρουσίασης:

1 Πολυτεχνείο Κρήτης Τμήμα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Διπλωματική Εργασία Μελέτη, σχεδίαση και υλοποίηση αλγορίθμου κατασκευής φυλογενετικών δέντρων σε πλατφόρμα βασισμένη σε αναδιατασσόμενη λογική Αντρέας Κουκκουλλής Επιτροπή: Καθ. Απόστολος Δόλλας (Επιβλέπων) Καθ. Διονύσιος Πνευματικάτος Αν. Καθ. Ιωάννης Παπαευσταθίου

2 Περιεχόμενα Εισαγωγή στην εξέλιξη των ειδών RAxML Impulse C και Convey
Υλοποίηση Αποτελέσματα Συμπεράσματα

3 Κίνητρο Ο υπολογισμός της μέγιστης πιθανοφάνειας είναι χρονοβόρος(>90% του συνολικού χρόνου εκτέλεσης). Υλοποίηση σε πλατφόρμα αναδιατασσόμενης λογικής για να επιτύχουμε επιτάχυνση του υπολογισμού με την χρήση του εργαλείου Impulse C. Μελετώντας την βιβλιογραφία, είδαμε ότι σε προγράμματα που επιλύουν προβλήματα τέτοιου τύπου, το μεγαλύτερο υπολογιστικά κομμάτι είναι ο υπολογισμός της μέγιστης πιθανοφάνειας του δέντρου. Έχοντας αυτό υπόψη μας προσπαθήσαμε να επιταχύνουμε την διαδικασία υλοποιόντας μέρος του αλγορίθμου σε FPGA.

4 Συνεισφορά εργασίας Μελέτη RAxML και αλγοριθμική χρονική ανάλυση της Software υλοποίησης Μελέτη και δοκιμή του εργαλείου Impulse C Υλοποίηση και σχεδίαση της Μεθόδου Μέγιστης Πιθανοφάνειας με το Impulse C Σύνδεση και εκτέλεση της υλοποίησης στην πλατφόρμα Convey

5 Περιεχόμενα Εισαγωγή στην εξέλιξη των ειδών RAxML Impulse C και Convey
Υλοποίηση Αποτελέσματα Συμπεράσματα

6 Εξελικτική Βιολογία Η διαδικασία με την οποία οι οργανισμοί έχουν εξελιχθεί εδώ και 4.5 δισ. χρόνια Το δέντρο της ζωής Όλοι οι οργανισμοί που εμφανίστηκαν στην Γή συνθέτουν το δέντρο της ζωής

7 Υπολογιστική Φυλογενετική
Εφαρμογή αλγορίθμων για φυλογενετικές αναλύσεις Σύνθεση Φυλογενετικού δέντρου που παρουσιάζει την εξελικτική σχέση των ειδών Για τον υπολογισμό των φυλογενετικών δέντρων χρησιμοποιούνται αλγόριθμοι υπολογισμού φυλογενετικών αναλύσεων που υπολογίζουν της διαφορές μεταξύ του γενετικού κώδικα των ειδών

8 Τι είναι τα φυλογενετικά δέντρα
Διάγραμμα που απεικονίζει τις γραμμές τις εξέλιξης των ειδών, οργανισμών ή γονιδίων από ένα κοινό πρόγονο. Διακρίνονται σε δύο τύπους, τα δέντρα με ρίζα και τα δέντρα χωρίς ρίζα. Τα δέντρα με ρίζα είναι ένας κατευθυνόμενος γράφος που δείχνει τον πιο πρόσφατο κοινό πρόγονο, ενώ τα δέντρα χωρίς ρίζα υπολογίζουν την σχέση μεταξύ των ειδών.

9 Τύποι φυλογενετικών δέντρων
Οι αριθμοί των πιθανών δέντρων υπολογίζονται από τους τύπους Μόνο ένα δέντρο παρουσιάζει την πραγματική εξελικτική πορεία

10 Μέθοδοι κατασκευής δέντρων
Παρουσία ή απουσία χαρακτηριστικών Μέγιστη πιθανοφάνεια (Maximum likelihood) maximum parsimony Bayesian analysis Κατηγορίες μητρών απόστασης UPGMA Fitch-Margoliash neighbor joining Υπάρχουν πολλές μέθοδοι κατασκευής φυλογενετικών δέντρων, με την μέθοδο της μέγιστης πιθανοφάνειας να αποδεικνύεται επαρκής για να έχουμε μεγάλη ακρίβεια σε προβλήματα τέτοιου τύπου

11 Σχετικές εργασίες HW N. Alachiotis: "Analysis, Design, and Implementation of the Phylogenetic Likelihood Function on Reconfigurable Logic", Technical University of Crete (2008) N. Alachiotis, E. Sotiriades, A. Dollas, A. Stamatakis: "A Reconfigurable Architecture for the Phylogenetic Likelihood Function". FPL 2009, Prague, Czech Republic, September 2009 N. Alachiotis: "Algorithms and Computer Architectures for Evolutionary Bioinformatics", Ph.D. thesis, Technische Universität München, Germany, November 2012

12 Σχετικές εργασίες SW Exelixis lab RAxML light SSE3 version AVX version
MPI version Multithread version

13 Διαφοροποιήσεις εργασιών
Διπλωματική Αλαχιώτης Παρούσα διπλωματική RAxML light RAxML 7.2.8 Συγκεκριμένη εκτέλεση Όλες τις εκτελέσεις Virtex 5 V5SX240T Convey Αρχεία εισόδου με προκαθορισμένο αριθμό ειδών Όλα τα είδη αρχείων Ο Αλαχιώτης στην διπλωματική του υλοποίησε μια διαφορετική έκδοση ( πιο παλιά και πιο περιορισμένη) του RAxML, και ο τρόπος προσέγγισής του, περιορίζει την λειτουργία του προγράμματος σε μια (σημαντική) εκτέλεση Ξεκινά φορτώνοντας ολόκληρο το αρχείο στην μνήμη της FPGA και ακολούθως γίνονται οι υπολογισμοί.

14 Περιεχόμενα Εισαγωγή στην εξέλιξη των ειδών RAxML Impulse C και Convey
Υλοποίηση Αποτελέσματα Συμπεράσματα

15 Το πρόγραμμα RAxML Random Accelerated Maximum Likelihood
Φυλογενετικός κώδικας Μεγάλης κλίμακας φυλογενετικές αναλύσεις Μέθοδος Μέγιστης Πιθανοφάνειας. Στην παρούσα διπλωματική μελετήθηκε το πρόγραμμα παραγωγής φυλογενετικών δέντρων RAxML που δημιουργεί ένα δέντρο στο οποίο φαίνετε ποιο είδος είναι συγγενικό με ποιο.

16 Το πρόγραμμα RAxML Αρχείο εισόδου με taxa
Προσπάθεια παραγωγής βέλτιστης τοπολογίας. Δέχεται σαν είσοδο ένα αρχείο με τα είδη που θέλουμε να ελέγξουμε και δημιουργεί ένα φειδωλό δέντρο .Ξεκινά με ευθυγράμμιση πολλαπλών ακολουθιών και παράγει ένα αρχικό δέντρο. Στη συνέχεια εναλλάσσει την σειρά των κόμβων ώστε να πάρει την βέλτιστη τοπολογία. Οι πιθανές αλλαγές μεταξύ των ακολουθιών μπορεί να οφείλονται σε Αλλαγή του νουκλεοτιδίου ( μετάλλαξη πχ Α -> G) Εισαγωγή ή διαγραφή νουκλεοτιδίου Διαφοροποιήσεις στη δόμηση (πχ duplication inversion translocation ) Ανασυνδυασμός και οριζόντια μεταφορά γονιδίων ( bacteria )

17 Το πρόγραμμα RAxML Βασικά μέρη του αλγορίθμου.
Δέχεται σαν είσοδο το αρχείο με τα είδη, γίνεται η διαδικασία που είδαμε στην προηγούμενη διαφάνεια, και με το μαθηματικό μοντέλο που υλοποιήτε στην συνάρτηση υπολογισμού της μέγιστης πιθανοφάνειας υπολογίζεται η πιθανότητα ένα είδος να είναι συγκενικό με ένα άλλο και εναλλάσσονται οι κόμβοι του δέντρου ώστε να έχουμε την βέλτιστη τοπολογία.

18 Το πρόγραμμα RAxML Αποτελέσματα εκτέλεσης
(Seal,(Whale,((Mouse,Rat),(Human,(Chick en,(Frog,( Carp, Loach)))))),Cow); Carp = κυπρίνος Loach = είδος μικρού κυπρίνου

19 Profiling gprof και V-Τune Ανάλυση πολλών λειτουργιών
Σταθερό dataset εισόδου 10 διαφορετικά πειράματα-εκτελέσεις Αρχικά έγιναν πολλά πειράματα με πολλά και διαφορετικά αρχεία εισόδου, όλων των μεγεθών. Κατέληξα να χρεισιμοποιήσω συγκεκριμένο αρχείο, το οποίο πληρούσε όλες της προδιαγραφές για να έχουμε ρεαλιστικά αποτελέσματα, και να μειωθεί ο χρόνος εκτέλεσης των πειραμάτων. Έγινε μελέτη των διαφορετικών αλγορίθμων εκτέλεσης του RAxML πάντα με τα ίδια δεδομένα εισόδου, για να αξιολογηθεί η απόδοση των διαφορετικών εκτελέσεων. Η επιλογή του αρχείου έγινε με βάση το alignment pattern. Είναι η βασική παράμετρος που επηρεάζει τον χρόνο εκτέλεσης της συνάρτησης μέγιστης πιθανοφάνειας, και το μέγεθος του χώρου που καταναλώνεται (μνήμη) . Στο συγκεκριμένο αρχείο εισόδου έχουμε ένα αρκετά μεγάλο alignment pattern που καλύπτει μεγάλο εύρος αρχείων εισόδου

20 Profiling Χρόνος sec Λειτουργίες
Συνολικός χρόνος εκτέλεσης αλγορίθμου 96 λεπτά για το t και 40 λεπτά για τον w. Λειτουργίες

21 Profiling Στις περισσότερες χρήσεις/αλγόριθμους τα αποτελέσματα ήταν τα ίδια Αλγόριθμος Συνολικός Χρόνος Κρίσιμη Συνάρτηση % Χρόνου Αριθμός Κλήσεων e 7.4 sec newviewGTRGAMMA 92.3 % 61392 t 5868 sec 75.6 % w 2231 sec 77.63 % Όσο μεγαλώνει το αρχείο εισόδου έχουμε περισσότερες κλήσης της συνάρτησης. Για μικρά αρχεία η συνάρτηση ενδιαφέροντος αλλάζει !! Το αρχείο που έχει επιλεγεί ήταν ιδανικό για να παρουσιάσει σωστά αποτελέσματα.

22 Συνάρτηση ενδιαφέροντος
Όπως έχουμε δει στο profiling η συνάρτηση που καταναλώνει το μεγαλύτερο ποσοστό του χρόνου είναι η newviewGTRGAMMA() Υπολογίζει το βαθμός πιθανοφάνειας του δέντρου Ο(n) – Ανάλογο του alignment pattern Ο χρόνος εκτέλεσης του αλγορίθμου είναι ανάλογος του alignment pattern. Για αρχεία με τον ίδιο αριθμό ακολουθιών και με ακολουθίες ιδίου μήκους, το alignment pattern θα είναι διαφορετικό

23 Profiling % χρόνου Λειτουργίες
Ποσοστό του χρόνου που καταναλώνετε στην συνάρτηση. Οι b και j είχαν μηδενικό συνολικό χρόνο εκτέλεσης γι αυτό δεν τους έλαβα υπόψη Λειτουργίες

24 Profiling Χρόνος sec Λειτουργίες
Σε αυτό το διάγραμμα φαίνετε ο χρόνος που καταναλώνετε μέσα στην συνάρτηση ενδιαφέροντος. Συνολικός χρόνος * ποσοστό χρόνου μέσα στη συνάρτηση. Λειτουργίες

25 Περιεχόμενα Εισαγωγή στην εξέλιξη των ειδών RAxML Impulse C και Convey
Υλοποίηση Αποτελέσματα Συμπεράσματα Για την υλοποίηση της σχεδίασης χρησιμοποιήθηκε το εργαλείο παραγωγής HDL κώδικα Impulse C, και η πλατφόρμα Convey

26 CoDeveloper Impulse C To impulse C είναι ένα εργαλείο που δέχεται κώδικα γραμμένο σε γλώσσα C και παράγει αυτόματα το αντίστοιχο σε VHDL ή verilog

27 Impulse C και Convey Το εργαλείο παράγει αυτόματα το HW σε VHDL
Παράγει τo SW interface Παράγει όλα τα απαραίτητα αρχεία για την σύνδεση SW και HW Παράγεται το SW κομμάτι όπως το θέλει ο προγραμματιστής, το ΗW κομμάτι, όπως μεταφράζεται από το εργαλείο (αφού το γράψει ο προγραμματιστής σε C και επιβεβαιώσει τα αποτελέσματα) , Καθώς και τα απαραίτητα αρχεία Verilog και assembly όπως και τα makefiles , ucf αρχεία .xco αρχεία

28 Περιεχόμενα Εισαγωγή στην εξέλιξη RAxML Impulse C και Convey Υλοποίηση
Αποτελέσματα Συμπεράσματα

29 Υλοποίηση συνάρτησης Μέγιστης πιθανοφάνειας
CPU Convey Αυτό που θέλουμε να κάνουμε είναι να Ξεκινά το Sw να τρέχει, στο σημείο που καλεί την συνάρτηση ενδιαφέροντος, καλείτε η HW υλοποίηση αφού δεχτεί σαν είσοδο τα απαραίτητα δεδομένα. Μετά το τέλος της εκτέλεσης, μεταφέρονται τα αποτελέσματα πίσω στο SW και συνεχίζεται η εκτέλεσή του CPU

30 Υλοποίηση συνάρτησης Μέγιστης πιθανοφάνειας
Η συνάρτηση αποτελείται από τρία cases. Σε κάθε κλήση εκτελείτε μόνο το ένα. Η συνάρτηση εκτελείτε σε 3 cases. Τα δεδομένα περνούν από το SW στο HW μέσω της μνήμης, και σε κάθε case μεταφέρονται μόνο όσα είναι απαραίτητα, και όχι όλα όπως στην SW εκτέλεση Σε κάθε Case γίνεται ο υπολογισμός της πιθανοφάνειας μεταξύ κόμβων που βρίσκονται στο tip level του δέντρου, μεταξύ κόμβων από το tip level και το inner level και μεταξύ κόμβων από το Inner level

31 Υλοποίηση συνάρτησης Μέγιστης πιθανοφάνειας
Δέχεται pointers σαν ορίσματα Μεταφορά στο HW μέσω της μνήμης Η συνάρτηση δέχεται σαν ορίσματα pointers, είναι void άρα τα αποτελέσματα υπολογίζονται και αποθηκεύονται αμέσως. Στο HW αυτό δεν μπορεί να γίνει, γι αυτό μεταφέρονται τα δεδομένα μέσω της μνήμης, γίνονται οι υπολογισμοί, και τα αποτελέσματα επιστρέφονται στο SW μέσω της μνήμης και αντικαθιστούν τις τιμές των pointers που πρέπει.

32 Υλοποίηση συνάρτησης Μέγιστης πιθανοφάνειας
2 Διαδικασίες Μνήμη 2 stream εισόδου/ 1 stream εξόδου

33 Υλοποίηση συνάρτησης Μέγιστης πιθανοφάνειας
Δημιουργήθηκε η SW συνάρτηση, για να στέλνει τα δεδομένα στο HW και να λαμβάνει τα αποτελέσματα. ProducerConsumer

34 Υλοποίηση συνάρτησης Μέγιστης πιθανοφάνειας
Ξαναγράφτηκε το κομμάτι που θέλουμε να υλοποιήσουμε σε HW με την γλώσσα Impulse C. Το εργαλείο προσφέρει την δυνατότητα να έχουμε SW-HW co simulation. Μπορούμε να δούμε τα αποτελέσματα και να τα συγκρίνουμε με τα αποτελέσματα της SW εκτέλεσης ProducerConsumer

35 Υλοποίηση συνάρτησης Μέγιστης πιθανοφάνειας
Η μνήμη μεταφέρει τα δεδομένα στο HW και δέχεται τα αποτελέσματα πίσω Shared μνήμη ProducerConsumer

36 Υλοποίηση συνάρτησης Μέγιστης πιθανοφάνειας
Επικοινωνία μεταξύ διαδικασιών μέσω streams ProducerConsumer

37 Υλοποίηση συνάρτησης Μέγιστης πιθανοφάνειας
Εγγραφή μνήμης από SW Ανάγνωση μνήμης από HW Υπολογισμός Πιθανοφάνειας Εγγραφή μνήμης από HW Ανάγνωση μνήμης από SW Η διαδικασία για να εκτελεστεί η συνάρτηση υπολογισμού πιθανοφάνειας. Γίνεται η εγγραφή ολόκληρης της μνήμης από το SW, και στην συνέχεια, το HW διαβάζει τα δεδομένα από την μνήμη όταν τα χρειάζεται. Μετά το τέλος των υπολογισμών γίνεται εγγραφή ολόκληρης της μνήμης από το HW, και το SW αντικαθιστά τις τιμές που επιστρέφονται στους δείκτες που πρέπει. Write mem/SW Read mem/HW Execute/HW Write mem/HW Read mem/SW

38 Υλοποίηση συνάρτησης Μέγιστης πιθανοφάνειας
Πρώτη υλοποίηση-Επιβεβαίωση Ορθής λειτουργίας Για συγκεκριμένο αρχείο εισόδου Ορθά αποτελέσματα Simulation, παραγωγή HDL κώδικα και απαραίτητων αρχείων για την εκτέλεση στο Convey. Εκτέλεση στο Convey με σωστά αποτελέσματα.

39 Υλοποίηση συνάρτησης Μέγιστης πιθανοφάνειας
Σύνδεση με το RAxML Αλλαγή Makefile Link αρχείων Impulse C Το SW interface δεν χρειάζεται να αλλάξει αν αλλάξει η υλοποίηση, εκτός αν αλλάξει ο τρόπος εγγραφής και ανάγνωσης της μνήμης. Αφού είδαμε ότι η σχεδίαση είναι σωστή, συνδέσαμε την σχεδίαση σε ολόκληρο το project RAxML, για να μπορεί να καλείτε η HW συνάρτηση αντί η SW συνάρτηση.

40 Υλοποίηση συνάρτησης Μέγιστης πιθανοφάνειας
Δεύτερη υλοποίηση- Αποτύπωση ολόκληρου του RAxML Προσθήκη pipeline και loop unroll Χρήση 100% μνήμης Παραμετροποίηση για να δέχεται διάφορα αρχεία εισόδου Αυτά θέλαμε να σχεδιάσουμε αλλά δεν Στην πρώτη υλοποίηση, τα δεδομένα από την μνήμη διαβάζονταν όλα στην αρχή, σε προσωρινούς πίνακες, και μέσω αυτών γινόταν ο υπολογισμός της πιθανοφάνειας. Πλέων, το κάθε δεδομένο, διαβάζεται την ώρα που χρειάζεται, και η πράξη γίνεται αμέσως. Έτσι μειώνεται η δεσμευμένη μνήμη αφού οι προσωρινοί πίνακες υλοποιούνται σε BRAM

41 Υλοποίηση συνάρτησης Μέγιστης πιθανοφάνειας
Αλλαγή στον τρόπο που διαβάζονται τα δεδομένα από την μνήμη Με αυτό τον τρόπο μειώνετε η μνήμη, καθώς και οι αναγνώσεις των δεδομένων στο μισό!!

42 Υλοποίηση συνάρτησης Μέγιστης πιθανοφάνειας
Δεύτερη υλοποίηση Λάθος αποτελέσματα στην εκτέλεση στο Convey Μείωση απόδοσης λόγω pipeline και loop unrolling Λάθος διαχείριση μνήμης Κακό mapping Αναφορά στα timing προβλήματα για την μεταφορά των δεδομένων από την μνήμη.

43 Υλοποίηση συνάρτησης Μέγιστης πιθανοφάνειας
Δεύτερη υλοποίηση – Βελτιώσεις Μείωση της μνήμης Περιορισμός του pipeline και unroll Προσθήκη επιπλέων registers για μείωση των προβλημάτων συγχρονισμού

44 Υλοποίηση συνάρτησης Μέγιστης πιθανοφάνειας
Με την σχεδίαση αυτή έχει λυθεί το πρόβλημα χρονισμού που παρουσιάστηκε στην αρχή, αλλά το μέγεθος του αρχείου εισόδου περιορίζεται λόγο του περιορισμού της διαθέσιμης μνήμης (BRAM).

45 Υλοποίηση συνάρτησης Μέγιστης πιθανοφάνειας
Αντί να κάνουμε μια κλήση στο HW με όλα τα δεδομένα, κάνουμε δύο κλήσεις με τα μισά δεδομένα στην κάθε μια. Αλλαγή μόνο στο SW, δεν αλλάζει η υλοποίηση. Περισσότερες κλήσεις HW Για να μπορεί να δέχεται μεγάλα αρχεία έγιναν αλλαγές στο SW

46 Περιεχόμενα Εισαγωγή στην εξέλιξη των ειδών RAxML Impulse C και Convey
Υλοποίηση Αποτελέσματα Συμπεράσματα Για την υλοποίηση της σχεδίασης χρησιμοποιήθηκε το εργαλείο παραγωγής HDL κώδικα Impulse C, και η πλατφόρμα Convey

47 Αποτελέσματα Πόροι στο Convey Clock’s frequency rate 150 MHz
Logic Utilization Used Available Utilization Convey Utilization xc5vlx330 Number of Slice Registers 43,757 207,360 21% 5% Number of Slice LUTs 52,828 25% 9% Number of Block RAM/FIFO 127 288 44% Number of DSP483s 184 192 95%

48 Αποτελέσματα Ο υπολογισμός του χρόνου που απαιτείται για την εκτέλεση της συνάρτησης έγινε συνυπολογίζοντας τον χρόνο του I/O Σύγκριση με την SW Εκτέλεση σε Core 2 Duo στα 2 GHz με 4 GB RAM

49 Αποτελέσματα Speed down Αλγόριθμος
Μεγάλο speed down, μέσο speed down -63 φορές. Αλγόριθμος

50 Αποτελέσματα Μεγάλος αριθμός δεδομένων εισόδου- εξόδου
Το Impulse C απαιτεί πολλές κλήσεις στον συνεπεξεργάστη (streams, memory ..) Δεν υπάρχει παραλληλισμός !! Στους αλγορίθμους που είχαν τον μεγαλύτερο χρόνο εκτέλεσης SW έχουμε και μεγάλο αριθμό κλήσεων Πέρα από αυτά, έχουμε κακή τοποθέτηση της σχεδίασης στην FPGA από το εργαλείο καθώς και κάποιες ιδιαιτερότητες του RAxML που δεν μας έδιναν περιθώρια βελτίωσης με το Impulse. Το RAxML έχει βελτιστοποιηθεί στο πέρασμα του χρόνου για εκτελέσεις σε υπολογιστές και servers

51 Αποτελέσματα Για να μειωθεί το Speed down μπορεί να γίνει χρήση δύο FPGAs του Convey Παράλληλες κλήσεις Θεωρητικά θα είχαμε Speed down Θεωρητικά θα είχαμε =~ -30 μέσο speed down, η σχεδίαση μας μάς επιτρέπει να προβλέψουμε την βελτίωση Δεν έγινε στο Convey γιατί δεν μπορέσαμε να το κανουμε, το εργαλείο δίνει την δυνατότητα να γίνει. Αλγόριθμος

52 Περιεχόμενα Εισαγωγή στην εξέλιξη των ειδών RAxML Impulse C και Convey
Υλοποίηση Αποτελέσματα Συμπεράσματα

53 Συμπεράσματα Η σχεδίαση συστήματος υπολογισμού της μέγιστης πιθανοφάνειας φυλογενετικών δέντρων με την χρήση του εργαλείου Impulse C είναι λιγότερο αποδοτική από ένα συμβατικό υπολογιστή.

54 Συμπεράσματα Πλεονεκτήματα χρήσης Impulse C Δουλεύει !!
Απευθείας εφαρμογή στο Convey Ευκολία αλλαγής της σχεδίασης και παραγωγής HW Παραγωγή της ίδιας σχεδίασης για διαφορετικές πλατφόρμες Παραγωγή πρωτοτύπου πριν την σχεδίαση της εφαρμογής στο χέρι Στην ουσία μπορείς να έχεις ένα SW simulation της σχεδίασης σου, (να δεις ποιες θα είναι οι είσοδοι, έξοδοι κτλ κτλ ), μπορείς να έχεις ένα λειτουργικό πρωτότυπο του HW για να δεις πως θα το βελτιώσεις,

55 Συμπεράσματα Παραγωγικότητα Γρήγορη σχεδίαση Πολλές εκδόσεις
Αναλογία Impulse C / Παραγόμενης VHDL = 1/20 ( γραμμές κώδικα) Σχέση χρόνου σχεδίασης Impulse C / VHDL = 1/4 (βιβλιογραφία) Σχέση χρόνου παραμετροποίησης 1/7 Παρά τα αποτελέσματα πρέπει να αναφέρουμε ότι η παραγωγικότητα μας ήταν μεγάλη. Η σχεδίαση με το εργαλείο πήρε λιγότερο χρόνο από ότι θα έπαιρνε η αντίστοιχη εφαρμογή γραμμένη σε VHDL, είχαμε τα αρχεία του Convey έτοιμα, είχαμε πολλές εκδόσεις εύκολα, ( pipeline παράλληλα, διαφορετικές μνήμες κτλ ) Ο χρόνος που χάσαμε ήταν για να μάθουμε το εργαλείο.

56 Συμπεράσματα Μειονεκτήματα χρήσης Impulse C
Δυσκολία χειρισμού εμφωλευμένων loop Δυσκολία χειρισμού pipeline Μεγάλη και αργή σχεδίαση για περίπλοκες εφαρμογές Δυσκολία αλλαγής του VHDL κώδικα χωρίς να επηρεαστεί η σωστή λειτουργία του Αν θέλω pipeline πολλών επιπέδων είναι αρκετά δύσκολο να το σχεδιάσεις αποδοτικά.

57 Μελλοντική εργασία Η σχεδίαση που έχουμε μπορεί με μικρές παραμετροποιήσεις στο SW να έχουμε: Πολλά αντίγραφα που θα τρέχουν παράλληλα. Μια κλήση για n εκτελέσεις. Αξιοποίηση όλων των FPGA

58 Μελλοντική Εργασία RAxML
H σχεδίαση σε hardware και άλλων συναρτήσεων του προγράμματος. Χρήση της συνάρτησης υπολογισμού maximum likelihood και σε άλλα παρεμφερή προγράμματα με το RAxML. Παραμετροποίηση της σχεδίασης για τις άλλες εκδόσεις του RAxML (SSE3, MPI, AVX)

59 Μελλοντική δουλειά Impulse C
Μελέτη περισσότερων δυνατοτήτων του εργαλείου (state machines, registers, pipeline processes, more components .. ) Επανασχεδίαση εφαρμογών με Impulse C για σύγκριση απόδοσης. Σύγκριση του εργαλείου με παρεμφερή εργαλεία. C-to-Verilog tool from  www.c-to-verilog.com(online) ROCCC Catapult C from Mentor Graphics SystemC from Celoxica (defunct)

60 Ευχαριστώ για την προσοχή σας
Ερωτήσεις ?


Κατέβασμα ppt "Πολυτεχνείο Κρήτης Τμήμα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Διπλωματική Εργασία Μελέτη, σχεδίαση και υλοποίηση αλγορίθμου κατασκευής φυλογενετικών."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google