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 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 Group
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:
- OpenGL 4.2 - udostępniono specyfikację
- Znamy już specyfikację OpenGL 4.1
- Specyfikacja OpenGL 3.1 zatwierdzona
- Mozilla pracuje nad 3D WWW - trójwymiarowe technologie w przeglądarce
- Mozilla projektuje silnik gier 3D na Firefoxa
Źródło: Khronos, OSnews, OSworld, Geeks3D, Softpedia
Komentarze
69Nie 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
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]
"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?