OpenCL™ Runtimes for Intel® Processors
Last Updated: 10/05/2021
Deploy OpenCL™ Runtimes
Obtain runtimes to execute or develop OpenCL™ applications on Intel® Processors
Important Change
There is a change in OpenCL™ CPU runtime for Windows* distribution in the 2020 February release to be consistent with Linux* distribution. The OpenCL CPU runtime is removed from the OpenCL driver for Windows starting in the 2020 February release version «igfx_win10_100.7870.exe».
Intel® Graphics Technology Runtimes
Execute OpenCL™ applications on Intel® Processors with Intel® Graphics Technology.
Check release notes to ensure supported targets include your target device. For Intel® processors older than supported targets, please see the legacy deployment page.
Linux* OS
Note: The latest OpenCL runtime for CPU requires GNU* gcc version 7.3 or newer.
Intel® Graphics Compute Runtime for OpenCL™ Driver is deployed with package managers for multiple distributions. Please see the documentation on the GitHub* portal for deployment instructions.
Considerations for deployment:
Windows* OS
Intel® Xeon® Processor OR Intel® Core™ Processor (CPU) Runtimes
Execute OpenCL™ kernels directly on Intel® CPUs as OpenCL™ target devices.
Check release notes to ensure supported targets include your target device. For Intel® processors older than supported targets, see the legacy deployment page.
Intel® CPU Runtime for OpenCL™ Applications 18.1 for Linux* OS (64bit only)
Intel® CPU Runtime for OpenCL™ Applications 18.1 for Windows* OS (64bit or 32bit)
Intel® CPU Runtime for OpenCL™ Applications with SYCL support
Please visit the Intel® CPU Runtime for OpenCL™ Applications with SYCL support to download and install the runtime for Windows or Linux.
Develop OpenCL™ Applications
Tools to develop OpenCL™ applications for Intel® Processors
Intel® oneAPI: DPC++ Compiler
Intel® System Studio
Intel® SDK for OpenCL™ Applications
Intel® Distribution of OpenVINO™ toolkit
Intercept Layer for Debugging and Analyzing OpenCL™ Applications
Additional resources
*OpenCL and the OpenCL logo are trademarks of Apple Inc. used by permission by Khronos.
OpenCL. Что это такое и зачем он нужен? (если есть CUDA)
Здравствуй, уважаемое хабра-сообщество.
Многие, наверное, слышали или читали на хабре об OpenCL – новом стандарте для разработки приложений для гетерогенных систем. Именно так, это не стандарт для разработки приложений для GPU, как многие считают, OpenCL изначально задумывался как нечто большее: единый стандарт для написания приложений, которые должны исполняться в системе, где установлены различные по архитектуре процессоры, ускорители и платы расширения.
Предпосылки появления OpenCL
Стоит отметить, что подобные программы создавались и раньше, но именно NVidiaа CUDA обеспечила рост популярности GPGPU за счет облегчения процесса создания GPGPU приложений. Первые GPGPU приложения в качестве ядер (kernel в CUDA и OpenCL) использовали шейдеры, а данные запаковывались в текстуры. Таким образом необходимо было быть хорошо знакомым OpenGL или DirectX. Чуть позже появился язык Brook, который немного упрощал жизнь программиста (на основе этого языка создавалась AMD Stream (в ней используется Brook+) ).
CUDA стала набирать обороты, а между тем (а точнее несколько ранее) в кузнице, расположенной глубоко под землей, у подножия горы Фуджи (Fuji), японскими инженерами был выкован процессор всевластия Cell (родился он в сотрудничестве IBM, Sony и Toshiba). В настоящее время Cell используется во всех суперкомпьютерах, поставляемых IBM, на его основе постоены самые производительные в мире суперкомпьютеры (по данным top500). Чуть менее года назад компания Toshiba объявила о выпуске платы расширения SpursEngine для PC для ускорения декодирования видео и прочих ресурсоемких операций, используя вычислительные блоки (SPE), разработанные для Cell. В википедии есть статья, в кратце описывающая SpursEngine и его отличия от Cell.
Примерно в то же время (около года назад) оживилась и S3 Graphics (на самом деле VIA), представив на суд общественности свой новый графический адаптер S3 Graphics Chrome 500. По заявлениям самой компании этот адаптер так же умеет ускорять всяческие вычисления. В комплекте с ним поставляется программный продукт (графический редактор), который использует все прелести такого ускорения. Описание технологии на сайте производителя.
Итак, что мы имеем: машина, на которой проводятся вычисления может содержать процессоры x86, x86-64, Itanium, SpursEngine (Cell), NVidia GPU, AMD GPU, VIA (S3 Graphics) GPU. Для каждого из этих типов процессов существует свой SDK (ну кроме разве что VIA), свой язык программирования и программная модель. То есть если Вы захотите чтобы ваш движок рендеринга или программа расчета нагрузок на крыло боинга 787 работала на простой рабочей станции, суперкомпьютере BlueGene, или компьютере оборудованном двумя ускорителями NVidia Tesla – Вам будет необходимо переписывать достаточно большую часть программы, так как каждая из платформ в силу своей архитектуры имеет набор жестких ограничений.
Так как программисты – народ ленивый, и не хотят писать одно и то же для 5 различных платформ с учетом всех особенностей и учиться использовать разные программные средства и модели, а заказчики – народ жадный и не хотят платить за программу для каждой платформы как за отдельный продукт и оплачивать курсы обучения для программистов, было решено создать некий единый стандарт для программ, исполняющихся в гетерогенной среде. Это означает, что программа, вообще говоря, должна быть способна исполняться на компьютере, в котором установлены одновременно GPU NVidia и AMD, Toshiba SpursEngine итд.
Решение проблемы
Для разработки открытого стандарта решили привлечь людей, у которых уже есть опыт (весьма успешный) в разработке подобного стандарта: Khronos Group, на чьей совести уже OpenGL и OpenML и еще много всего. OpenCL является торговой маркой Apple Inc., как сказано на сайте Khronos Group: «OpenCL is a trademark of Apple Inc., and is used under license by Khronos. The OpenCL logo and guidelines for its usage in association with Conformant products can be found here:
http://developer.apple.com/softwarelicensing/agreements/opencl.html». В разработке (и финансировании, конечно же), кроме Apple, участвовали такие воротилы IT как AMD, IBM, Activision Blizzard, Intel, NVidia итд. (полный список тут).
Компания NVidia особо не афишировала свое участие в проекте, и быстрыми темпами наращивала функциональность и производительность CUDA. Тем временем несколько ведущих инженеров NVidia участвовали в создании OpenCL. Вероятно, именно участие NVidia в большой мере определило синтаксическую и идеологическую схожесть OpenCL и CUDA. Впрочем программисты от этого только выиграли – проще будет перейти от CUDA к OpenCL при необходимости.
Первая версия стандарта была опубликована в конце 2008 года и с тех пор уже успела претерпеть несколько ревизий.
Почти сразу после того как стандарт был опубликован, компания NVidia заявила что поддержка OpenCL не составит никакой сложности для нее и в скором времени будет реализована в рамках GPU Computing SDK поверх CUDA Driver API. Ничего подобного от главного конкурента NVidia – AMD слышно не было.
Драйвер для OpenCL был выпущен NVidia и прошел проверку на совместимость со стандартом, но все еще доступен только для ограниченного круга людей – зарегистрированных разработчиков (заявку на регистрацию подать может любой желающий, в моем случае рассмотрение заняло 2 недели, после чего по почте пришло приглашение). Ограничения доступа к SDK и драйверам заставляют задуматься о том, что на данный момент существуют какие-то проблемы или ошибки, которые пока не удается исправить, то есть продукт все еще находится в стадии бета-тестирования.
Реализация OpenCL для NVidia была достаточно легкой задачей, так как основные идеи сходны: и CUDA и OpenCL – некоторые расширения языка С, со сходным синтаксисом, использующие одинаковую программную модель в качестве основной: Data Parallel (SIMD), так же OpenCL поддерживает Task Parallel programming model – модель, когда одновременно могут выполняться различные kernel (work-group содержит один элемент). О схожести двух технологий говорит даже то что NVidia выпустила специальный документ о том как писать для CUDA так, чтобы потом легко перейти на OpenCL.
Как обстоят дела на настоящий момент
Основной проблемой реализации OpenCL от NVidia является низкая производительность по сравнению с CUDA, но с каждым новым релизом драйверов производительность OpenCL под управлением CUDA все ближе подбирается к производительности CUDA приложений. По заявлениям разработчиков такой же путь проделала и производительность самих CUDA приложений – от сравнительно невысокой на ранний версиях драйверов до впечатляющей в настоящее время.
А что же делала в этот момент AMD? Ведь именно AMD (как сторонник открытых стандартов – закрытый PhysX vs. открытый Havoc; дорогой Intel Thread Profiler vs. бесплатный AMD CodeAnalyst) делала большие ставки на новую технологию, учитывая что AMD Stream не удавалось хоть сколь-нибудь соревноваться в популярности с NVidia CUDA – виною тому отставание Stream от CUDA в техническом плане.
Летом 2009 года компания AMD сделала заявление о поддержке и соответствии стандарту OpenCL в новой версии Stream SDK. На деле же оказалось, что поддержка была реализована только для CPU. Да, именно так, это ничему не противоречит – OpenCL стандарт для гетерогенных систем и ничего не мешает Вам запустить kernel на CPU, более того – это очень удобно в случае если в системе нет другого OpenCL устройства. В таком случае программа будет продолжать работать, только медленнее. Или же вы можете задействовать все вычислительные мощности, которые есть в компьютере – как GPU так и CPU, хотя на практике это не имеет особого смысла, так как время исполнения kernel’ов которые исполняются на CPU будет намного больше тех что исполняются на GPU – скорость процессора станет узким местом. Зато для отладки приложений это более чем удобно.
Поддержка OpenCL для графических адаптеров AMD так же не заставила себя долго ждать – по последним сообщениям компании версия для графических чипов сейчас находится на стадии подтверждения соответствия спецификациям стандарта. После чего она станет доступна всем желающим.
Так как OpenCL должен работать поверх некоторой специфической для железа оболочки, а значит для того чтобы можно этот стандарт действительно стал единым для различных гетерогенных систем – надо чтобы соответствующие оболочки (драйверы) были выпущены и для IBM Cell и для Intel Larrabie. Пока от этих гигантов IT ничего не слышно, таким образом OpenCL остается еще одним средством разработки для GPU на ряду с CUDA, Stream и DirectX Compute.
Заключение
Технология OpenCL представляет интерес для различных компания IT сферы – от разработчиков игр до производителей чипов, а это означает что у нее большие шансы стать фактическим стандартом для разработки высокопроизводительных вычислений, отобрав этот титул у главенствующей в этом секторе CUDA.
В будущем я планирую более подробную статью о самом OpenCL, описывающую что из себя представляет эта технология, ее особенности, достоинства и недостатки.
Спасибо за внимание.
Intel® FPGA SDK for OpenCL™ Software Technology
Overview
Intel® FPGA SDK for OpenCL™ software technology 1 is a world class development environment that enables software developers to accelerate their applications by targeting heterogeneous platforms with Intel CPUs and FPGAs. This environment combines Intel’s state-of-the-art software development frameworks and compiler technology with the revolutionary, new Intel® Quartus® Prime Software to deliver next generation development environment that abstracts FPGA details while delivering optimized results. Intel® FPGA SDK for OpenCL™ software technology enables you to fully leverage the unique capabilities of FPGAs to deliver acceleration performance with power efficiency and low latency.
Features
What’s New in 20.1
Intel® FPGA SDK for OpenCL™ software technology v20.1 includes key enhancements that deliver improved performance and productivity.
An Intuitive Design Environment
Meeting Performance Requirements
Getting Started
Frequently Asked Questions
What is OpenCL™ application?
The OpenCL™ standard is the first open, royalty-free, unified programming model for accelerating algorithms on heterogeneous systems. OpenCL™ application allows the use of a C-based programming language for developing code across different platforms, such as CPUs, GPUs, and FPGAs. A key benefit of OpenCL™ application is that it is a portable, open, royalty-free standard, which is a key differentiator versus proprietary programming models. OpenCL™ standard is a programming model for software engineers and a methodology for system architects. It is based on standard ANSI C (C99) with extensions to extract parallelism. OpenCL™ platform also includes an application programming interface (API) for the host to communicate with the hardware accelerator traditionally over PCI Express* or one kernel to communicate with another without host interaction. Intel® FPGA SDK for OpenCL™ software technology provides a vendor extension, an I/O, and a Host Channel API to stream data into a kernel directly from a streaming I/O interface such as 10 GB Ethernet.
What is a Board Support Package (BSP) and where can I find reference BSPs?
In order to create and run applications in the Intel® FPGA SDK for OpenCL™ software technology, you need to either use an Intel or partner provided BSP or create your own BSP (see links in ‘Getting Started’ section). A board support package (BSP) is a collection of libraries and drivers that will form the lowest layer of your application software stack. Your Software Applications must link against or run on top of a given software platform.
To find reference BSPs, see the “Getting Started” section.
Which Intel® FPGA development kits have supported BSPs?
The following development kits have an available BSP:
Where can I find OpenCL™ design examples?
OpenCL™ design examples are part of the Intel® FPGA SDK for OpenCL TM software technology. You can find the design example folder at /examples_aoc.
Купил ноутбук, очищаю от ненужных приложений. Что это:
Intel SDK for OpenCL
Какую функцию выполняет?
Altera opencl SDK
подскажите где можно найти лекарство к этой приблуде? ставится в составе Quartus 14, так что.
Можно ли удалить системные устройства «Intel(R) Xeon(R) processor E3-1200 v5/6th»
Добрый вечер. У меня процессор интел 8-го поколения, в устройствах заметил «Intel(R) Xeon(R).
Собрать intel vmf sdk для windows 7, компилятор minGW
Здравствуйте! Я понимаю, что инструментарий довольно новый, но тем не менее очень нужно. Я.
PhoneGap. Как его использовать? В чем его недостатки по сравнению с Android SDK, Windows Phone SDK, iOS SDK?
В вики написано, что PhoneGap 4
Sdk в настойках Android Studio и sdk в Project Structure
То есть получается что путь к sdk которое использует Android Studio прописывается в Settings.
Где можно скачать список всех функций Directx 9 sdk с русским определением
Может кто знает где скачать файл с описаниями всех функций Directx 9.0 SDK и их определением на.
Совместимость Delphi с процессорами типа Intel® Atom™ Z3735F, Intel® Celeron® N2840, Intel® Pentium® N3540
Всем привет, сейчас передо мной стоит вопрос выбора ноутбука, ноутбук нужен для учебы, в целом не.

Добрый день! Столкнулся с задачей связать работу карточного принтера Evolis Primacy и.
Intel® SDK For OpenCL™ Applications
Offload compute-intensive workloads. Customize heterogeneous compute applications and accelerate performance with kernel-based programming.
The OpenCL™ platform is the open standard for general-purpose parallel programming of heterogeneous systems. It provides a uniform programming environment that’s used to write portable code for client PCs, high-performance computing servers, and embedded systems that leverage a diverse mix of:
The OpenCL Platform Working Group (led by the Khronos Group*) defines this standard.
Built for usability and performance, the 2.1 version of the OpenCL standard is a significant evolution.
All 7th generation and newer Intel® processors with integrated Intel® Graphics Technology support this version.
Who Should Use the OpenCL™ Standard?
This standard greatly improves speed and responsiveness for image and video processing. It can also be applied to applications in numerous market categories, from gaming and entertainment to scientific, medical, and financial software. For visual computing applications, it provides added value by enabling a better use of platform resources for graphics tasks. It is interoperable with Microsoft DirectX*, OpenGL*, and video acceleration APIs. As well, it is extendable, such as with video motion estimation extensions from Intel.
Tools That Support the Standard
Increase Productivity & Efficiency
To learn more about the OpenCL standard, see the Khronos Overview.
Technical Specifications
CPU and GPU target support:
CPU target support:
For a full list of supported configurations, see the release notes.
OpenCL Application Versions
Note Support may vary based on the platform configuration.
Development Tools & Environments





