Content

Software Grundlagen High Performance Computing WS2014/2015

Die Grundlegenden Konzepte werden in der Vorlesung an der Tafel entwickelt. Aufgaben und Material zur praktischen Umsetzung sind im folgenden aufgelistet.

Beispiele und Aufgaben

MacPool Session 1

  • Hello world!

  • Umgang mit Compiler

  • Object- und Assembler Code erzeugen

  • AST ausgeben

  • Linken

MacPool Session 2

  • Rekursion

  • Bedingte Anweisungen

  • Schleifen

MacPool Session 3

  • Arrays und Pointer

  • Funktionen zum Packen von Matrix Bloecken

MacPool Session 4

  • Packen von Matrix Bloecken mit Zero Padding

MacPool Session 5

  • Erste Schritte mit Fortran 77: Hello world!

  • Bedingte Anweisungen

  • Schleifen

  • Subroutinen

  • Fortran Subroutinen von C aufrufen

MacPool Session 6

  • Erste BLAS Level 1 Funktionen in C implementieren

  • Fortran Schnittstellen fuer unsere C Implementierung

  • Verwendung der BLAS Test Suite

MacPool Session 7

  • Erste Makefiles

  • Erzeugen von statischen Bibliotheken

MacPool Session 8

  • Mehr zu Makefiles

  • Variablen in Makefiles

  • Implizite Variablen und Regeln

MacPool Session 9

  • Standard CBLAS Schnittstellen fuer unsere C Implementierung

  • Die ATLAS Benchmark Suite verwenden

MacPool Session 10

  • Naive Implementierung des Matrix-Matrix Produkts (DGEMM)

  • Verwendung der BLAS Test Suite

  • Verwendung der ATLAS Benchmark Suite

  • Loesungsvorschlag: ulmblas_session10.tgz

MacPool Session 11

  • GEMM Micro Kernel (in reinem C)

MacPool Session 12

  • GEMM Macro Kernel

MacPool Session 13

  • GEMM (Frame Algorithmus)

MacPool Session 14

  • Erste Schritte mit Assembler

MacPool Session 15

  • Erste Schritte mit SSE

MacPool Session 16

  • Erste Assembler Implementierung des GEMM Micro Kernel mit SSE Instruktionen.

  • Die Performance dieser Variante entspricht dem Besten was man von einem Compiler erwarten kann.

MacPool Session 17

  • Erste Assembler Implementierung des GEMM Micro Kernel mit AVX Instruktionen.

  • Die Performance dieser Variante entspricht dem Besten was man von einem Compiler erwarten kann, der AVX unterstuetzt.

MacPool Session 18

  • AVX Micro Kernel Variante

Material