OpenCL
- Не бива да се бърка с OpenGL.
За информацията в тази статия или раздел не са посочени източници. Въпросната информация може да е непълна, неточна или изцяло невярна. Имайте предвид, че това може да стане причина за изтриването на цялата статия или раздел. |
OpenCL (от английското Open Computing Language – букв. Свободен Изчислителен Език) е фреймуърк за писане на бързи програми, които се изпълняват паралелно върху хетерогенни компютърни платформи, състоящи се от различни типове процесори – CPU, GPU, DSP, FPGA и др. Разработката му е започната от Епъл с идеята за по-всеобхватно използване на графичните процесори, като изчислителни процесори, т.нар. GP-GPU (General-Purpose computation on Graphics Processing Units). Това са общи и специализирани изчислителни програми, които не са свързани с конкретната обработка на аудио, изображения и видео филми, но въпреки това ползват изчислителния ресурс и бърза памет на графичните видеоадаптери (GPU), за да бъде ускорено конкретното изчисление.
OpenCL включва език (базиран на C99) за писане на т.нар. ядра – kernels (функции, които се изпълняват на OpenCL устройства), плюс API – интерфейс за дефиниране и контрол на различни компютърни платформи. Съществена новост е че OpenCL ще се поддържа от повечето съвременни производители на FPGA, като Altera и Xilinx. Предимството с класическия подход за описание на цифровия хардур чрез HDL (Hardware Description Language) езици е възможността за бързо преконфигуриране на работната програма и конфигурация, като времето за научаване на спецификата на OpenCL е значително по-кратко и достъпно за програмисти на С/C++ и други езици от високо ниво, и е по-разбираемо от писането на код от неспециалист по FPGA на System C. Бързината на създаване на приложения и бързината на тяхната миграция, модификация и развитие са основния проблем, който OpenCL решава, тъй като освобождава програмиста от нуждата да познава в детайли специфичната хардуерна архитектура, както това е с цифровите сигнални процесори – DSP (Digital Signal Processors). Също така програмистът ползва напълно безплатно SDK, компилатори и т.н., и няма нужда от специализиран интерфейс, за да програмира новите приложения. Също така всяко следващо приложение може да се стартира абсолютно незабавно след компилацията му, без това да налага препрограмиране на хардуера със скъпо струващи програматори и т.н.
Тази страница частично или изцяло представлява превод на страницата OpenCL в Уикипедия на английски. Оригиналният текст, както и този превод, са защитени от Лиценза „Криейтив Комънс – Признание – Споделяне на споделеното“, а за съдържание, създадено преди юни 2009 година – от Лиценза за свободна документация на ГНУ. Прегледайте историята на редакциите на оригиналната страница, както и на преводната страница, за да видите списъка на съавторите.
ВАЖНО: Този шаблон се отнася единствено до авторските права върху съдържанието на статията. Добавянето му не отменя изискването да се посочват конкретни източници на твърденията, които да бъдат благонадеждни. |