~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ D54772EE3AC3B733C5D2473B5BF57A32__1715857080 ✰
Заголовок документа оригинал.:
✰ Intel C++ Compiler - Wikipedia ✰
Заголовок документа перевод.:
✰ Компилятор Intel C++ — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Intel_C_Compiler ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/d5/32/d54772ee3ac3b733c5d2473b5bf57a32.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/d5/32/d54772ee3ac3b733c5d2473b5bf57a32__translat.html ✰
Дата и время сохранения документа:
✰ 21.06.2024 09:32:42 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 16 May 2024, at 13:58 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Компилятор Intel C++ — Jump to content

Компилятор Intel C++

Из Википедии, бесплатной энциклопедии
(Перенаправлено из компилятора Intel C )
Компилятор Intel oneAPI DPC++/C++
Другие имена
  • icx
  • icpx
  • dpcpp (icpx -fsycl)
Разработчики) Интел
Стабильная версия
2023.2.1 / 28 июля 2023 г .; 10 месяцев назад ( 28.07.2023 ) [1]
Репозиторий
Операционная система Винда , Линукс
Тип Компилятор
Лицензия Бесплатная , проприетарная
Веб-сайт программное обеспечение .intel /содержание /www /нас /развивать /инструменты /oneapi /компоненты /dpc-компилятор .html
Классический компилятор Intel C++
Другие имена
  • ICL
  • ICPC
  • мкк
Разработчики) Интел
Стабильная версия
2021.10.0 Сборка 20230609_000000 / 28 июля 2023 г .; 10 месяцев назад ( 28.07.2023 ) [2]
Репозиторий
Операционная система Windows , MacOS , Linux
Тип Компилятор
Лицензия Бесплатная , проприетарная
Веб-сайт программное обеспечение .intel /содержание /www /нас /развивать /инструменты /oneapi /компоненты /dpc-компилятор .html

Компилятор Intel oneAPI DPC++/C++ и классический компилятор Intel C++ (устаревшие icc и icl [3] входит в набор инструментов Intel OneAPI HPC) — это C компиляторы Intel , C ++ , SYCL и Data Parallel C++ (DPC++) для систем на базе процессоров Intel, доступные для Windows , Linux и macOS . операционных систем [4]

Обзор [ править ]

Компилятор Intel oneAPI DPC++/C++ доступен для Windows и Linux и поддерживает компиляцию исходных кодов C, C++, SYCL и Data Parallel C++ (DPC++) , ориентированных на Intel IA-32 , Intel 64 (также известный как x86-64 ), Core , Xeon и Масштабируемые процессоры Xeon , а также графические процессоры, включая Intel Processor Graphics Gen9 и выше, Intel X Это архитектура и программируемая карта ускорения Intel с FPGA Intel Arria 10 GX. [5] Как и Intel C++ Compiler Classic, он также поддерживает среды разработки Microsoft Visual Studio и Eclipse IDE , а также поддерживает многопоточность через Intel oneAPI Threading Building Blocks , OpenMP и собственные потоки.

ЦОД++ [6] [7] основан на спецификации SYCL от The Khronos Group. Он предназначен для того, чтобы позволить разработчикам повторно использовать код на разных аппаратных объектах (ЦП и ускорителях, таких как графические процессоры и FPGA) и выполнять пользовательскую настройку для конкретного ускорителя. DPC++ включает в себя функции языка C++17 и SYCL, а также расширения сообщества с открытым исходным кодом, которые упрощают использование SYCL. Многие из этих расширений были приняты в предварительной спецификации SYCL 2020. [8] включая единую общую память, групповые алгоритмы и подгруппы.

В августе 2021 года Intel объявила о полном внедрении LLVM для ускорения сборки и получения преимуществ от поддержки новейших стандартов C++. [9]

Intel C++ Compiler Classic доступен для Windows, Linux и macOS и поддерживает компиляцию исходного кода C и C++ для процессоров Intel IA-32, Intel 64 (x86-64), Core, Xeon и Xeon Scalable. [5] Он поддерживает среды разработки Microsoft Visual Studio и Eclipse IDE. Компилятор Intel C++ Classic поддерживает многопоточность через блоки Intel oneAPI Threading Building Blocks, OpenMP и собственные потоки.

Архитектуры [ править ]

По данным Intel, [10] Начиная с версии 2023.0, компилятор Intel oneAPI DPC++/C++ поддерживает все текущие Intel общего назначения x86-64 процессоры и графические процессоры , включая:

  • Процессоры:
    • Устаревшие процессоры Intel IA-32 и Intel 64 (x86-64)
    • Процессоры Intel Core
    • Семейство процессоров Intel Xeon
    • Масштабируемые процессоры Intel Xeon
    • Процессор Intel Xeon серии Max
  • графические процессоры:
    • Графический процессор Intel Gen9 и выше
    • Интел Х Это архитектура
    • Программируемая карта ускорения Intel с Intel 10 GX FPGA
    • Графические процессоры Intel для центров обработки данных, включая серии Flex и Max Series
  • Intel FPGA

Компилятор Intel C++ Classic предназначен для процессоров общего назначения с архитектурой Intel x86-64 , включая: [5]

  • Устаревшие процессоры Intel IA-32 и Intel 64 (x86-64)
  • Процессоры Intel Core
  • Семейство процессоров Intel Xeon
  • Масштабируемые процессоры Intel Xeon

Наборы инструментов [ править ]

Компилятор Intel oneAPI DPC++/C++ доступен как отдельный компонент. [11] или как часть набора инструментов Intel oneAPI Base Toolkit, набора инструментов Intel oneAPI HPC и набора инструментов Intel oneAPI IoT. [5]

Компилятор Intel C++ Classic доступен как отдельный компонент. [12] или как часть базового инструментария Intel oneAPI. [5]

Отладка [ править ]

Компилятор Intel предоставляет отладочную информацию, стандартную для обычных отладчиков ( DWARF 2 в Linux, аналогично gdb , и COFF для Windows). Флаги для компиляции с отладочной информацией: /Zi в Windows и -gна Линуксе. Отладка выполняется в Windows с помощью отладчика Visual Studio, а в Linux — с помощью gdb.

Хотя компилятор Intel может генерировать выходные данные профилирования, совместимые с gprof , Intel также предоставляет общесистемный статистический профилировщик уровня ядра, называемый Intel VTune Profiler . VTune можно использовать из командной строки или через встроенный графический интерфейс в Linux или Windows. Его также можно интегрировать в Visual Studio в Windows или Eclipse в Linux). В дополнение к профилировщику VTune существует Intel Advisor , который специализируется на оптимизации векторизации, моделировании разгрузки, разработке блок-графов и инструментах для проектирования потоков и прототипирования.

Intel также предлагает инструмент для обнаружения ошибок памяти и потоков под названием Intel Inspector XE. Что касается ошибок памяти, это помогает обнаружить утечки памяти , повреждение памяти, несоответствие выделения/распределения API и непоследовательное использование API памяти. Что касается ошибок потоков, он помогает обнаруживать гонки данных (как в куче, так и в стеке), взаимоблокировки, а также ошибки потоков и синхронизации API.

Поддержка процессоров сторонних производителей [ править ]

Предыдущие версии компиляторов Intel C/C++ подвергались критике за менее агрессивную оптимизацию для процессоров сторонних производителей; например, Стив Вестфилд написал в статье 2005 года на сайте AMD: [13]

Компилятор Intel 8.1 C/C++ использует флаг -xN (для Linux) или -QxN (для Windows), чтобы воспользоваться преимуществами расширений SSE2. Для SSE3 ключ компилятора — -xP (для Linux) и -QxP (для Windows). ... Если установлены флаги -xN/-QxN и -xP/-QxP, он проверяет строку поставщика процессора, и если это не «GenuineIntel», он останавливает выполнение, даже не проверяя флаги функций. Ой!

Датский разработчик и ученый Агнер Фог писал в 2009 году: [14]

Компилятор Intel и несколько различных функциональных библиотек Intel имеют неоптимальную производительность на процессорах AMD и VIA . Причина в том, что компилятор или библиотека могут создавать несколько версий фрагмента кода, каждая из которых оптимизирована для определенного процессора и набора команд , например SSE2 , SSE3 и т. д. В систему включена функция, которая определяет, на каком типе процессора она работает. on и выбирает оптимальный путь кода для этого процессора. Это называется диспетчером ЦП. Однако диспетчер ЦП Intel не только проверяет, какой набор инструкций поддерживается ЦП, но также проверяет строку идентификатора поставщика. Если строка поставщика — «GenuineIntel», то используется оптимальный путь кода. Если ЦП не Intel, то в большинстве случаев он будет запускать самую медленную версию кода, даже если ЦП полностью совместим с лучшей версией.

Такая диспетчеризация ЦП в зависимости от поставщика может потенциально повлиять на производительность программного обеспечения, созданного с помощью компилятора Intel или библиотеки функций Intel на процессорах сторонних производителей, возможно, без ведома программиста. Это якобы привело к вводящим в заблуждение критериям , [14] в том числе один инцидент при изменении CPUID VIA Nano значительно улучшил результаты. [15] В ноябре 2009 года AMD и Intel достигли юридического соглашения по этому и связанным с ним вопросам. [16] а в конце 2010 года AMD завершила Федеральной торговой комиссии США антимонопольное расследование против Intel. [17]

Мировое соглашение FTC включало положение о раскрытии информации, согласно которому Intel обязана: [18]

четко опубликовать, что его компилятор дискриминирует процессоры сторонних производителей (например, процессоры AMD), не полностью использует их возможности и создает некачественный код.

В соответствии с этим постановлением Intel добавила в документацию по компилятору оговорки об отказе от ответственности: [19]

Компиляторы Intel могут оптимизировать или не оптимизировать в одинаковой степени микропроцессоры сторонних производителей для оптимизации, которая не является уникальной для микропроцессоров Intel. Эти оптимизации включают наборы инструкций SSE2, SSE3 и SSSE3, а также другие оптимизации. Корпорация Intel не гарантирует доступность, функциональность или эффективность какой-либо оптимизации микропроцессоров, произведенных не корпорацией Intel. Оптимизации, зависящие от микропроцессора, в этом продукте предназначены для использования с микропроцессорами Intel. Некоторые оптимизации, не относящиеся к микроархитектуре Intel, зарезервированы для микропроцессоров Intel. Пожалуйста, обратитесь к соответствующему руководству пользователя и справочному руководству по продукту для получения дополнительной информации о конкретных наборах инструкций, охватываемых этим уведомлением.

Еще в 2013 году в статье в The Register утверждалось, что в объектном коде, созданном компилятором Intel для AnTuTu Mobile Benchmark, пропущены части теста, которые показали повышенную производительность по сравнению с платформами ARM. [20]

История выпусков [ править ]

Ниже перечислены версии компилятора Intel C++ с 1999 года: [21]

Версия компилятора Дата выпуска Основные новые функции
Компилятор Intel C/C++ 4.0 1999 Поддержка потоковой передачи SIMD, улучшенная оптимизация на основе профилей, векторизация. [22]
Компилятор Intel C/C++ 4.5 2000 Поддержка OpenMP, Itanium [23]
Компилятор Intel C/C++ 5.0 2001 [24]
Компилятор Intel C/C++ 6.0 2002 Расширенная поддержка Linux, автоматическое распараллеливание. [25]
Компилятор Intel C++ 7.0 2003 [26]
Компилятор Intel C++ 8.0 15 декабря 2003 г. Предварительно скомпилированные заголовки, инструменты покрытия кода.
Компилятор Intel C++ 8.1 сентябрь 2004 г. Архитектура AMD64 (для Linux).
Компилятор Intel C++ 9.0 14 июня 2005 г. Архитектура AMD64 (для Windows), программная оптимизация спекулятивных предварительных вычислений (SSP), улучшенные отчеты по оптимизации цикла.
Компилятор Intel C++ 10.0 5 июня 2007 г. Улучшенный параллелизатор и векторизатор, Streaming SIMD Extensions 4 ( SSE4 ), новые и улучшенные отчеты об оптимизации для расширенных преобразований циклов, новая оптимизированная реализация обработки исключений.
Компилятор Intel C++ 10.1 7 ноября 2007 г. Новая библиотека времени выполнения, совместимая с OpenMP*: если вы используете новую библиотеку OpenMP RTL, вы можете комбинировать ее с библиотеками и объектами, созданными Visual C++. Чтобы использовать новые библиотеки, вам необходимо использовать новую опцию «-Qopenmp /Qopenmp-lib:compat» в Windows и «-openmp -openmp-lib:compat» в Linux. Эта версия компилятора Intel поддерживает больше встроенных функций Visual Studio 2005.

Поддержка VS2008: командная строка только в этом выпуске. Интеграция IDE еще не поддерживалась.

Компилятор Intel C++ 11.0 ноябрь 2008 г. Начальная поддержка C++11 . Интеграция VS2008 IDE в Windows. ОпенМП 3.0. Source Checker для статической памяти/параллельной диагностики.
Компилятор Intel C++ 11.1 23 июня 2009 г. Поддержка новейших инструкций Intel SSE SSE4.2 , AVX и AES . Расширение параллельного отладчика. Улучшенная интеграция с Microsoft Visual Studio, Eclipse CDT 5.0 и Mac Xcode IDE.
Intel C++ Composer XE 2011 до обновления 5 (компилятор 12.0) 7 ноября 2010 г. Расширения языка Cilk Plus , управляемый автоматический параллелизм, улучшенная C++11 . поддержка [27]
Intel C++ Composer XE 2011, обновление 6 и выше (компилятор 12.1) 8 сентября 2011 г. Cilk Plus Языковые расширения обновлены для поддержки версии спецификации 1.1 и доступны в Mac OS X в дополнение к Windows и Linux, блоки Threading Building Blocks обновлены для поддержки версии 4.0, блоки Apple поддерживаются в Mac OS X, улучшенная поддержка C++11 , включая поддержку Variadic шаблоны, поддержка OpenMP 3.1.
Intel C++ Composer XE 2013 (компилятор 13.0) 5 сентября 2012 г. Поддержка сопроцессоров Intel Xeon Phi на базе Linux, поддержка Microsoft Visual Studio 12 (настольная версия), поддержка gcc 4.7, поддержка инструкций Intel AVX 2, обновления существующих функций, направленные на повышение производительности приложений. [28]
Intel C++ Composer XE 2013 SP1 (компилятор 14.0) 4 сентября 2013 г. Онлайн-установщик; поддержка сопроцессоров Intel Xeon Phi; предварительная версия Win32 поддерживает только графику Intel; улучшенная поддержка C++11
Intel C++ Composer XE 2013 SP1, обновление 1 (компилятор 14.0.1) 18 октября 2013 г. Японская локализация 14.0; Поддержка Windows 8.1 и Xcode 5.0.
Компилятор Intel C++ для Android (компилятор 14.0.1) 12 ноября 2013 г. Размещается в Windows, Linux или OS X, совместим с инструментами Android NDK, включая компилятор gcc и Eclipse.
Intel C++ Composer XE 2015 (компилятор 15.0) 25 июля 2014 г. Полная поддержка языка C++11; Дополнительные улучшения OpenMP 4.0 и Cilk Plus
Intel C++ Composer XE 2015, обновление 1 (компилятор 15.0.1) 30 октября 2014 г. поддержка AVX-512 ; Японская локализация
Intel С++ 16.0 25 августа 2015 г. Доступность на основе пакета (Intel Parallel Studio XE, Intel System Studio)
Intel С++ 17.0 15 сентября 2016 г. Доступность на основе пакета (Intel Parallel Studio XE, Intel System Studio)
Intel С++ 18.0 26 января 2017 г. Доступность на основе пакета (Intel Parallel Studio XE, Intel System Studio)
Intel С++ 19.0 3 апреля 2018 г. Доступность на основе пакета (Intel Parallel Studio XE, Intel System Studio)
Классический компилятор Intel C++ 19.1 22 октября 2020 г. Только начальный процессор Open MP 5.1
Компилятор Intel oneAPI DPC++/C++ 2021 8 декабря 2020 г. SYCL, DPC++, первоначальный Open MP 5.1
Классический компилятор Intel C++ 2021.1.2
Компилятор Intel oneAPI DPC++/C++ 2021.1.2
16 декабря 2020 г. oneAPI DPC++/C++ представляет поддержку графического процессора разгрузки
Классический компилятор Intel C++ 2022.2.1
Компилятор Intel oneAPI DPC++/C++ 2022.2.1
2 ноября 2022 г. Поддержка новейших процессоров, графических процессоров и FPGA Intel;
поддержка будущих ISO/IEC 9899:2023 ( C23 ) и ISO/IEC 14882:2023 ( C++23 языковых стандартов ).
Классический компилятор Intel C++ 2023.0
Компилятор Intel oneAPI DPC++/C++ 2023.0
1 квартал 2023 г. [10] Поддержка расширений Intel Advanced Matrix Extensions (Intel AMX), технологии Quick Assist (QAT), Intel AVX-512 с векторными инструкциями нейронной сети (VNNI) , bfloat16, гибкость типов данных графического процессора, расширения матрицы Intel Xe (Intel XMX), векторный механизм Intel GPU, XE-Link

См. также [ править ]

Ссылки [ править ]

  1. ^ Корпорация Intel (02.11.2022). «Компилятор Intel® oneAPI DPC++/C++» . программное обеспечение.intel.com . Интел . Проверено 1 декабря 2022 г.
  2. ^ Корпорация Intel (02.11.2022). «Классический компилятор Intel® C++» . программное обеспечение.intel.com . Интел . Проверено 1 декабря 2022 г.
  3. ^ «УВЕДОМЛЕНИЕ ОБ УСТАРЕВЕНИИ: Intel® C++ Compiler Classic» . сообщество.intel.com . 01.09.2022 . Проверено 13 февраля 2023 г.
  4. ^ Интел (2021 г.). «Компилятор Intel oneAPI DPC++/C++» . Intel.com . Интел . Проверено 9 февраля 2021 г.
  5. ^ Перейти обратно: а б с д Это Корпорация Intel (2021 г.). «Компилятор Intel® oneAPI DPC++/C++» . программное обеспечение.intel.com . Интел . Проверено 9 февраля 2021 г.
  6. ^ «Компилятор Intel oneAPI DPC++ 2020-06 выпущен с новыми функциями» . www.phoronix.com . Проверено 17 декабря 2020 г.
  7. ^ Команда, редакция (16 декабря 2019 г.). «Гетерогенное вычислительное программирование: oneAPI и параллельный анализ данных C++» . внутриBIGDATA . Проверено 17 декабря 2020 г.
  8. ^ «Хронос делает шаг к широкому развертыванию SYCL с выпуском предварительной спецификации SYCL 2020» . Группа «Хронос» . 30 июня 2020 г. Проверено 17 декабря 2020 г.
  9. ^ «Компиляторы Intel C/C++ завершают внедрение LLVM» . Интел . Проверено 17 августа 2021 г.
  10. ^ Перейти обратно: а б Корпорация Intel (30 ноября 2022 г.). «Выпуск Intel oneAPI 2023: обзор инструментов» . www.intel.com . Интел . Проверено 1 декабря 2022 г.
  11. ^ Корпорация Intel (16 декабря 2020 г.). «Компилятор Intel® oneAPI DPC++/C++» . программное обеспечение.intel.com . Интел . Проверено 9 февраля 2021 г.
  12. ^ Корпорация Intel (16 декабря 2020 г.). «Классический компилятор Intel® C++» . программное обеспечение.intel.com . Интел . Проверено 9 февраля 2021 г.
  13. ^ «Ваш процессор, ваш компилятор и вы: случай секретной строки CPUID» . Архивировано из оригинала 05 января 2012 г. Проверено 11 декабря 2011 г.
  14. ^ Перейти обратно: а б «Функция Intel «калечить AMD»» . www.agner.org .
  15. ^ Грушка, Джоэл (29 июля 2008 г.). «Бюджетный матч недовольства: Нано против Атома» . Арс Техника.
  16. ^ «Мировое соглашение» (PDF) . скачать.intel.com .
  17. ^ «Intel и Федеральная торговая комиссия США достигли предварительного соглашения» . Newsroom.intel.com. 04 августа 2010 г. Проверено 13 октября 2012 г.
  18. ^ «FTC и Intel достигли соглашения; Intel запрещена антиконкурентная практика» . Архивировано из оригинала 3 февраля 2012 г. Проверено 20 октября 2011 г.
  19. ^ «Уведомление об оптимизации» . Корпорация Интел . Проверено 11 декабря 2013 г.
  20. ^ «Аналитик: Тесты, показавшие, что смартфоны Intel превосходят ARM, были сфальсифицированы» . Регистр .
  21. ^ «Примечания к выпуску компилятора Intel® C++ и новые возможности» . Корпорация Интел . Проверено 27 апреля 2021 г.
  22. ^ " "Домашняя страница компиляторов Intel(R) C++ и Fortran" " .
  23. ^ " "История изменений компилятора Intel(R) C/C++" " .
  24. ^ " "Домашняя страница компиляторов Intel(R) C++ и Fortran" " .
  25. ^ " "Компилятор Intel(R) C++ для Linux" " .
  26. ^ « Продукты Intel для разработки программного обеспечения » .
  27. ^ Это примечание приложено к выпуску, в котором был представлен Cilk Plus. Этот URL-адрес указывает на текущую документацию: http://software.intel.com/en-us/intel-composer-xe/.
  28. ^ Примечания к выпуску Intel C++ Composer XE 2013 [1] http://software.intel.com/en-us/articles/intel-c-composer-xe-2013-release-notes/

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: D54772EE3AC3B733C5D2473B5BF57A32__1715857080
URL1:https://en.wikipedia.org/wiki/Intel_C_Compiler
Заголовок, (Title) документа по адресу, URL1:
Intel C++ Compiler - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)