GPU-beschleunigtes Computing erreicht Programmierer der nächsten Generation dank Unterstützung von Python in NVIDIA CUDA

Python-Produktivität mit GPU-Leistung ermöglicht nächste Welle von HPC- und Datenanalyse-Anwendungen

(Auszug aus der Pressemitteilung)

San Jose, Kalifornien, GTC 2013, 18. März 2013 – NVIDIA gibt heute die Unterstützung von GPU-Beschleunigung in der Open-Source-Sprache Python bekannt. Dank des parallelen Programmierungsmodells, das bei NVIDIA CUDA zum Einsatz kommt, kann die wachsende Zahl an Python-Programmierern die GPU-Beschleunigung in vollem Umfang für die Entwicklung von High-Performance-Computing- (HPC-) und Big-Data-Anwendungen nutzen.

Anzeige

Da Python leicht zu erlernen und zu verwenden ist, setzten über drei Millionen Nutzer auf die Sprache, die zu den Top-10-Programmiersprachen gehört. Sie ermöglicht Entwicklern, High-Level-Software-Code zu schreiben, ihre Ideen in algorithmischer Programmierung umzusetzen, ohne tiefer in Programmierdetails eingehen zu müssen. Die umfangreichen Bibliotheken und fortschrittlichen Funktionen von Python machen die Sprache zum idealen Werkzeug für ein breites Spektrum von Wissenschafts-, Konstruktions- und Big-Data-Anwendungen für HPC-Systeme.

Die Unterstützung für NVIDIA CUDA liefert NumbaPro, ein Python-Compiler, der Bestandteil von Anaconda Accelerate aus dem Hause Continuum Analytics ist.

„Hunderttausende von Python-Programmierern können jetzt GPU-Beschleunigung nutzen, um die Leistung ihrer Anwendungen zu steigern”, sagt Travis Oliphant, Mitbegründer und CEO von Continuum Analytics. „Mit NumbaPro bekommen Programmierer das Beste aus beiden Welten: Sie können die Vorteile Flexibilität und hohe Produktivität von Python mit der hohen Leistung von NVIDIA-GPUs kombinieren.”

Erweiterter Zugriff auf beschleunigtes Computing über LLVM
Diese neue Unterstützung für GPU-beschleunigte Entwicklung von Anwendungen ist das Ergebnis von NVIDIAs Bereitstellung des CUDA-Compilerquellcodes für das Core- und Parallel-Thread-Execution-Backend von LLVM, einer weit verbreiteten Open-Source-Compiler-Infrastruktur.

Die Python-Entwicklungsumgebung von Continuum Analytics verwendet LLVM und das NVIDIA-CUDA-Compiler-Software-Development-Kit, um GPU-beschleunigte Anwendungsmöglichkeiten für Python-Programmierer zu bieten.

Der modulare Aufbau von LLVM macht es für Sprach- und Bibliothek-Designer einfach, die Unterstützung für GPU-Beschleunigung in eine breite Palette von Mehrzweck-Sprachen wie Python sowie in Domain-spezifische Programmiersprachen zu implementieren. Die effiziente Just-In-Time-Kompilierung von LLVM ermöglicht Entwicklern die Kompilierung dynamischer Sprachen wie Python „on the fly“ bei einer Vielzahl von Architekturen.

„Unsere Arbeitsgruppe erstellt typischerweise zuerst Prototypen und iteriert neue Ideen sowie Algorithmen in Python und schreibt dann den Algorithmus in C oder C++, wenn der Algorithmus sich bewährt”, sagt Vijay Pande, Professor of Chemistry and of Structural Biology and Computer Science an der Stanford University. “Die CUDA-Unterstützung in Python ermöglicht uns den Performance-Code zu schreiben und gleichzeitig den Arbeitsablauf aufrechtzuerhalten.

Anaconda Accelerate ist für Continuum Analytics Anaconda Python sowie als Teil von Wakari, der Browser-basierten Daten-Explorations- und-Code-Entwicklungsumgebung, verfügbar.