zurück zum Artikel

Nvidia: CUDA 8 bringt Optimierungen für die Pascal-Architektur

Rainald Menge-Sonnentag
CUDA 8 arbeitet mit Nvidias Pascal zusammen

Zur Unterstützung für die neue Pascal-GP100-GPU bringt Nvidias Plattform für parallele Programmabläufe unter anderem ein vereinheitlichtes Speichermodell.

Nvidia hat in einem Blog-Beitrag einige Funktionen der kommenden Version 8 ihrer Plattform für parallele Berechnungen CUDA (Compute Unified Device Architecture) vorgestellt. Ein zentraler Punkt ist die Unterstützung der Pascal-Architektur, die nichts mit der Programmiersprache zu tun hat, sondern der Name von Nvidas jüngster GPU-Generation [1] ist. Nvidia hatte auf der GTC 2016 unter anderem den auf HPC ausgerichteten Tesla P100 gezeigt [2], der auf der Pascal-GP100-GPU basiert.

Mehr Infos

Die GP100 erweitert die Möglichkeiten der Speicheradressierung im Vergleich zur Maxwell-Architektur und kann daher nicht nur den GPU-, sondern auch den CPU-Speicher ansprechen. Daher ist der von CPU und GPU gemeinsam genutzte Unified Memory, der seit Version 6 Bestandteil von CUDA ist, in Version 8 nicht mehr auf den GPU-Speicher beschränkt.

Eine weitere Neuerung ist nvGRAPH, eine Bibliothek für die Graphen-Analyse. Als Anwendungsbeispiele nennt der Blog-Beitrag die Analyse von sozialen Netzen, Genomen und Cyber-Security im Netzwerk. Die Bibliothek enthält in CUDA 8 einige Algorithmen, deren Berechnung die GPU-Beschleunigung nutzt, und soll in der Zukunft weiter ausgebaut werden. Zum Start gibt es unter anderem nvRank mit Algorithmen wie Single-Source Shortest Path zur Optimierung von Strecken, die beispielsweise für autonome Autos genutzt werden kann. Analog sucht Single-Source Widest Path in Netzwerken nach den Wegen mit der besten Bandbreite.

Der NVCC-Compiler in CUDA 8 soll in günstigen Fällen gut doppelt so schnell übersetzen wie bisher. Das gilt wohl vor allem beim Einsatz von C++-Templates wie Thrust [6]. Die Lambda-Ausdrücke aus C++11 haben bereits in CUDA 7 Einzug in die Syntax gehalten. In CUDA 8 dürfen Entwickler erstmals mit __host__ __device__ heterogene Lambdas definieren, die entweder auf der GPU oder der CPU ausgeführt werden.

Mehr Details zu den Neuerungen finden sich im Blog-Beitrag [7], der die Veröffentlichung von CUDA 8 für den August ankündigt. (rme [8])


URL dieses Artikels:
https://www.heise.de/-3164254

Links in diesem Artikel:
[1] https://www.heise.de/news/GTC-2016-Nvidia-enthuellt-Monster-Chip-Pascal-mit-16-GByte-HBM2-und-bis-zu-3840-Kernen-3163143.html
[2] https://www.heise.de/news/GTC-2016-Nvidia-Chefarchitekt-deutet-hohe-Gaming-Performance-von-Pascal-an-3163999.html
[3] https://www.heise.de/news/GTC-2016-Nvidia-Chefarchitekt-deutet-hohe-Gaming-Performance-von-Pascal-an-3163999.html
[4] https://www.heise.de/news/GTC-2016-Benchmark-Folien-statt-lauffaehiger-Pascal-Systeme-3164001.html
[5] https://www.heise.de/news/GTC-2016-Nvidia-enthuellt-Monster-Chip-Pascal-mit-16-GByte-HBM2-und-bis-zu-3840-Kernen-3163143.html
[6] https://devblogs.nvidia.com/parallelforall/expressive-algorithmic-programming-thrust/
[7] https://devblogs.nvidia.com/parallelforall/cuda-8-features-revealed/
[8] mailto:rme@ix.de