OpenCL™ (Open Computing Language) to niskopoziomowe API (Application Programming Interface – interfejs programowania aplikacji) do przetwarzania heterogenicznego działające w architekturze CUDA. Używając OpenCL, programiści mogą tworzyć – w języku programowania przypominającym C – jądra kodu obliczeniowego (tzw. kernele) w celu wykorzystania mocy układów GPU NVIDIA w zakresie obliczeń masowo równoległych w fascynujących aplikacjach obliczeniowych. Ponieważ standard ten dojrzewa i jest obecnie obsługiwany na procesorach innych producentów, NVIDIA będzie w dalszym ciągu oferować wsparcie w postaci sterowników, narzędzi i materiałów szkoleniowych.
OpenCL został zgłoszony latem 2008 do Khronos Group przez firmę Apple w partnerstwie z NVIDIA, w celu stworzenia międzyplatformowego środowiska umożliwiającego wykonywanie obliczeń ogólnego przeznaczenia na układach GPU. NVIDIA przewodniczy grupie roboczej definiującej standard OpenCL od momentu jej powstania. NVIDIA przewodniczy grupie roboczej definiującej standard OpenCL od momentu jego powstania i jako pierwsza na świecie udostępniła w czerwcu 2009 zgodną z nim implementację na GPU dla systemów Windows i Linux. |
 |
NVIDIA oferuje wsparcie dla OpenCL w wersji produkcyjnej sterowników dla użytkowników końcowych już od października 2009, zapewniając w ten sposób obsługę OpenCL na ponad 250 milionach układów GPU zgodnych z architekturą CUDA, wprowadzonych na rynek od 2006 roku.
Zasoby dla programistów wykorzystujących OpenCL:
Sterowniki OpenCL 1.1 oraz przykładowe próbki kodu – już dostępne (czerwiec 2010)
Przedpremierowa wersja sterowników oraz próbki kodu SDK dla OpenCL 1.1 są już dostępne dla zarejestrowanych programistów tworzących oprogramowanie wykorzystujące układy GPU. Zaloguj się lub wystąp o założenia konta, by jeszcze dziś pobrać OpenCL 1.1.
|
Zasoby dla programistów wykorzystujących OpenCL:
| Sesje GPU Technology Conference 2010:
|
NVIDIA entuzjastycznie wspiera wszystkie języki i interfejsy programowania aplikacji (API), które zapewniają twórcom oprogramowania dostęp do mocy przetwarzania równoległego układów GPU. NVIDIA może pochwalić się długą historią w zakresie udzielanego przez nią wsparcia dla wielu różnych standardów, ponieważ większy wybór języków wpływa na ilość i zakres aplikacji, które wykorzystują moc układów GPU do równoległego przetwarzania danych. Dzięki dostępnemu już teraz wsparciu dla języków C/C++ i Fortran oraz interfejsów programowania aplikacji takich jak OpenCL i Microsoft DirectCompute, technologia obliczeń na GPU jest obecnie nurtem dominującym. NVIDIA jest jedyną specjalizującą się w procesorach firmą, która oferuje tak szeroki zakres środowisk tworzenia oprogramowania dla układów GPU.
Wiodące w branży wsparcie NVIDIA dla OpenCL:
2010
Listopad – NVIDIA wprowadza uaktualniony Visual Profiler oraz wsparcie cuda-memcheck dla aplikacji OpenCL
Lipiec –
Khronos Group certyfikuje OpenCL 1.1 firmy NVIDIA jako pierwszą w branży zgodną implementację
Czerwiec – NVIDIA wypuszcza uaktualniony Visual Profiler oraz nowe próbki kodu w SDK dla programistów wykorzystujących OpenCL
Czerwiec – NVIDIA udostępnia tysiącom programistów wersję próbną (conformance candidate) OpenCL 1.1 R256
Marzec – NVIDIA wypuszcza Visual Profiler 3.0 ze zintegrowanym wsparciem dla aplikacji OpenCL i CUDA C/C++ na układach GPU opartych na architekturze Fermi
Marzec – NVIDIA udostępnia zaktualizowaną wersję sterowników R195 z zaaprobowanym przez Khronos ICD, co pozwala na równoczesne wykorzystywanie w aplikacjach zarówno układów GPU NVIDIA, jak i innych procesorów obsługujących OpenCL
Styczeń – NVIDIA udostępnia zaktualizowaną wersję sterowników R195, zawierającą opracowane na życzenie programistów rozszerzenia OpenCL, dotyczące współdzielenia bufora Direct3D 9/10/11 oraz zwijania pętli (technika optymalizacji)
Styczeń – Khronos Group ratyfikuje zaproponowaną przez NVIDIA specyfikację ICD, która to specyfikacja pozwala na równoczesne wykorzystywanie w aplikacjach wielu implementacji OpenCL
2009
Listopad – NVIDIA udostępnia sterowniki R195 obsługujące opcjonalne rozszerzenia specyfikacji OpenCL 1.0, takie jak operacje matematyczne podwójnej precyzji oraz współdzielenie bufora OpenGL
Październik – NVIDIA organizuje imprezę GPU Technology Conference, na której prowadzi szkolenie z zakresu OpenCL dla ponad 500 kolejnych programistów
Wrzesień – NVIDIA prowadzi bezpłatne szkolenia OpenCL typu webinar dla ponad 1000 programistów
Wrzesień – NVIDIA zaczyna oferować wsparcie dla OpenCL 1.0 we wszystkich (publicznie dostępnych) pakietach ze sterownikami dla systemów Windows i Linux
Wrzesień – NVIDIA udostępnia OpenCL Visual Profiler, pierwsze w branży narzędzie do profilowania wydajności sprzętu i optymalizowania wydajności aplikacji OpenCL
Lipiec – NVIDIA prowadzi pierwsze poświęcone OpenCL szkolenia typu webinar dla programistów: „Wprowadzenie do OpenCL i technologii obliczeń na GPU” oraz „Najlepsze praktyki programowania w OpenCL – podejście zaawansowane”
Lipiec – NVIDIA udostępnia
Przewodnik po najlepszych praktykach programowania w OpenCL, pełen informacji o technikach optymalizacji oraz wskazówek na temat szybkiego uzyskiwania precyzyjnych rezultatów za pomocą OpenCL
Lipiec – NVIDIA przekazuje kod źródłowy i specyfikację sterownika ICD (Installable Client Driver) do Khronos OpenCL Working Group w celu stworzenia możliwości równoczesnego wykorzystywania w aplikacjach wielu implementacji OpenCL dla układów GPU, CPU i innych typów procesorów
Czerwiec – NVIDIA udostępnia pierwsze w branży sterowniki zgodne ze specyfikacją OpenCL 1.0 oraz pakiet SDK dla programistów
Kwiecień – NVIDIA udostępnia pierwsze w branży sterowniki OpenCL 1.0 dla GPU, przeznaczone dla systemów Windows i Linux, a także zawierający ponad sto stron Przewodnik NVIDIA po programowaniu w OpenCL i Wprowadzenie do OpenCL (OpenCL JumpStart Guide), który pokazuje programistom jak przenosić już istniejący kod w CUDA C do OpenCL. Dostępne są także fora dyskusyjne programistów OpenCL
2008
Grudzień – Na konferencji SIGGRAPH Azja NVIDIA jako pierwsza na świecie demonstruje na laptopie z układem GPU NVIDIA
implementację OpenCL na GPU
Czerwiec – Apple zgłasza do Khronos Group propozycję OpenCL; NVIDIA podejmuje się przewodniczyć uformowanemu zespołowi OpenCL Working Group
2007
Grudzień – NVIDIA Tesla zdobywa nagrodę PC Magazine Technical Excellence
Czerwiec – NVIDIA przedstawia rozwiązanie Tesla C870, pierwszy układ GPU zaprojektowany pod kątem obliczeń wysokiej wydajności (HPC)
Maj - NVIDIA wprowadza pierwsze zgodne z architekturą CUDA i zdolne do obsługi OpenCL układy GPU dla laptopów i stacji roboczych
2006
Listopad – NVIDIA wprowadza pierwszy układ GPU zgodny z architekturą CUDA i zdolny do obsługi OpenCL
OpenCL jest znakiem towarowym Apple Inc., używanym na licencji przez Khronos.