futhark — συγκεντρωτικός οδηγός — DedSec Project
futhark — συγκεντρωτικός οδηγός Futhark Μοντέλο λειτουργίας Η Futhark είναι καθαρά συναρτησιακή array γλώσσα για αποτελεσματική παράλληλη εκτέλεση σε CPU και GPU. Παράδειγμα Δοκίμασέ το με…
Futhark
Μοντέλο λειτουργίας
Η Futhark είναι καθαρά συναρτησιακή array γλώσσα για αποτελεσματική παράλληλη εκτέλεση σε CPU και GPU.
Παράδειγμα
def square (x: i32) : i32 = x * x
Δοκίμασέ το με νόημα
Εξήγησε τους τύπους εισόδου/εξόδου και σχεδίασε παράλληλο map σε array χωρίς side effects.
Σφάλμα που πρέπει να ξεχωρίσεις
Η αλλαγή shape επηρεάζει μνήμη και περιορισμούς device ακόμη και με ίδια element-wise πράξη.
Για να κρίνεις την άσκηση, κατέγραψε την αρχική είσοδο, την πρόβλεψη και την παρατήρηση σε πραγματικό, συμβατό περιβάλλον Futhark. Δώσε ξεχωριστό παράδειγμα όπου αλλάζει μόνο μία μεταβλητή ή ένα όρισμα. Αν εργάζεσαι χωρίς την αναγκαία εφαρμογή, μελέτησε τη σύνταξη ως παράδειγμα και μην παρουσιάζεις το κείμενο ως εκτελεσμένο test.
Futhark — Αναλυτικός οδηγός εξάσκησης
Μικρή αφετηρία πηγαίου κώδικα
def double (x: i32) : i32 = x * 2
Περιβάλλον: futhark check hello.fut.. Κράτησε αντίγραφο του αρχικού κώδικα και σημείωσε έκδοση εργαλείου. Ξεχώρισε αν η εκτέλεση επιστρέφει τιμή, εμφανίζει κείμενο ή αλλάζει state. Για τις πρώτες δοκιμές χρησιμοποίησε απομονωμένο περιβάλλον, όχι πραγματικούς λογαριασμούς ή δεδομένα.
Ανάλυση του ιδιαίτερου μηχανισμού
Κάνε map καθαρής αριθμητικής συνάρτησης σε array και reduce σε scalar. Σύγκρινε με serial reference και μέτρησε transfer/compute time.
Διάγνωση κρίσιμου ορίου
Η Futhark στοχεύει data-parallel arrays και περιορίζει side effects σε kernels. GPU overhead μπορεί να κυριαρχεί σε μικρά δεδομένα.