TU Wien:High Performance Computing Hochleistungsrechnen VU (Träff)

Aus VoWi
Zur Navigation springen Zur Suche springen

Daten[Bearbeiten | Quelltext bearbeiten]

Vortragende Sascha HunoldRuben Laso RodriguezJesper Larsson Träff
ECTS 4,5
Alias High Performance Computing (en)
Letzte Abhaltung 2024S
Sprache „bei bedarf in englisch“ ist kein zulässiger Sprachcode.
Mattermost high-performance-computing-hochleistungsrechnenRegisterMattermost-Infos
Links tiss:184725, eLearning
Zuordnungen
Masterstudium Data Science Modul BDHPC/EX - Big Data and High Performance Computing - Extension
Masterstudium Logic and Computation Modul Programming Languages and Verification (Gebundenes Wahlfach)
Masterstudium Software Engineering & Internet Computing Modul Computersprachen und Programmierung (Gebundenes Wahlfach)
Masterstudium Technische Informatik Modul Dependable Distributed Systems (Gebundenes Wahlfach)


Inhalt[Bearbeiten | Quelltext bearbeiten]

noch offen, bitte nicht von tiss oder Homepage kopieren, sondern aus Studierendensicht beschreiben.

Ablauf[Bearbeiten | Quelltext bearbeiten]

noch offen

Benötigte/Empfehlenswerte Vorkenntnisse[Bearbeiten | Quelltext bearbeiten]

noch offen

Vortrag[Bearbeiten | Quelltext bearbeiten]

noch offen

Übungen[Bearbeiten | Quelltext bearbeiten]

noch offen

Prüfung, Benotung[Bearbeiten | Quelltext bearbeiten]

WS23/24:

  • Mündliche Prüfung
    • Beginnt eher als Abgabegespräch, dann wird immer mehr in die Theorie gefragt. Fragen zum Übungsteil waren bei mir in etwa folgende, damit ihr ein Gefühl bekommt worauf ihr euch einstellen könnt:
      • Verhalten von blocking operations erklären
      • Wie habe ich die initialen Daten generiert/verteilt (in meinem Fall ein Broadcast, was suboptimal war, Scatter wäre effizienter gewesen. Das habe ich aber recht schnell abgefangen weil ich das eh schon wusste und damit gerechnet hab)
      • Erklären warum die Reihenfolge bei send/recv wichtig ist (potentiell deadlocks, die frage kam auf weil ich in meiner impl sequentiell zuerst 8 send und dann 8 recv hatte)
      • Erklären was für Operationen ich benutzt habe, was der unterschied ist, wie man das graph neighborhood aufbaut (inkl wie die Funktion genau heißt (mpi_dist_graph_create))
      • Haben mich dann relativ lang drauf festgenagelt wer bei meiner sendrecv Implementierung jeweils Daten austauscht und in welcher Reihenfolge, aber ohne mich dabei in den Code schauen zu lassen. Dadurch dass ich die Prüfung erst im März gemacht hab war die Übung schon >2 Monate her, und ich hatte solche Implementierungsdetails natürlcih nicht mehr im Kopf, das fand ich relativ anstrengend. Hätte ich kurz einen Blick auf meinen Code werfen können hätte ich die Frage problemlos zufriedenstellend beantworten können und auch erklären können, worauf sie dann im Endeffekt hinaus wollten)
    • Dann gings langsam eher zu Theoriefragen über:
      • Was ist gather/scatter?
        • Eines davon algorithmisch (grob) beschreiben
          • alpha/beta efficiency des Algorithmus (inkl vollständiger Formel), lower bounds erklären
          • Anzahl der comm rounds?
      • Im Vergleich dazu: Allgather
        • Was ist da beim algo anders?
        • Auch wiedder efficiency, comm rounds
        • Was kann beim Allgather ein Problem sein? (wollten darauf hinaus was passiert wenn p keine zweierpotenz ist, und warum das ein Problem sein kann)
      • Was sind die _v Varianten der mpi calls und wie unterscheiden sie sich von den normalen calls?
      • Zu roofline, libraries, profiling wurde ich absolut garnichts gefragt

Am Ende wars ein 3er (ok für die Zeit die ich an Lernaufwand reingesteckt hab, ca 2-3 Tage). Generell kam mir das Ganze aber sehr random vor.

Zur Übungsaufgabe bekommt man kaum Feedback außer am Ende ein "ja da haben ein paar Sachen nicht gepasst", und man weiß eigentlich nicht, wie viel von der Note jetzt die Übung und wie viel die Prüfung war. Generell scheints bei der Übung garnicht so wichtig zu sein, dass sie merken, dass man sich mit den Themen auseinandergesetzt hat, sondern viel mehr um einen hübschen/korrekten Report. Meine Achsenbeschriftungen bei ein paar Grafiken waren aufgrund von copy&paste leider falsch, das wurde zb bekrittelt (seriously, who cares? Hat das irgendeinen lerneffekt?).

Mein reiner sequentieller algorithmus war aus für mich nicht ganz nachvollziehbaren Gründen ineffizienter als die MPI-basierten. Ich bin nicht ganz dahinter gekommen warum, hab aber diverse Spekulationnen aufgestellt (stand auch so in meinem Report). Wurde trotzdem kritisiert, dass ich da mehr hätte reinschauen müssen (obwohl optimieren einer sequenziellen implementierung komplett am Sinn der Übung vorbeigeht, und das Ganze ja auch in keinster Weise gefordert wurde).

Der Theorieteil scheint sich großteils um konkrete algorithmen zu drehen oder um irgendwelche specifics von MPI. Auf großflächiges Verständnis wird scheinbar nicht besonders viel Wert gelegt, oberflächliche Fragen (wie zb LogP/LM oder Roofline zu beschreiben) gabs bei mir keine, was mich etwas überrascht hat.

Dauer der Zeugnisausstellung[Bearbeiten | Quelltext bearbeiten]

noch offen

Zeitaufwand[Bearbeiten | Quelltext bearbeiten]

noch offen

Unterlagen[Bearbeiten | Quelltext bearbeiten]

noch offen

Tipps[Bearbeiten | Quelltext bearbeiten]

noch offen

Highlights / Lob[Bearbeiten | Quelltext bearbeiten]

noch offen

Verbesserungsvorschläge / Kritik[Bearbeiten | Quelltext bearbeiten]

noch offen

Materialien

Diese Seite hat noch keine Anhänge, du kannst aber neue hinzufügen.