OpenCL (від англ. Open Computing Language) — фреймворк для створення комп'ютерних програм, пов'язаних з паралельними обчисленнями на різних графічних (англ. GPU) і центральних процесорах (англ. CPU). У фреймворк OpenCL входять мова програмування, яка базується на стандарті C99, та прикладний програмний інтерфейс (англ. API). OpenCL забезпечує паралельність на рівні інструкцій та на рівні даних і є реалізацією техніки GPGPU. OpenCL — повністю відкритий стандарт, його використання доступне на базі вільних ліцензій.
Тип | GPGPU, API |
---|---|
Автор | Apple Inc. |
Розробник | Khronos Group |
Стабільний випуск | 2.2 (12 травня 2017 ) |
Платформа | x86_64, IA-32 і ARM |
Операційна система | крос-платформовий |
Мова програмування | і C |
Ліцензія | безоплатна |
Вебсайт | www.khronos.org/opencl |
|
Мета OpenCL полягає в тому, щоб доповнити OpenGL і OpenAL, які є відкритими галузевими стандартами для тривимірної комп'ютерної графіки і звуку, користуючись можливостями GPU. OpenCL розроблявся і підтримується некомерційним консорціумом Khronos Group, в який входять багато великих компаній, включаючи Apple, AMD, ARM, Intel, nVidia, Qualcomm, Sun Microsystems, Sony Computer Entertainment та інші.
Історія
OpenCL був розроблений у компанії Apple Inc. Apple внесла пропозицію по розробці специфікації у комітет Khronos Group. 16 червня 2008 року, Khronos Compute Working Group була сформована з представниками компаній котрі займаються розробкою: CPU, GPU та програмного забезпечення.
OpenCL 1.0
Був представлений разом з Mac OS X Snow Leopard 8 червня 2009 року.
OpenCL 1.1
Був представлений 14 червня 2010 року
OpenCL 1.2
Був представлений 15 листопада 2011 року. Один з проєктів WCG послуговується цим стандартом.
OpenCL 2.0
Був представлений 22 липня 2013 року та стандартизований 18 листопада 2013 року.
Мова
Мова OpenCL виділяється тим, що дозволяє програмам динамічно визначати, які процесори доступні, включаючи багатоядерні центральні процесори і графічні процесори. Це дозволяє розробникам динамічно масштабувати продуктивність своїх програм в залежності від доступного апаратного забезпечення клієнтів.
Мова OpenCL котра використовується для написання ядра (Kernel), частини що буде розпаралелюватися, має особливості:
- Відсутня підтримка вказівників на функції, рекурсії, бітових полів, масивів змінної довжини, стандартних заголовних файлів.
- Розширення мови для паралелізму: векторні типи, синхронізація, функції для Work-items/Work-Groups.
- Модифікатори доступу: __global, __local, __constant, __private.
Див. також
Примітки
- Help. www.worldcommunitygrid.org. Процитовано 12 вересня 2022.
- . . Архів оригіналу за 17 серпня 2013. Процитовано 4 лютого 2014.
- . Khronos Group. Архів оригіналу за 11 листопада 2020. Процитовано 4 лютого 2014.
- OpenCL: допомагаючи розробникам розмовляти однією мовою. Архів оригіналу за 1 липня 2013. Процитовано 27 листопада 2009. (рос.)
Посилання
- (рос.)
- www.khronos.org/opencl [ 9 серпня 2011 у Wayback Machine.] Офіційна сторінка стандарту (англ.)
- Сторінка специфікації (англ.)
- «OpenCL: What you need to know» [ 13 вересня 2008 у Wayback Machine.], MacWorld, серпень 2008
- OpenCL-Z: OpenCL Information utility [ 13 січня 2010 у Wayback Machine.]
- . Хабрахабр. 13 жовтня 2009. Архів оригіналу за 20 березня 2017. Процитовано 18 березня 2017. (рос.)
- . Хабрахабр. 19 жовтня 2009. Архів оригіналу за 19 березня 2017. Процитовано 18 березня 2017. (рос.)
- . деньги онлайн. 12 травня 2012. Архів оригіналу за 19 березня 2017. Процитовано 18 березня 2017. (рос.)
Це незавершена стаття про програмування. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
OpenCL vid angl Open Computing Language frejmvork dlya stvorennya komp yuternih program pov yazanih z paralelnimi obchislennyami na riznih grafichnih angl GPU i centralnih procesorah angl CPU U frejmvork OpenCL vhodyat mova programuvannya yaka bazuyetsya na standarti C99 ta prikladnij programnij interfejs angl API OpenCL zabezpechuye paralelnist na rivni instrukcij ta na rivni danih i ye realizaciyeyu tehniki GPGPU OpenCL povnistyu vidkritij standart jogo vikoristannya dostupne na bazi vilnih licenzij OpenCLTip GPGPU APIAvtor Apple Inc Rozrobnik Khronos GroupStabilnij vipusk 2 2 12 travnya 2017 7 rokiv tomu 2017 05 12 Platforma x86 64 IA 32 i ARMOperacijna sistema kros platformovijMova programuvannya C i CLicenziya bezoplatnaVebsajt www khronos org opencl Mediafajli u Vikishovishi Meta OpenCL polyagaye v tomu shob dopovniti OpenGL i OpenAL yaki ye vidkritimi galuzevimi standartami dlya trivimirnoyi komp yuternoyi grafiki i zvuku koristuyuchis mozhlivostyami GPU OpenCL rozroblyavsya i pidtrimuyetsya nekomercijnim konsorciumom Khronos Group v yakij vhodyat bagato velikih kompanij vklyuchayuchi Apple AMD ARM Intel nVidia Qualcomm Sun Microsystems Sony Computer Entertainment ta inshi IstoriyaOpenCL buv rozroblenij u kompaniyi Apple Inc Apple vnesla propoziciyu po rozrobci specifikaciyi u komitet Khronos Group 16 chervnya 2008 roku Khronos Compute Working Group bula sformovana z predstavnikami kompanij kotri zajmayutsya rozrobkoyu CPU GPU ta programnogo zabezpechennya OpenCL 1 0 Buv predstavlenij razom z Mac OS X Snow Leopard 8 chervnya 2009 roku OpenCL 1 1 Buv predstavlenij 14 chervnya 2010 roku OpenCL 1 2 Buv predstavlenij 15 listopada 2011 roku Odin z proyektiv WCG poslugovuyetsya cim standartom OpenCL 2 0 Buv predstavlenij 22 lipnya 2013 roku ta standartizovanij 18 listopada 2013 roku MovaMova OpenCL vidilyayetsya tim sho dozvolyaye programam dinamichno viznachati yaki procesori dostupni vklyuchayuchi bagatoyaderni centralni procesori i grafichni procesori Ce dozvolyaye rozrobnikam dinamichno masshtabuvati produktivnist svoyih program v zalezhnosti vid dostupnogo aparatnogo zabezpechennya kliyentiv Mova OpenCL kotra vikoristovuyetsya dlya napisannya yadra Kernel chastini sho bude rozparalelyuvatisya maye osoblivosti Vidsutnya pidtrimka vkazivnikiv na funkciyi rekursiyi bitovih poliv masiviv zminnoyi dovzhini standartnih zagolovnih fajliv Rozshirennya movi dlya paralelizmu vektorni tipi sinhronizaciya funkciyi dlya Work items Work Groups Modifikatori dostupu global local constant private Div takozhCUDA SIMDPrimitkiHelp www worldcommunitygrid org Procitovano 12 veresnya 2022 Arhiv originalu za 17 serpnya 2013 Procitovano 4 lyutogo 2014 Khronos Group Arhiv originalu za 11 listopada 2020 Procitovano 4 lyutogo 2014 OpenCL dopomagayuchi rozrobnikam rozmovlyati odniyeyu movoyu Arhiv originalu za 1 lipnya 2013 Procitovano 27 listopada 2009 ros Posilannya ros www khronos org opencl 9 serpnya 2011 u Wayback Machine Oficijna storinka standartu angl Storinka specifikaciyi angl OpenCL What you need to know 13 veresnya 2008 u Wayback Machine MacWorld serpen 2008 OpenCL Z OpenCL Information utility 13 sichnya 2010 u Wayback Machine Habrahabr 13 zhovtnya 2009 Arhiv originalu za 20 bereznya 2017 Procitovano 18 bereznya 2017 ros Habrahabr 19 zhovtnya 2009 Arhiv originalu za 19 bereznya 2017 Procitovano 18 bereznya 2017 ros dengi onlajn 12 travnya 2012 Arhiv originalu za 19 bereznya 2017 Procitovano 18 bereznya 2017 ros Ce nezavershena stattya pro programuvannya Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi