Хабраиндекс
273,76
18 декабря в 09:32

Рабочие группы в OpenCL 2.0. Неоднородные рабочие группы tutorial

Среди новых возможностей OpenCL 2.0 появилось несколько новых полезных встроенных функций, так называемых функций рабочих групп. Эти встроенные функции предоставляют широко используемые параллельные примитивы, работающие на уровне рабочих групп. В этой статье кратко описываются функции рабочих групп, приводятся данные производительности для устройства OpenCL Intel HD Graphics, а также рассматривается пример использования неоднородных рабочих групп.
1376
37
saul 51,7
16 декабря в 09:26

Поэтапный рост производительности при применении векторных инструкций перестановки от SSE до AVX3.1

Часто от приложения требуется максимально возможная производительность, и нередко помочь ее достигнуть может переход на новую платформу. А дополнительный прирост производительности может быть получен не только за счет архитектурных изменений новой платформы, т.е. увеличения частоты процессора, пропускной способности памяти и прочих изменений, но и за счет использования новых наборов команд процессора. Этот подход и будет рассмотрен в данной статье на примере векторных инструкций, появлявшихся последовательно в процессорах Intel от SSE до нового набора инструкций AVX 3.1, опубликованного недавно в соответствующей спецификации на сайте компании Intel.
+9
2402
23
8 декабря в 09:37

Займи свое место в рейтинге Android-разработчиков Intel

Хотите получить признание в среде Android-разработчиков, а вместе с ним — финансовую и организационную помощь Intel в продвижении вашего продукта? Тогда эта информация для вас. В нынешнем году компания Intel совместно с сообществом разработчиков Apps4All запустила специальный проект «Рейтинг Intel для разработчиков». Каждый квартал жюри Intel выбирает несколько интересных приложений для обзора на сайте. Автор лучшего приложения получает статус «Топ разработчик Intel» и все вышеприведенные плюшки.
+8
4086
42
saul 51,7
3 декабря в 09:35

Новые оптимизации для х86 в ожидаемом GCC 5.0

Итак, фактическую разработку новых оптимизаций в GCC 5.0 можно считать законченной. Продукт GCC 5.0 находится сейчас в фазе stage3, то есть идет доработка уже внедренных оптимизаций. В данной и последующих статьях я расскажу об оптимизациях, реализованных в GCC 5.0 для х86 и об их влиянии на производительность программ для процессоров линейки Intel Atom и Intel Core. Сегодня речь пойдет о векторизации групповых обращений в память. В последующих статьях я расскажу об ускорениях в 32-битном PIC режиме и дополнительном усилении векторизации.
+42
12982
56
Evgeny1982 48,2
1 декабря в 12:04

Intel® System Studio 2015 — всё, что нужно разработчику ПО для встраиваемых систем

Интеллектуальные устройства и «умные вещи» стремительно распространяются в окружающем нас мире, становятся все более продвинутыми, взаимодействуют друг с другом. Не желая отставать от времени, Intel уделяет много внимания нуждам разработчиков ПО для встроенных систем. Чтобы сделать их работу более продуктивной, компания подготовила Intel® System Studio 2015 — набор кросс-платформенных средств разработки, отладки и тестирования embedded ПО.
Что нового ждет нас в очередной версии?
+2
1452
7
saul 51,7
25 ноября в 09:07

Процессоры, ядра и потоки. Топология систем tutorial

В этой статье я попытаюсь описать терминологию, используемую для описания систем, способных исполнять несколько программ параллельно, то есть многоядерных, многопроцессорных, многопоточных. Разные виды параллелизма в ЦПУ IA-32 появлялись в разное время и в несколько непоследовательном порядке. Во всём этом довольно легко запутаться, особенно учитывая, что операционные системы заботливо прячут детали от не слишком искушённых прикладных программ.



Используемая далее терминология используется в документации процессорам Intel. Другие архитектуры могут иметь другие названия для похожих понятий. Там, где они мне известны, я буду их упоминать.

Цель статьи — показать, что при всём многообразии возможных конфигураций многопроцессорных, многоядерных и многопоточных систем для программ, исполняющихся на них, создаются возможности как для абстракции (игнорирования различий), так и для учёта специфики (возможность программно узнать конфигурацию).
+34
24176
299
Atakua 59,3
19 ноября в 08:03

Intel INDE 2015 — новый полезный инструмент для разработки кросс-платформенных приложений



Недавно компания Intel выпустила обновление для набора инструментов и библиотек INDE, про который неоднократно писал здесь мой коллега Terror. Причем, обновление настолько значительное, что его можно сравнить с апгрейдом с мопеда до внедорожника (хотя и мопед тоже останется у вас).
Intel INDE включает в себя инструменты для полного цикла разработки приложений: настройка окружения (интеграция с IDE для Android), оптимизированные под каждую платформу классы (работа с медиа, библиотеки для работы с потоками, разнообразные утилиты), компиляторы, средства для отладки, профилирования и оптимизации кода.
Все эти средства способны значительно ускорить и упростить создание кроссплатформенных приложений. А производительность на каждой отдельной платформе и архитектуре будет оптимальной.
13 ноября в 14:02

Содержимое Intel IOT development kit

В феврале я писал о сборке Yocto для Galileo gen1, которая несколько облегчает разработку для Galileo. С тех пор прошел почти год, и у Galileo появились последователи — Galileo gen2, Edison. Про Edison (уже два месяца в продаже) надо писать отдельно, этот же пост об Intel IOT Development Kit.

image

Из железок на моем рабочем столе (извините за беспорядок) он совместим с Galileo gen1, gen2 и Edison.
С декабря 2013 по октябрь 2014 я был архитектором этого продукта, и сейчас я опишу, как продвигался проект, что уже получилось, и что запланировано.
+16
11451
66
izard 28,9
12 ноября в 10:25

H.265/HEVC. Оптимизация под архитектуру Intel перевод


Текущую ситуацию в области медиакодеков, можно описать буквально несколькими словами: простые решения себя исчерпали. С каждым годом материал для кодирования становится все сложнее, а требования к качеству результата – все выше. В этих условиях, когда лобовая атака уже не дает эффекта, особое значение приобретает оптимизация как кодирования, так и воспроизведения медиа под конкретные платформы с использованием их самых современных возможностей. Чего можно добиться такой оптимизацией, мы покажем на примере перспективного кодека Н.265. В качестве целевой платформы рассмотрим серверное решение Intel — процессор Xeon.
+32
9995
49
saul 51,7
30 октября в 09:29

Адреса памяти: физические, виртуальные, логические, линейные, эффективные, гостевые tutorial

Мне периодически приходится объяснять разным людям некоторые аспекты архитектуры Intel® IA-32, в том числе замысловатость системы адресации данных в памяти, которая, похоже, реализовала почти все когда-то придуманные идеи. Я решил оформить развёрнутый ответ в этой статье. Надеюсь, что он будет полезен ещё кому-нибудь.
При исполнении машинных инструкций считываются и записываются данные, которые могут находиться в нескольких местах: в регистрах самого процессора, в виде констант, закодированных в инструкции, а также в оперативной памяти. Если данные находятся в памяти, то их положение определяется некоторым числом — адресом. По ряду причин, которые, я надеюсь, станут понятными в процессе чтения этой статьи, исходный адрес, закодированный в инструкции, проходит через несколько преобразований.



На рисунке — сегментация и страничное преобразование адреса, как они выглядели 27 лет назад. Иллюстрация из Intel 80386 Programmers's Reference Manual 1986 года. Забавно, что в описании рисунка есть аж две опечатки: «80306 Addressing Machanism». В наше время адрес подвергается более сложным преобразованиям, а иллюстрации больше не делают в псевдографике.
+47
26068
413
Atakua 59,3