OpenCL

от Уикипедия, свободната енциклопедия
Направо към: навигация, търсене

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 година — от Лиценза за свободна документация на ГНУ. Прегледайте историята на редакциите на оригиналната страница, както и на преводната страница. Вижте източниците на оригиналната статия, състоянието ѝ при превода, и списъка на съавторите.  

Официален сайт[редактиране | редактиране на кода]