CUDA and the rise of NVIDIA - editorial illustration

Jensen Huang, CUDA und der Aufstieg von NVIDIA

Einführung

Als Jensen Huang NVIDIA 1993 mitgründete, war das Ziel, 3D-Grafik in Computerspiele und Multimedia zu bringen. Heute werden die Prozessoren desselben Unternehmens verwendet, um Modelle künstlicher Intelligenz zu trainieren und auszuführen. Um diesen Wandel zu verstehen, hilft es, mit Huangs Ingenieurhintergrund und der Softwareplattform zu beginnen, die NVIDIA gebaut hat: CUDA. [1] [1]

1. Huangs Ingenieurkarriere

Der in Taiwan geborene Huang erwarb 1984 einen Bachelor-Abschluss in Elektrotechnik an der Oregon State University. Von 1984 bis 1985 arbeitete er als Mikroprozessor-Designer bei AMD und hatte anschließend von 1985 bis 1993 mehrere Positionen bei LSI Logic inne. Er wurde Direktor von Coreware, der Abteilung, die für die Strategie des Unternehmens verantwortlich war, mehrere Komponenten eines Computersystems auf einem einzigen Chip zu integrieren. In dieser Zeit erwarb er außerdem 1992 einen Master-Abschluss in Elektrotechnik an der Stanford University. [2] [1]

Am 5. April 1993 gründete Huang NVIDIA zusammen mit Chris Malachowsky und Curtis Priem. Er ist seit der Gründung des Unternehmens Präsident, Chief Executive Officer und Vorstandsmitglied. 1999 ging NVIDIA an die Börse. Im selben Jahr stellte es die GeForce 256 vor, einen Meilenstein in der Geschichte der Grafikprozessoren (GPUs) des Unternehmens. [1] [1]

2. Was ist CUDA?

NVIDIA führte CUDA 2006 als Softwareplattform und Programmiermodell ein, um viele Berechnungen parallel auf seinen GPUs auszuführen. Die GPU ist die Hardware, die die Berechnungen durchführt. CUDA stellt die Programmierwerkzeuge bereit, mit denen Entwickler ihre Berechnungen auf dieser Hardware ausführen. Dadurch öffneten sich für Grafik gebaute GPUs für Anwendungen in der wissenschaftlichen Forschung, im Hochleistungsrechnen und in der künstlichen Intelligenz. [1] [1]

Stellen Sie sich vor, Sie hellen ein Bild mit einer Million Pixeln auf. Die Berechnung für ein Pixel kann unabhängig von den anderen erfolgen. Ein CUDA-Programm kann diese Arbeit in kleinere Berechnungen aufteilen und auf der GPU ausführen. Eine Funktion, die auf der GPU läuft, wird Kernel genannt. Viele Threads führen sie parallel aus, jeder arbeitet an seinem zugewiesenen Teil der Daten. Dasselbe Prinzip der Aufteilung von Arbeit in parallel ausführbare Teile gilt für KI-Berechnungen wie große Matrixmultiplikationen. [3] [1]

3. Wie CUDA der KI-Branche half

Beim Training eines neuronalen Netzes trifft das Modell zunächst eine Vorhersage. Der Trainingsprozess misst den Fehler und aktualisiert die Parameter des Modells. Er wiederholt diesen Prozess viele Male. GPUs beschleunigen Operationen wie die Matrixmultiplikation, verschaffen Forschern Zeit für mehr Experimente und machen es praktikabel, größere Modelle zu trainieren. GPUs werden auch nach dem Training eingesetzt, während der Inferenz, wenn ein Modell wie ein Sprachmodell eine Antwort für einen Benutzer erzeugt. [4] [1]

AlexNet lieferte 2012 eine praktische Demonstration. Auf NVIDIA-GPUs trainiert, gewann es den ImageNet-Wettbewerb zur Bildklassifizierung. Seine Leistung zeigte, wie Grafikprozessoren, die für Computerspiele verwendet wurden, auch Modelle zum Erkennen von Bildern trainieren konnten. [1] [1]

4. Wie CUDA NVIDIA einen dauerhaften Vorteil verschaffte

NVIDIA baute optimierte Bibliotheken und Werkzeuge für Berechnungen, die Entwickler häufig benötigen. cuBLAS beschleunigt Matrixoperationen, cuDNN unterstützt gängige Operationen neuronaler Netze, NCCL übernimmt die Kommunikation über GPUs hinweg, und TensorRT hilft trainierten Modellen, schneller zu laufen. Frameworks wie PyTorch unterstützen CUDA, sodass Entwickler diese Fähigkeiten nutzen können, ohne jede GPU-Operation von Grund auf neu zu schreiben. [5] [1]

Fazit

Dieses Software-Ökosystem stärkte das Hardware-Geschäft von NVIDIA. Ein Team kann von einem kleinen Experiment zu einem System über viele GPUs hinweg skalieren und dabei weiterhin vertraute Software und Werkzeuge nutzen. Ein Hardware-Wechsel kann erfordern, dass das Team seine CUDA-Abhängigkeiten überprüft, Teile seiner Software anpasst und die Leistung erneut testet. Indem NVIDIA jahrelang neben der Hardware auch in Software investierte, hatte es Werkzeuge bereit für Entwickler, die bereits wussten, wie man sie benutzt, als die Nachfrage nach KI-Rechenleistung wuchs. [1] [1]

Quellen

  1. https://www.nvidia.com/en-us/about-nvidia/corporate-timeline/
  2. https://s201.q4cdn.com/141608511/files/doc_financials/annual/2013/NVDA_2013AR_Proxy_10K-FINAL.pdf
  3. https://docs.nvidia.com/cuda/cuda-programming-guide/02-basics/writing-cuda-kernels.html
  4. https://docs.nvidia.com/cuda/cuda-programming-guide/index.html
  5. https://developer.nvidia.com/machine-learning

Fragen zu Jensen Huang, CUDA und dem Aufstieg von NVIDIA

Was ist CUDA und warum hat NVIDIA es gebaut?

CUDA ist eine Softwareplattform und ein Programmiermodell, das NVIDIA 2006 eingeführt hat, um viele Berechnungen parallel auf seinen GPUs auszuführen. Die GPU ist die Hardware; CUDA stellt die Programmierwerkzeuge bereit, die Grafikhardware für wissenschaftliche Forschung, Hochleistungsrechnen und KI öffneten.

Wie hat CUDA der KI-Branche geholfen?

Das Training eines neuronalen Netzes bedeutet, Vorhersage, Fehlermessung und Parameteraktualisierungen viele Male zu wiederholen. GPUs beschleunigen Operationen wie die Matrixmultiplikation, sodass Forscher mehr Experimente durchführen und größere Modelle trainieren können. AlexNet, auf NVIDIA-GPUs trainiert, demonstrierte dies mit dem Gewinn des ImageNet-Wettbewerbs 2012.

Warum verschafft CUDA NVIDIA einen dauerhaften Vorteil?

NVIDIA baute optimierte Bibliotheken, die Entwickler häufig benötigen – cuBLAS für Matrixoperationen, cuDNN für Operationen neuronaler Netze, NCCL für Multi-GPU-Kommunikation und TensorRT für schnellere Inferenz – und Frameworks wie PyTorch unterstützen CUDA, sodass Teams von einem kleinen Experiment auf viele GPUs skalieren können, ohne ihre Software neu zu schreiben.

Powered By K7