Localized V2 rewrite for this language is in progress. Showing English-first content for now.

GPU Programming

Kernel σύνταξη, το effect `GPU` και τι λειτουργεί σήμερα.

GPU Programming

Το Sounio στοχεύει να κάνει το GPU compute first-class κομμάτι της γλώσσας, όχι κάτι “εκ των υστέρων”.

Σε επίπεδο surface σύνταξης, αυτό φαίνεται ως:

  • kernel fn ... για GPU kernels
  • with GPU για host συναρτήσεις που κάνουν GPU operations (launch, device memory, sync, …)

Τι Λειτουργεί Σήμερα (Πραγματικότητα του Compiler)

Ο compiler δέχεται τη σύνταξη kernel fn και κάνει type-check τα kernels ως συναρτήσεις.

Για παράδειγμα, αυτό είναι έγκυρο και πρέπει να περνάει type-check:

kernel fn noop(a: &[i32]) {
    // A minimal kernel (no GPU intrinsics used).
}

fn main() with IO {
    println("GPU docs: kernel syntax parses and type-checks.")
}

Spec vs Υλοποίηση

Το πλήρες GPU programming model περιλαμβάνει:

  • kernel launch APIs
  • device memory allocation και transfers
  • GPU intrinsics όπως thread/block IDs και synchronization

Κάποια από αυτά είναι feature-dependent και μπορεί να απαιτούν εξωτερικά toolchains (CUDA, Metal, SPIR-V) για εκτέλεση σε πραγματικό hardware.

Όταν έχετε αμφιβολία:

  • διαβάστε τα stdlib GPU modules στο stdlib/gpu/
  • συμβουλευτείτε spec/LANGUAGE_SPECIFICATION.md (GPU section)
  • προτιμήστε tests/fixtures ως πηγή “τι κάνει compile σήμερα”