Skip to main content

Automatic code generation for Graphics Processing Units

Article Category

Article available in the folowing languages:

Rozwijanie technologii komputerowej

Postępy w technologii procesorów graficznych mogą przyczynić się do zmiany paradygmatu w dziedzinie produkcji procesorów komputerowych. Uczestnicy jednego z ambitnych projektów unijnych poczynili ważne kroki w tym kierunku.

Gospodarka cyfrowa

Wykorzystywane na potrzeby najbardziej zaawansowanych gier komputerowych procesory graficzne przyciągają uwagę naukowców i badaczy ze względu na możliwość zastosowania ich w wysokowydajnych obliczeniach numerycznych. Dzięki dużemu popytowi na gry komputerowe technologia procesorów graficznych staniała do takiego poziomu, że można ją postrzegać jako tanie rozwiązanie dla zaawansowanych obliczeń o dużej prędkości. Uczestnicy finansowanego ze środków UE projektu "Automatic code generation for graphics processing units" (AUTH-AUTOGPU) pracowali nad wydłużeniem żywotności zoptymalizowanych kodów numerycznych w procesorach graficznych, aby umożliwić ich bardziej wydajne wykorzystanie w codziennych operacjach obliczeniowych. Jednym z przedmiotów prac było stworzenie jawnego języka równoległości wysokiego poziomu do programowania algorytmów numerycznych stosowanych w przetwarzaniu sygnałów i obrazu. Pracowano nad automatyzacją generowania kodu poprzez wykorzystanie specjalnego kompilatora, szablonów kodów i bibliotek algorytmów. Za pomocą zaawansowanych technik optymalizacji i wyszukiwania uczestnicy projektu starali się również zautomatyzować dostrajanie kluczowych dla wydajności elementów oprogramowania. Aby zrealizować te założenia, zespół opracował platformę o nazwie AUToGPU, która ułatwia projektowanie i tworzenie prototypów algorytmów równoległych do przetwarzania sygnału cyfrowego i obrazu. Pomogło to w przyspieszeniu cyklu programowania, szczególnie w odniesieniu do procesorów graficznych, automatyzacji optymalizacji wydajności, adaptacji do aktualizacji sprzętowych procesora i uelastycznienia oprogramowania. Projekt AUToGPU wykorzystuje specjalne techniki komplikacji i nowe abstrakcje matematyczne do rozwijania zaawansowanych technik obliczeniowych poprzez manipulowanie strukturami matematycznymi i dopasowywanie ich do architektury procesora graficznego. Umożliwia to lepsze przetwarzanie ujednoliconej abstrakcji algorytmów w wyrażeniach matematycznych wyższego rzędu. Wyniki są stosowane do przekształcania abstrakcji algorytmu na równoważne warianty przy pomocy tożsamości matematycznych. Trwające badania wariantów algorytmicznych pomagają w rozszerzeniu zastosowań architektury Compute Unified Device Architecture, platformy obliczeń równoległych i modelu programistycznego stworzonego przez potentata w dziedzinie grafiki, firmę NVIDIA. W tym kontekście fenomenalny sukces rynkowy firmy NVIDIA i jej architektury procesorów graficznych otwiera nowe możliwości dla producentów mikroprocesorów. W obliczu wzrostu zainteresowania tą technologią na rynek akceleratorów graficznych weszły AMD oraz Intel. Rozwiązania AUToGPU mogą zatem już wkrótce potencjalnie obsługiwać szerszą gamę procesorów, szczególnie że architektura procesorów graficznych powinna stać się normą w projektowaniu mikroprocesorów.

Słowa kluczowe

Technologia komputerowa, procesor graficzny, procesor komputera, obliczenia numeryczne, gry komputerowe, szybkie komputery, tworzenie kodu, programowanie, algorytmy równoległe, mikroprocesor

Znajdź inne artykuły w tej samej dziedzinie zastosowania