🦀 Rust — Notes d’apprentissage

Rust comme langage complémentaire à Python pour le calcul distribué performant : GAR optimisées, buffers zero-copy, intégration PyO3, et bindings CUDA via cudarc.


Cours

#NoteSujet
11-Ownership et BasesOwnership, borrowing, lifetimes
22-Types Structs EnumsTypes, structs, enums, pattern matching
33-Error HandlingOption, Result, ?
44-Iterateurs et ClosuresItérateurs, closures, programmation fonctionnelle
55-Traits et GenericsTraits, generics, polymorphisme
66-Smart Pointers et ConcurrenceBox, Rc, Arc, RefCell, Mutex, Send, Sync, threads
77-Modules et OrganisationModules, Cargo, workspace, visibilité
88-Tests et DocumentationTests unitaires, intégration, doc-tests, benchmarks
99-String et CollectionsString, Vec avancé, HashMap, HashSet
1010-IO et SerdeFichiers, sérialisation JSON/binaire, Serde
1111-Async et Tokioasync/await, Tokio, canaux, TCP
1212-Unsafe et FFIUnsafe, FFI C, cudarc, PyO3
1313-Macrosmacro_rules!, macros procédurales
1414-Projet GAR RustProjet : Implémentation GAR en Rust

Objectifs

  • Ownership, borrowing, lifetimes
  • Structs, enums, pattern matching
  • Gestion d’erreurs (Result, Option, ?)
  • Itérateurs et closures
  • Concurrence (Send, Sync, Arc, Mutex)
  • Modules, organisation workspace
  • Tests, documentation, benchmarks
  • Collections, String, HashMap
  • Serde, sérialisation
  • Async/Tokio
  • Unsafe, FFI
  • Macros
  • Projet GAR — implémenter Médiane, Krum, Bulyan en Rust
  • PyO3 / maturin — extension Python de la librairie GAR
  • Benchmarks Rust vs Python (PyTorch)
  • cudarc — acceleration GPU des GAR

Ressources


🔗 Voir aussi