Oprogramowanie

OpenCL 1.2: specyfikacja udostępniona przez Khronos Group

z dnia
Damian Szymański | Redaktor serwisu benchmark.pl
69 komentarzy Dyskutuj z nami

Pomoże tworzyć ładniejsze gry

Khronos Group udostępniła najnowszą wersję autorskiej specyfikacji OpenCL 1.2. Jest to otwarto źródłowa aplikacja wspomagająca pisanie aplikacji multiplatformowych składających się z różnych jednostek obliczeniowych np. CPU i GPU.

opencl logoOpenCL umożliwia wykorzystanie procesorów graficznych do niegraficznych obliczeń. Znacznie zwiększa możliwość i elastyczność programowania współbieżnego. Definiuje język programowania C99 z wieloma rozszerzeniami do programowania równoległego. Definiuje API dla koordynowania danych i zadań obliczeń równoległych z wielu różnych jednostek obliczeniowych. Określa wymagania numeryczne wraz ze standardem IEEE 754. Zapewnia efektywność współpracy pomiędzy innymi graficznymi interfejsami programowania jak: OpenGL, OpenGL ES czy też DirectX.

Nowa odsłona specyfikacji zachowuje wsteczną kompatybilność zarówno z OpenCL 1.1 jak i 1.0. Wśród nowości można wymienić między innymi wdrożenie obsługi partycjonowania urządzeń, dzięki czemu możliwe jest dzielenie każdej jednostki na cząstki które mogą być przyporządkowywane do oddzielnych, obcych zadań.

Dodano opcje zezwalającą na migrowanie pamięci do innych urządzeń. Dodano obsługę wbudowanych funkcji urządzeń, które mogą wykonywać czynności definiowane przez różne frameworki.

projekty khronos
Projekty Khronos Group

lista członków grupy Khronos
Lista członków grupy Khonos

Umożliwiono wprowadzanie odnośników, odsyłających do innych bibliotek OpenCL. Zwiększono elastyczność dzięki rozdzieleniu kompilacji. Grafikę urozmaicono o obrazy jednowarstwowe, wykonane w teksturach OpenGL, a także tablic tekstur 1D i 2D. Dodano opcję współdzielenia powierzchni z interfejsem programowania DirectX 9/11.


Pokaz możliwości OpenCL

Pełna specyfikacja jest dostępna na stronach grupy Khronos. Warto również wspomnieć o członkach grupy Khronos, którzy wspólnie cegiełka po cegiełce tworzą kolejne wersje projektów grupy. Są to między innymi: Apple, AMD, NVIDIA, Intel, ARM, IBM, S3 Graphics, Qualcomm, Samsung, Epic Games, Sony, Ericsson, HP, HTC, Adobe, Broadcom, Google, Fujitsu, EA, Creative, Oracle, NOKIA, Texas Instruments, Matrox, Mitsubishi Electric, Motorola, Mozilla, NEC, Opera Software, Panasonic, Razer, Renesans, Toshiba, WMWare, Yahama i wiele innych.


Przykładowe demo OpenCL


Więcej o grupie Khronos i jej projektach:

Źródło: Khronos, OSnews, OSworld, Geeks3D, Softpedia

Komentarze

69
Zaloguj się, żeby skomentować
avatar
Dodaj
Komentowanie dostępne jest tylko dla zarejestrowanych użytkowników serwisu.
  • avatar
    wdowa94 akurat może mieć trochę racji, tylko zwykli użytkownicy są po prostu robieni w jajo. Możliwości OpenGL czy teraz OpenCL są porównywalne jeżeli nie większe od rodziny DirectX Microsoftu. Różnicą jest wsparcie dla tej pierwszej technologii, które jest niemalże zerowe, ponieważ cały rynek gier i aplikacji komputerowych tańczy jak mu zagra Microsoft i inne firmy oraz korporacje przyklaskujące mu za pewien procent udziałów sprzedaży. Co więcej, programiści wiedzą jak wygląda sprawa, sam Carmack z ID Software twierdził przez długi czas, że jego gry będą działały na silniku OpenGL, jednak zrezygnował z tego zabiegu przy pracy nad grą Rage i potwierdził oficjalnie, że przy obecnym rozwoju i ukierunkowaniu DirectX nie ma sensu pogrążać się w słabo wspieranym OpenGL i jego gry nie będą się opierały o ten silnik. Wszystko to oczywiście otoczka medialna niedostępna dla przeciętnego Kowalskiego, który po prostu pójdzie do sklepu i zobaczy na opakowaniu karty graficznej napis: "DirectX 11 Ready!" i kupi, bo pan ze sklepu tak powiedział. Niestety, DirectX jest mocno skomercjalizowany i przynosi zbyt duże zyski wielu firmom z korporacjami AMD oraz NVidia na czele, natomiast jak nie trudno zauważyć - przedrostek 'Open' świadczy o jego łatwej dostępności i co najważniejsze ceny, którą jest jedynie wkład programistów w nauczenie się danego języka programowania pod OpenGL/CL. Możecie się ze mną nie zgadzać, ale to tylko moje zdanie, niniejszym nie chciałem nikogo sprowokować ani obrazić.
  • avatar
    Powinno się bardziej jeszcze iść w tym kierunku. I bardzo podoba mi się pierwsza część nazwy "Open".
  • avatar
    Oboje macie więc rację. Widocznie coś musiało mi się wydawać, że ID rezygnuje z OpenGL.
    Nie tak dawno, bo jakiś miesiąc temu miałem okazje testowania owego RAGE'a na karcie NVidii oraz ATI i muszę przyznać, że podobne segmentowo karty radziły sobie zupełnie różnie, z oczywistym pozytywnym akcentem na NVidię.
    Nie jestem programistą i nie interesuję się tym hobbystycznie, więc nie znam się na tym tak jak mgkiller, ale miło jest się od takich ludzi czegoś nauczyć czytając ich odpowiedzi. Muszę się więc zgodzić z mgkiller'erm, że jest łatwiej programować w D3D, ponieważ technologia ta jest mocno wspierana i nie dziwię się temu ani trochę, Open, to open i rzeczą oczywistą jest, że mogą ją tworzyć mniejsze firmy, jedynie dla własnej satysfakcji a nie korzyści komercyjnych. Czyli rozumując co napisałeś, przesiadając się na kartę graficzną obsługującą DX11 mam pewność, że przestarzałe funkcje z poprzednich wersji zostały usunięte/zastąpione nowymi? A może po prostu są tak napisane, że DX samo wykrywa swoją uruchomioną wersję w danym programie i się do niego dostosowuje: gra w DX11 - wyłączenie funkcji z wersji wcześniejszych/ Gra w DX9 - wyłączenie funkcji 'wstecznych' jak i następujących? Poprawcie mnie, jeżeli się mylę.

    Pozdrawiam
  • avatar
    @ART: Zdołałem przeczytać tylko do "Jest to otwarto źródłowa aplikacja wspomagająca pisanie..." i nie chciałem się dalej denerwować - OpenCL nie ma otwartych źródeł (jest Otwartym Standardem, i każdy może sobie napisać implementacje - np. korzystam z implementacji AMD, Nvidii i Intela na PC (i żadna z nich nie ma otwartych źródeł)). Po drugie to nie jest aplikacja, a standard API dla C++ i język programowania kerneli oparty na C - implementacje (kompilatory, sterowniki) tworzą osoby/firmy które chcą dać możliwość pisania w danym API (Intel, IBM, ARM, AMD, Nvidia, PowerVR...) i w żadnym wypadku nie udostępnia ich Khronos. Dalej nie chciałem czytać, bo jeśli tekst o OpenCL pisany przez osobę która nie wie co to OpenCL, to szkoda mojego zdrowia.
  • avatar
    Jak widać idą w tym kierunku. Potrzeba tylko nowych pomysłów i wszystko jest usprawniane.
  • avatar
    dzieki czastce "open" nie bedzie jak DX, ktory dziala tylko na windowsie i wynalazkach majkrosoftowych.

    nieh sie rozwija, wszystkie procesory w komputerach bede wykorzystane szkoda tylko ze z procesorów dzwieku zrezygnowano i tylko creative je montuje, MS je zabił [vista/seven]
  • avatar
    Jak widać (ja już to wiem od kilkunastu miesiecy)- OpenCl/Gl jest wydajniejsza, stabilniejsza, po prostu lepsza i nowsza od Microsoftowskiego D3DXX, ale nie wiem dla czego tak ało gier produkują na bibliotekach Open'a
  • avatar
    Zaczęło się od bełkotu i objawów analfabetyzmu (jakież to powszechne), a dalej nie czytałem.
    "Jest to otwarto źródłowa aplikacja" a może jednak "otwartoźródłowa" albo zamiast nowomowy, to po prostu "aplikacja o otwartym kodzie"?
    Lećmy dalej:
    "Jest to (OpenCL)... aplikacja" - g... prawda, to jest język programowania, a nie aplikacja. + uwagi @skoti powyżej.
    Lećmy dalej:
    "aplikacja wspomagająca pisanie aplikacji" - nie ma to jak "tryndy"-słowa powtarzane w kółko. "Ach, jak to mądrze napisałem", no nie?
    Lećmy dalej:
    "pisanie aplikacji multiplatformowych składających się z różnych jednostek obliczeniowych np. CPU i GPU" - no proszę, jaki postęp technologiczny. Kiedyś "jednostki obliczeniowe np. CPU" to był sprzęt, aa teraz CPU to "aplikacja, którą można sobie napisać". Biorę się za tego OpenCLa, napisze sobie nowe, szybsze CPU.
    Lećmy dalej:
    "jednostek obliczeniowych np. CPU" - no proszę, a ja myślałem, że "jednostką obliczeniową jest najwyżej FPU (Floating Point Unit), który jest teraz fragmentem (wcale nie największym) CPU, a kiedyś był osobnym scalakiem (i80307, i80407), który kupowało się za grube pieniądze.

    I to wszystko w jednym zdaniu - całkiem nieźle Panie Redaktorze. A zadania z polskiego na jutro odrobione?
    -1
  • avatar
    pytanie, czy do obsłużenia tych kilku kulek jest potrzebne 2 x hd4890? Nie wiem czy do dobrze świadczy o hd4890 czy o OpenCL, a może jeszcze o czymś innym. Ktoś może mi to wyjaśnić?
  • avatar
    A developerzy minerów bitcoinów cieszą mordy :)
  • avatar
    Chopcy chopcy, ta wersja OpenCL- jak sama nazwa wskazuje jest oprograowaniem OTWARTYM, a nie szczelnie zamknięty jak Darek od Microsoftu... OpenCl używa tyle zasobów procesora co DirectX w 2D, bo potrzebuje jedynie kontroli pracy GPU, a w DirectX CPU analizuje, oblicza, kontroluje funkcje GPU....