DedSec Project

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 μπορεί να κυριαρχεί σε μικρά δεδομένα.