Science Targeted Programming of Graphical Processors 2

Jegyszerzés:

Szóbeli vizsga

Az előadás helye és időpontja:

Hétfő 10:20-11:50, ELTE É 5.56

Szorgalmi feladatok

- 1 ember vagy 1db 1 pontosat, vagy 2db 1 pontosat, vagy 1db 2 pontosat választhat
- minden feladatot max 1 ember választhat
- jelentkezés a feladatra, illetve kérdés, pontosítás e-mailben

Leadási határidő: a szóbeli vizsga előtt 2 héttel.

Lesz még várhatóan egy második adag szorgalmi is a félév második feléből. Minden egyes helyes megoldásért kapott pont 1-el kevesebb gyakorlati feladatot jelent a vizsgán.

Az előadás fóliái:

  1. Fejezet: Bevezetés
  2. Fejezet: Funkcionális Programozás Elméleti Alapok
  3. Fejezet: Funkcionális Programozás Nyelvi Elemek
  4. Fejezet: Lineáris Algebra Funkcionálisan
  5. Fejezet: Közönséges Diffegyenlet megoldók Funkcionálisan
  6. Fejezet: Numerikus integrálok
  7. Fejezet: Közönséges Diffegyenletek adaptív megoldói
  8. Fejezet: Véges Differencia sémák és FFT funkcionálisan (l. az Összefoglalás diasor elejét alább).
  9. Fejezet: GPU Funkcionális programozás példák CUDA-ban és SYCL-ben

Minimális Map és Reduce implementáció CUDA-ban és SYCL-ben

Reduce prezentáció, CUDA-hoz

Reduce példakód, SYCL

Véges differencia sémák (link az együtthatók számolásához) Összefoglalás az utolsó órai anyagról (2015)

Tervezett tematika:

  1. Bevezetés a funkcionális programozásba, Kategóriaelméleti létminimum
  2. Funkcionális alapelemek: Functor, Applicative, Monad, Fold, Zip, Fixpont kombinátor
  3. Funkcionális programozás a C++ template-metanyelv szintjén
  4. Lineáris algebra felépítése funkcionálisan
  5. Lineáris algebra felépítése funkcionálisan a GPU-n történő számolások sajátosságaival
  6. Végeselem diszkretizációk
  7. Közönséges differenciálegyenlet rendszerek
  8. Klasszikus N-test problémák
  9. Statisztikus fizikai szimulációk
  10. Monte-Carlo szimulációk
  11. Parciális differenciálegyenletek megoldása végeselem diszkretizációval
  12. Parciális differenciálegyenletek megoldása bázistranszformációs módszerekkel

Példakódok: frissítve!

Functor, Applicative, Monad C++-ban std::future Functor, C++-ban ODE megoldó

Régebbi példakódok: