Gute Tipps für die Performance-Optimierung

April 01, 2014

Nicholas Wilt zeigt sich in “The CUDA Handbook” sehr kompetent und experimentierfreudig bei der Optimierung von Kerneln. Das Buch kann von vielen Fortgeschrittenen mit Gewinn gelesen werden.

Dieses Buch richtet sich an fortgeschrittene CUDA-Programmierer und hat seinen Schwerpunkt in der Performance-Optimierung von Kerneln. Hierzu werden auch die technischen Hintergründe beschrieben und sehr viele Ansätze für die Optimierung aufgezeigt. Teilweise geht der Autor auch bis auf den Maschinencode SASS herunter.

Ein Nachteil des Buches ist, dass es vom Autor auch als Nachschlagewerk (“comprehensive reference”) konzipiert wurde. Dadurch sind teilweise sehr große Tabellen im Buch vorhanden (S. 93ff, S. 259). Die Dokumentation von CUDA wiederum gibt es als HTML und als PDF, so dass ein Entwickler sehr viel schneller im Web an die gesuchte Information kommt, als in einem Buch zu suchen, siehe z. b. docs.nvidia.com. Ein weiterer Nachteil ist, dass sich APIs und Kommandozeilenoptionen auch ändern können.

Zum Zeitpunkt des Buches war wohl CUDA 5.0 aktuell. Inzwischen gibt es CUDA 5.5 und die Version 6.0 ist in den Startlöchern (als Release-Candidate erschienen).

Gestört hat mich auch, dass die Fehlerabfrage mit dem Makro CUDART_CHECK im Beispielcode immer abgedruckt wurde. Mit cudaGetLastError() könnte man dieses auch nach dem Aufruf ausführen und das Makro an das Ende der Zeile stellen, so dass man nicht ständig drüber hinweg lesen muss.

Das Buch könnte gut und gerne geschätzte 50 Seiten dünner sein, wenn der Autor besser mit dem Platz umgegangen wäre. Der Abschnitt über die Amazon Web Services ist meiner Meinung nach auch für ein Buch über CUDA nicht relevant.

Fazit: Wer CUDA-Kernel optimieren möchte und Ideen für Möglichkeiten dafür sucht, wird in diesem Buch fündig. Es ist allerdings auf dem Stand von Anfang 2013, aber die Grundlagen werden gut erklärt und man kann sich die neusten Informationen über CUDA 6.0 und Maxwell aus dem Web besorgen.

  • Nicholas Wilt
  • The CUDA Handbook
  • Addison Wesley
  • 2013

Siehe auch die Renzension bei Amazon.