Chapel είναι μια νέα γλώσσα παράλληλου προγραμματισμού που αναπτύχθηκε από την Cray Inc. ως μέρος της DARPA ηγεσία πρόγραμμα Υψηλής Παραγωγικότητας Υπολογιστικών Συστημάτων (κέντρα προμηθειών ανθρωπιστικής βοήθειας). Παρεκκλήσι έχει σχεδιαστεί για να βελτιώσει την παραγωγικότητα των χρηστών ηλεκτρονικών υπολογιστών high-end, ενώ επίσης χρησιμεύει ως μια φορητή μοντέλο παράλληλου προγραμματισμού που μπορεί να χρησιμοποιηθεί για τους συνεργατικούς σχηματισμούς εμπόρευμα ή desktop συστήματα πολλαπλών πυρήνων. Παρεκκλήσι προσπαθεί να βελτιώσει κατά πολύ την δυνατότητα προγραμματισμού των μεγάλης κλίμακας παράλληλων υπολογιστών, ενώ ταιριάζουν ή χτυπώντας την απόδοση και τη φορητότητα των σημερινών μοντέλων προγραμματισμού όπως MPI.
Το παρεκκλήσι εφαρμογή υποστηρίζει μια πολυνηματική μοντέλο εκτέλεσης μέσω αφαιρέσεις υψηλού επιπέδου για τον παραλληλισμό των δεδομένων, ο παραλληλισμός έργο, συγχρονισμός, και ένθετα παραλληλισμού & nbsp?. Τύπος της τοπικής ρύθμισης Chapel επιτρέπει στους χρήστες να καθορίσετε και τον λόγο για την τοποθέτηση των δεδομένων και τα καθήκοντα σε μια αρχιτεκτονική-στόχο για να συντονιστείτε για τον τόπο. Παρεκκλήσι υποστηρίζει την παγκόσμια προβολή συγκεντρωτικών στοιχείων με εφαρμογές καθορίζονται από το χρήστη, επιτρέποντας λειτουργίες επί των διανεμομένων δομών δεδομένων που πρέπει να εκφράζεται με φυσικό τρόπο. Σε αντίθεση με πολλές προηγούμενες υψηλότερου επιπέδου παράλληλες γλώσσες, Παρεκκλήσι έχει σχεδιαστεί γύρω από μια φιλοσοφία πολλαπλών αναλύσεων, επιτρέποντας στους χρήστες να γράφουν αρχικά πολύ αφηρημένη κωδικό και, στη συνέχεια, προσθέστε σταδιακά περισσότερες λεπτομέρειες μέχρι να είναι όσο πιο κοντά στο μηχάνημα, όπως απαιτούν οι ανάγκες τους. Παρεκκλήσι υποστηρίζει την επαναχρησιμοποίηση κώδικα και την ταχεία προτυποποίηση μέσω αντικειμενοστραφής σχεδιασμός, η εξαγωγή τύπων, και τα χαρακτηριστικά για τα γενόσημα προγραμματισμού.
Παρεκκλήσι σχεδιάστηκε από τις πρώτες αρχές και όχι με την επέκταση μιας υπάρχουσας γλώσσας. Είναι επιτακτική ανάγκη μπλοκ-δομημένη γλώσσα, έχουν σχεδιαστεί για να είναι εύκολο να μάθουν για τους χρήστες των C, C ++, Fortran, Java, Perl, Matlab, και άλλες δημοφιλείς γλώσσες. Ενώ Chapel βασίζεται σε έννοιες και τη σύνταξη από πολλές προηγούμενες γλώσσες, παράλληλα με τις δυνατότητές του επηρεάζονται πιο άμεσα από ZPL, υψηλής απόδοσης Fortran (HPF), και η Cray MTA και το εμπόριο? / Cray ΧΜΤ & εμπορίου? επεκτάσεις C και Fortran
Τι είναι καινούργιο σε αυτή την έκδοση:.
- Highlights (βλέπε παρακάτω για λεπτομέρειες)
- διάσπαση "def" λέξη-κλειδί στο «proc» (για τις διαδικασίες) και «ITER» (για iterators)
- (βλέπε '$ CHPL_HOME / util / convert-defs --help για βοήθεια επικαιροποίηση των υφιστάμενων κωδίκων)
- πρόσθεσε «Αναπαραχθεί« διανομή και τη βελτίωση της «Block-κυκλική 'διανομή
- (βλέπε & quot? Πρότυπο Διανομές & quot? Σε spec και παραδείγματα / εκκινητών / distributions.chpl)
- προστεθούν στρώματα έργο μιας τοπικής ρύθμισης για Νάνος ++ (BSC) και Qthreads (Sandia)
- (βλέπε έγγρ / README.tasks)
- μείζονα έκδοση της σημασιολογίας εύρος και την εφαρμογή
- (βλέπε & quot? Σημασιολογικό Αλλαγές / Τροποποιήσεις στο Παρεκκλήσι Γλώσσα & quot? Παρακάτω για λεπτομέρειες)
- αρχική υποστήριξη για τις πτητικές τύπους: bool, int, uint, πραγματικό, IMAG
- (βλέπε έγγρ / technotes / README.volatile)
- υποστήριξη για extern consts και τάξεις (δείκτες-to-structs)
- (βλέπε έγγρ / technotes / README.extern)
- βελτιωμένη υποστήριξη για τον παραλληλισμό των δεδομένων σχετικά με την Cray ΧΜΤ
- εκτεταμένες βελτιώσεις στους κωδικούς δείγματος στο παραδείγματα / directory
- (βλέπε «Παράδειγμα Κώδικες» παρακάτω και παραδείγματα / README)
- προστεθούν περισσότερα παραδείγματα κώδικα από το spec σε μια νέα παραδείγματα / directory
- (βλέπε παραδείγματα / spec / *)
- πρόσθεσε ένα τεχνικό σημείωμα που περιγράφει την οριζόμενη από το χρήστη interface τομέα χάρτης
- (βλέπε έγγρ / technotes / README.dsi)
- εκτεταμένες ενημερώσεις για τις προδιαγραφές της γλώσσας
- (βλέπε «Τεκμηρίωση» παρακάτω)
- αρκετές βελτιώσεις στο tasking εκτέλεσης και στρώματα επικοινωνιών
- (βλέπε & quot? Runtime Library αλλαγών & quot? Παρακάτω)
- Συντακτική / Ονοματοδοσία Αλλαγές
- διάσπαση "def" λέξη-κλειδί στο «proc» (για τις διαδικασίες) και «ITER» (για iterators)
- (βλέπε '$ CHPL_HOME / util / convert-defs --help για βοήθεια επικαιροποίηση των υφιστάμενων κωδίκων)
- μετονομάστηκε σε τομείς «αριθμητική» / συστοιχίες «ορθογώνια» τομέων / συστοιχίες
- προστεθεί υποστήριξη για floating point λεκτικές του εντύπου «1.ε ...»
- (προηγουμένως, μόνο «1ε ...» και «1.0e ...» στηρίχθηκαν)
- Σημασιολογικό Αλλαγές / Τροποποιήσεις στο Παρεκκλήσι Γλώσσα
- αρκετές βελτιώσεις στις διάφορες σειρές (βλέπε «Σειρές» κεφάλαιο στη γλώσσα spec):
- πρόσθεσε μια έννοια της ευθυγράμμισης για να δείξει ένα modulo ευθυγράμμιση | διασκελισμό |
- προστίθεται ένα «στοίχιση» χειριστή και το ερώτημα να κυμαίνεται για να καθορίσετε / ευθυγράμμιση ερώτημα
- (π.χ., «1..10 από 3 align 2 '= & gt?» 2, 5, 8' από τις 2 == 5 == 8, mod 3)
- ορίζεται == στις περιοχές όσον αφορά τις ακολουθίες ακέραιος που παράγουν
- ορίζεται ident (R1, R2) για να πούμε αν τα R1 και R2 είναι σημασιολογικά ταυτόσημη
- ορίζεται «# k για k & lt? 0 υπό την έννοια & quot? Μετρούν από το τέλος της σειράς & quot?
- πρόσθεσε «πρώτη», «τελευταία», «alignedLow,« οι μέθοδοι alignedHigh »να κυμαίνεται
- (π.χ., «1..10 από -2 '= & gt? Πρώτα == 10, τελευταία == 2, alignedLow = 2, alignedHigh = 10)
- προστεθεί υποστήριξη για μια ποικιλία νέων λειτουργιών αναζήτησης εύρος
- (π.χ., alignLow (), hasFirst (), hasLowBound (), isAligned (), boundsCheck () ...)
- προστεθεί υποστήριξη για τις πτητικές bool, int, uint, πραγματικά, και τα είδη IMAG
- (βλέπε έγγρ / technotes / README.volatile)
- προσέθεσε στο τέλος του αρχείου ελέγχου για τον τύπο αρχείου
- (π.χ., «Ενώ! Infile.eof ...»)
- καταργηθεί η υποστήριξη για την αντιμετώπιση της «επιστροφής» σε iterator ως «απόδοση»
- (π.χ., αλλαγή του «ITER foo () {x επιστροφή?} 'Σε' ITER foo () {απόδοση χ? Επιστροφή?})
- πρόσθεσε υποστήριξη για την παραπομπή μονάδες χωρίς πρώτα «use'-τες
- (π.χ., μονάδα M1 {var x ...} μονάδας Μ2 {... M1.x ...} είναι τώρα νομικά πρόσωπα)
- πρόσθεσε ένα ερώτημα callStackSize με τον τύπο της τοπικής ρύθμισης
- (π.χ., «here.callStackSize» επιστρέφει το μέγεθος στοίβας κλήσεων για το τρέχων locale)
- αφαίρεσε την προηγουμένως απαιτούμενη ερωτηματικό από το τέλος των δηλώσεων enum
- (π.χ., «χρώματα enum {κόκκινο, μπλε, πράσινο} 'είναι πλέον νομικά? Χρειαζόταν προηγουμένως"? ")
- προστεθεί υποστήριξη για ένα μόνο κόμμα που βρίσκεται στο τέλος της απαρίθμησης καταλόγων
- (π.χ., «χρώματα enum {κόκκινο, μπλε, πράσινο,}" είναι τώρα νομική)
- καταργηθεί η υποστήριξη για +/- φορείς σε ορθογώνια πεδία? χρήση Μετάφραση ()
- εφαρμόστηκαν πρόσφατα Χαρακτηριστικά
- εφαρμοστεί == /! = Για ορθογώνια, συνειρμική, και αραιές περιοχές
- Πρότυπο Διανομές
- προσθέσει ένα πρώτο σχέδιο «Αναπαραχθεί« διανομή για την αποθήκευση δεδομένων σε πλεονασμό
- (βλέπε παραδείγματα / εκκινητών / distributions.chpl)
- βελτιωμένη «Block-κυκλική», αρκεί να εφαρμόσει σωστά HPCC PTRANS και HPL
- (βλέπε παραδείγματα / HPCC / ptrans.chpl, hpl.chpl? Παραδείγματα / εκκινητών / distributions.chpl)
- αφαιρούνται απολύσεων στην προδιαγραφή του ηγέτη iterators μεταξύ των τομέων / συστοιχίες
- Πρότυπο Ενότητες
- προστεθούν υπερχείλισης και NAN σταθερές στη μονάδα Math.chpl
- (βλέπε «Μαθηματικά» στο πλαίσιο & quot? Τυποποιημένες ενότητες & quot? Στη γλώσσα spec)
- isinf () και isfinite () ρουτίνες ελέγχου στη μονάδα Math.chpl πρόσθεσε
- (βλέπε «Μαθηματικά» στο πλαίσιο & quot? Τυποποιημένες ενότητες & quot? Στη γλώσσα spec)
- προστεθεί μισή ντουζίνα πιο ρουτίνες στην ενότητα GMP.chpl
- Τεκμηρίωσης
- προσθέσει ένα νέο τεχνικό σημείωμα που περιγράφει την οριζόμενη από το χρήστη interface τομέα χάρτης
- (βλέπε έγγρ / technotes / README.dsi)
- γίνουν πολλές βελτιώσεις στη γλώσσα προδιαγραφών
- σημαντικές αναθεωρήσεις στο κεφάλαιο Domains να βελτιωθεί η σαφήνεια / ακρίβειας
- βελτιωθεί και ενιαία δομή των Records και Μαθήματα κεφάλαια
- σημαντικές αναθεωρήσεις στο κεφάλαιο Τομέα Maps για να βελτιωθεί η σαφήνεια / ακρίβειας
- το όνομά παράδειγμα κωδικοί για την παροχή παραπομπή σε παραδείγματα / spec / προγράμματα
- διευκρίνισε τη νομιμότητα της ετικέτας / διάλειμμα / συνεχιστούν παράλληλα βρόχους
- επικαιροποίηση των περιγραφών των διαβάσετε [ln] / γράφετε [ln]
- Διορθώθηκαν μερικά προβλήματα σε τομείς αρχείο παραγγελία
- επαναδιαμόρφωση της προδιαγραφής ως «βιβλίο» στο λατέξ
- διάφορες μικρές διορθώσεις τυπογραφικών λαθών / σφαλμάτων
- βελτιωμένοι ορισμοί / περιγραφές των διαφόρων όρων
- προστιθέμενη τεκμηρίωση της locale.name
- και πολλές άλλες αλλαγές ...
- επικαιροποιημένο έγγραφο σύντομη αναφορά περιλαμβάνει def- & gt? Proc / ITER αλλαγή, ευθυγράμμιση op .
- ξαναέγραψε / αναδιοργανωθεί README.extern να διευκρινίσει εξηγήσεις και να up-to-ημερομηνία
- προσθέσει ένα αρχείο README που περιγράφει την «τοπική» δήλωση (έγγρ / technotes / README.local)
- πρόσθεσε ένα README περιγράφει πτητικά είδη (doc / technotes / README.volatile)
- ενημερώνεται README.comm-διαγνωστικά αναφέρουμε γρήγορα πιρούνι στατιστικές
- ενημερώνεται διάφορα αρχεία README
- Παράδειγμα Κώδικες
- τοποθετηθεί πιο παραδείγματα κώδικα από τη γλώσσα spec. σε ένα νέο spec / υποκατάλογο
- βελτιωθεί η εκκινητών / κατάλογο:
- προσθέσει ένα νέο αλφαβητάρι για τη χρήση διαδικασιών (εκκινητών / procedures.chpl)
- πρόσθεσε ένα βασικό υπόστρωμα για τους τομείς (αστάρια / domains.chpl)
- μετονομάστηκε οι περιοχές αλφαβητάρι για locales.chpl και βελτίωσε
- βελτίωσε το έναυσμα κατανομές και πρόσθεσε Block-κυκλική και να αναπαραχθεί χρήσεις
- ενημερώνεται ο εκκινητής σειράς (εκκινητών / range.chpl)
- βελτίωσε το αστάρι iterators (εκκινητών / iterators.chpl)
- βελτίωσε το αστάρι μειώσεις (εκκινητών / reductions.chpl)
- προστεθούν getCurrentTime () με τον εκκινητή χρονόμετρα (εκκινητών / timers.chpl)
- προστιθέμενη περιγραφές ψευδώνυμα τύπου και είδη ρυθμίσεων για τις μεταβλητές αστάρι
- (βλ εκκινητών / variables.chpl)
- βελτιωθεί κατάλογο HPCC / αναφοράς
- προστιθέμενη πρώτη έκδοση του HPCC PTRANS να HPCC / κατάλογο (ptrans.chpl)
- προστιθέμενη καθαρότερη έκδοση του HPCC HPL να HPCC / κατάλογο (hpl.chpl)
- πρόσθεσε παραλλαγές / υποκατάλογο με παραδείγματα / HPCC να παρουσιάζει και άλλες προσεγγίσεις
- προστιθέμενη ρεύμα-promoted.chpl να αποδειχθεί η χρήση της προώθησης των παγκόσμιων STREAM Τριάδα
- προστίθεται RA-cleanloop.chpl να δείξει καθαρότερα (αλλά επί του παρόντος πιο αργά) πυρήνα RA
- βελτιωθεί παραδείγματα υψηλού επιπέδου:
- μετονομάστηκε σε υπάρχουσες & quot? Hello, world & quot? παραδείγματα για να προτείνουν μια λογική σειρά ανάγνωσης
- (βλέπε παραδείγματα / γεια * .chpl)
- Τα δεδομένα που προστέθηκαν παράλληλων και κατανεμημένων δεδομένων παράλληλα Hello, world παραδείγματα
- (βλέπε παραδείγματα / hello3-datapar.chpl, παραδείγματα / hello4-datapar-dist.chpl)
- πρόσθεσαν σχόλια για τα διάφορα Hello, world παραδείγματα (παραδείγματα / γεια * .chpl)
- ενημερώνονται όλα τα παραδείγματα με τις τρέχουσες σημασιολογία γλώσσα
- χρησιμοποιούν «proc» / «ITER» και όχι «def»
- ενημέρωση για να αντικατοπτρίζουν τις νέες σημασιολογία εύρος
- συγκεκριμένη πλατφόρμα Σημειώσεις
- για Cray XT / Cray XE, βελτιώθηκαν οι aprun και PBS-aprun εκτοξευτές
- (βλέπε & quot? Launcher-συγκεκριμένες σημειώσεις & quot? Παρακάτω)
- για Cray ΧΜΤ, πρόσθεσε υποστήριξη για παράλληλες βρόχους πάνω σειρές
- για Cray ΧΜΤ, πρόσθεσε γενιά noalias pragmas να forall μεταβλητές βρόχο
- προστεθεί υποστήριξη για Marenostrum BSC, συμπεριλαμβανομένων Docs και ένα ειδικό εκτοξευτή
- (βλέπε έγγρ / πλατφόρμες / README.marenostrum)
- Launcher-συγκεκριμένες σημειώσεις
- προστεθούν εκτοξευτή-συγκεκριμένες επιλογές για να --help ικανότητα
- βελτιωθεί η διάδοση των κωδικών κατάστασης εξόδου μέσω εκτοξευτές
- αλλάξει εκτοξευτές να υποστηρίξει exec-based (και όχι βάσει συστήματος) εντολές
- κατασκευαστές πυραύλων χρήση «Αποσύνδεση» αντί του συστήματος ("RM") για να καταργήσετε τα προσωρινά αρχεία
- πρόσθεσε ένα εκτοξευτή για Marenostrum BSC είναι
- μείωση του αριθμού των προσωρινά αρχεία που χρησιμοποιούνται για να συλλάβει εξόδου του «συστήματος» εντολές
- βελτιώσεις εκτοξευτή aprun:
- πρόσθεσε ένα --cc σημαία για να καθορίσετε ανάθεση CPU w / σε έναν κόμβο
- πρόσθεσε ένα -q σημαία για να εκτελέσετε το βοηθητικό πρόγραμμα σε λειτουργία χωρίς μηνύματα
- προστεθούν debug δυνατότητα μέσω CHPL_LAUNCHER_DEBUG να κρατήσει tmp αρχεία γύρω
- βελτιώσεις εκτοξευτή PBS-aprun:
- πρόσθεσε ένα --cc σημαία για να καθορίσετε ανάθεση CPU w / σε έναν κόμβο
- προστεθούν debug δυνατότητα μέσω CHPL_LAUNCHER_DEBUG να κρατήσει tmp αρχεία γύρω
- καθαριστεί εξόδου για να απαλλαγούμε από κάποια ξένα εκτύπωση
- έκανε υποστήριξη εκτοξευτή μας σύστημα ελέγχου
- --walltime και --queue σημαίες προστέθηκε στον εκτοξευτή ως εναλλακτικές λύσεις με ENV. Vars.
- Compiler Αλλαγές
- έκανε την εκτύπωση compiler «αλήθεια» / «ψευδή» στο υπογραφές τύπου αντί 1/0
- προστεθούν config param 'noRefCount »για να απενεργοποιήσετε την καταμέτρηση αναφοράς (μπορεί να προκαλέσει απώλεια μνήμης)
- Ο compiler flags
- πρόσθεσε ένα --print-callstack-on-λάθους σημαία για να δείξει τι οδήγησε σε μια κακή κλήση
- προσθέσει μια σημαία --no-CODEGEN να παρακάμψετε τον κωδικό γενιά και τη σύνδεσή φάση
- Η διαλειτουργικότητα Αλλαγές
- προστεθεί υποστήριξη για extern C & quot? Τάξεις & quot? (Δείκτη-προς-struct είδη)
- προστεθεί υποστήριξη για extern consts (βλ README.extern)
- Βελτιώσεις Μήνυμα σφάλματος
- προστεθεί προειδοποίηση ορφανά δηλώσεις «χρήση» εκτός των δηλωθέντων ενότητες
- (π.χ., «χρησιμοποιούν M1? Μονάδας Μ2 {}» θα πρέπει τυπικά να είναι «ενότητα Μ2 {χρήσης Μ1?})
- έκανε μήνυμα σφάλματος αναλύσει χρόνο να χρησιμοποιούν το πρότυπο "όνομα αρχείου: LINENO:« μορφή
- παράγεται ένα μήνυμα σφάλματος για την παραπομπή σε ένα όνομα κατηγορίας σε μια κύρια μέθοδος
- (π.χ., «Γ τάξης {def Cm () {...}}» δημιουργεί τώρα ένα μήνυμα σφάλματος)
- Διορθώσεις σφαλμάτων / Νέα Σημασιολογικού έλεγχοι (για τα παλιά σημασιολογία)
- εμπόδισε τους τύπους config από το να ρυθμιστεί χρησιμοποιώντας σημαίες χρόνο εκτέλεσης της γραμμής εντολών
- σταθερή ικανότητα του μεταγλωττιστή για να χειριστεί τα συνδικάτα χωρίς πεδία
- καθόρισε τις μειώσεις minloc / maxloc να χειριστεί άδειο σειρές / υποπεριοχές των τιμών
- Διορθώθηκε ένα σφάλμα στο οποίο αγνοήθηκε η «διαδρομή» επιχείρημα για κατασκευαστές αρχείο
- έκανε άδειο συνδικάτα λειτουργούν σωστά
- Διορθώθηκε το πρόβλημα υπερχείλισης σε τσούνκιν μέχρι κλίμακες για τη διανομή / παραλληλισμού
- Διορθώθηκε ένα σφάλμα που αφορούσε την ενίσχυση άδειο extern τύπους αρχείων
- Διορθώθηκε ένα σφάλμα που αφορούν extern λειτουργίες που επιστρέφουν εγγραφές
- Διορθώθηκε ένα σφάλμα που συνδέονται με την αντιγραφή των εξωτερικών αρχείων
- σταθερής εφαρμογής των +/- επιχειρηματίες στην συνειρμική / αραιές περιοχές
- Διορθώθηκε ένα σφάλμα σχετικά με το όνομα αρχείου με βάση τα ονόματα ενότητα περιέχει πολλαπλά »του.
- μηνύματα προστεθεί σφάλματος για την επέκταση / εξωτερικό / εσωτερικό για παράτυπες τομείς
- πρόσθεσε ένα σφάλμα για τους κατασκευαστές / καταστροφείς με ένα συγκεκριμένο τύπο επιστροφής
- σταθερής ένα ζευγάρι σφάλματα που σχετίζονται με το «γρήγορο για την« βελτιστοποίηση
- πρόσθεσε έναν έλεγχο κατά την κατασκευή κατηγοριών, χωρίς να διευκρινίζει γενική πεδία
- Οι αλλαγές συσκευασίας
- προστεθούν σύνταξη κώδικα επισήμανσης για το GNU πηγή-highlight
- (βλ etc / πηγή-highlight / README)
- βελτιωθεί emacs χρωματισμό υποστήριξη για την έκδοση 22.x
- (βλ etc / emacs / README)
- Να ενημερώνομαι για vim χρωματισμό σύνταξης να αντικατοπτρίζουν τις νέες «proc» / «ITER» λέξεις-κλειδιά
- (βλ etc / vim / README)
- πρόσθεσε ένα σενάριο για τη μετατροπή των «χρήση» των υφιστάμενων κωδικών def »σε« ITER »/« proc '
- (βλ $ CHPL_HOME / util / convert-defs)
- αφαιρείται multirealm παραδείγματα και τεκμηρίωση για το παρόν
- Τρίτων Λογισμικό Αλλαγές
- ενημερώνεται GASNet στην έκδοση 1.16.1
- προστιθέμενη αντίγραφα της BSC του Νάνου ++ και Qthreads Sandia της
- (βλ τρίτων / README)
- έκανε μια εγκατάσταση μετα βήμα για GASNet που αλλάζει την απόλυτη μονοπάτια με τη σχετική
- αφαιρούνται PVM προς το παρόν λόγω της αστάθειας
- Runtime Library Αλλαγές
- προστεθούν στρώματα έργο μιας τοπικής ρύθμισης για Νάνος ++ (BSC) και Qthreads (Sandia)
- αρκετές βελτιώσεις στο στρώμα tasking Διάρκεια:
- πρόσθεσε ένα νέο interface για το γεγονός ότι το chpl_main κλήση στρώμα tasking ()
- αλλάξει tasking λειτουργία εκκίνησης για να πάρει maxThreadsPerLocale / callStackSize args
- πρόσθεσε μια ικανότητα απόδοσης έργου στο περιβάλλον στρώμα tasking
- βελτιωθεί κώδικα runtime για να αποφύγετε τη χρήση συγχρονισμού Βαρ πριν από την προετοιμασία tasking
- αφαιρείται μακρο-μένο μορφή tasking interface? με τη χρήση τυποποιημένων ονόματα αντί
- ενοποιημένο ονομασία όλων των ρουτίνες στρώμα καθήκον να chpl_sync _ * () και chpl_task _ * ()
- αφαιρεθεί η απαίτηση για την εφαρμογή του ενιαίου μεταβλητή διεπαφή
- μετακινηθεί τερματισμό των νημάτων από FIFO tasking στρώμα να pthreads threading
- απλουστευμένη εφαρμογή των μεταβλητών συγχρονισμού στο στρώμα Pthread σπείρωμα
- μετακόμισε ευθύνη για μετράει το νήμα από την FIFO tasking να pthread σπείρωμα
- αρκετές βελτιώσεις στο στρώμα επικοινωνίας Διάρκεια:
- αναδιάρθρωση της διεπαφής επικοινωνίας για να υποστηρίξει τα επιχειρήματά μήκος / τύπου
- προστίθεται μια διεπαφή για non-blocking παίρνουν τις πτήσεις προς την comm. διεπαφή
- ενοποιηθούν όλα τα απομακρυσμένα πάρει ενέργειες για να χρησιμοποιήσετε CHPL_COMM_GET () μακρο
- refactored / μετονομάστηκε οι κεφαλίδες διεπαφή επικοινωνίας
- Έλεγχος του συστήματος
- βελτιωθεί πάρα πολύ τον έλεγχο των επιδόσεων και δυνατότητες γραφικών
- (βλέπε σχόλια στο μπροστινό μέρος της start_test για την τεκμηρίωση)
- βελτιωμένη υποστήριξη του συστήματος δοκιμών για τον καθαρισμό μετά το ίδιο
- προστιθέμενη δυνατότητα να αποφύγει τη χρήση οποιουδήποτε indirection της stdin
- προστεθεί μια επιλογή για να παρέχει ένα σύστημα σε ολόκληρη την επιλογή prediff
- προστιθέμενη δυνατότητα να χρησιμοποιούν τη μητρική λειτουργία χρονικού ορίου ενός εκτοξευτή και όχι της Python
- βελτιώσει τον τρόπο το σύστημα ελέγχου σκοτώνει ένα τεστ ότι οι χρόνοι έξω
- Διορθώθηκε ένα σφάλμα στο οποίο .preexec αρχεία εργαστεί μόνο εάν ".» ήταν στο δρόμο σας
- Εσωτερική
- πρόσθεσε ένα --break-on-id σημαία compiler για τους προγραμματιστές για να εντοπίσετε AST κόμβο δημιουργεί
- βελτίωση της οργάνωσης των περιεχομένων util / directory
- αλλάξει τον τρόπο που οι αριθμοί έκδοσης υπολογίζονται / εμφανίζεται στους χρήστες SVN-based
- προστεθεί υποστήριξη για ομάδα με καθήκον / νήμα ειδικό κώδικα ενότητας
- πρόσθεσε μια δυνατότητα να εκτυπώσετε τις Η AST κατανέμεται μεταξύ κάθε πέρασμα
- πρόσθεσε μια νέα gdb ψευδώνυμο για να μεταγλωττιστής --gdb: «τοπ» τυπώνει έναν κόμβο της AST τοποθεσία
- πολύ βελτιωμένη εφαρμογή της pragmas / σημαίες για να αποφεύγονται οι περιπτώσεις λάθους
- αφαιρεθεί αρκετές περιπτώσεις περιττές συγκρίσεις συμβολοσειρών στην compiler
- αφαιρείται επιρρεπής σε λάθη χρήση CHPL_TASKS και CHPL_THREADS ως σύμβολα προεπεξεργαστή
- προστιθέμενη bestPractices τεκμηρίωση για τους προγραμματιστές (που δεν περιλαμβάνονται στο δελτίο)
- αλλάξει εσωτερικά munging του «=» και «==» σε «ΑΝΑΘΕΣΗ» και «ίσων», αντίστοιχα
- προσθέσει μια σημαία του έργου --print-id-on-σφάλματος για να εκτυπώσετε AST ID για σφάλματα
- βελτίωσε την αυστηρότητα της C ++ πρωτότυπο έλεγχο
- προστεθούν εξωτερικών συμφωνιών συμβάλλει στην κορμός SVN (όχι απελευθέρωση)
- πρόσθεσε μια έννοια της εσωτερικής τύπων που χρησιμοποιούνται από τον compiler, αλλά όχι ο χρήστης
Τα σχόλια δεν βρέθηκε