Рубрика «Блог компании Intel» - 61

11 декабря команда Intel Developer Zone проводит мероприятие Bloggers Meet-up в Москве. Мы пригласили блогеров из Intel, участников сообщества IDZ и самых активных комментаторов блога Intel на хабре. На встрече будем говорить о разработке софта и новых технологиях Intel. Также, пообщаемся с нашим специальным гостем Алексом Экслером о том, как привлечь и удержать читателей своего блога.

На сегодняшний день у нас осталось 10 вакантных мест. И у вас есть шанс их занять! Пропускной билет на встречу – это ваш пост, связанный с Intel и нашими технологиями. Если вы публиковали подобную статью на хабре в этом году, то оставьте ссылку на нее в комментариях. Мы их посмотрим, выберем 10 лучших и пригласим авторов на мероприятие. Если вы живете не в Москве, то мы готовы оплатить проезд. Так что расстояние – не проблема.

image
Читать полностью »

Все меньше, и меньше, и меньше… Микро сервера – решение для макро задач
Наверное, каждый, кто регулярно занимался расчетом аппаратных платформ под какие-либо задачи, сталкивался с тем, что этот расчет оказывался неверным. На самом деле заранее, особенно на ранних этапах, точно определить будущую нагрузку подчас решительно невозможно, не говоря уже о том, что даже правильно спроектированные мощности рано или поздно все равно потребуют модернизации. Так или иначе, «крупноблочное» серверное обустройство, помимо очевидных преимуществ, имеет один капитальный недостаток: его ресурсами невозможно гибко управлять. Вот почему с тех пор, как это стало технически осуществимым, лучшие умы задумывались о модульном строении аппаратных платформ. Последнее слово в этой области – микро сервера.
Читать полностью »

Как известно, в программном интерфейсе приложений для магазина Windows (Windows Store apps) отсутствуют многие функции работы с потоками, начиная с CreateThread() и заканчивая работой с TLS ключами. И это отличный повод перейти от параллелизма, основанного на системно-зависимых потоках к параллелизму, основанному на задачах. Данный пост излагает пошаговую инструкцию о том, как написать простейший многопоточный пример, который проходит аттестацию для магазина Windows (Windows App Certification Kit validation) и, гипотетически, может быть масштабирован до игрушек космического масштаба. А поскольку используется кроссплатформенная библиотека Intel® Threading Building Blocks (Intel® TBB, TBB, threadingbuildingblocks.org), то вычислительная часть может быть легко перенесена на другие платформы, и задача будет заключаться только в том, чтобы нарисовать новый красивый графический интерфейс.
Читать полностью »

Основные проблемы влияющие на производительность вычислительного ядра и приложения и методы их решения компилятором

Продолжаю разговор об оптимизации приложений, начатый здесь в посте «Существует ли простая оценка качества оптимизации приложения?».

Про процессоры можно говорить много и подробно и, наверняка, среди читателей Хабра есть масса людей спопобных на такие разговоры. Но моя точка зрения на процессор сугубо прагматичная. Поскольку меня интересует производительность приложения, через призму производительности процессора, то мне достаточно понимания базовых принципов работы вычислительного ядра. А также методов, которые существуют, чтобы на эти базовые принципы воздействовать. Буду я ориентироваться на архитектуру Intel64. Это вызвано тем, что в нашей команде анализа производительности мы занимаемся анализом работы оптимизирующего компилятора Intel, в основном, именно для этой архитектуры. На рынке вычислительных систем для высокопроизводительных вычислений эта и совместимые архитектуры занимают львинную долю, поэтому большинство проблем производительности имеет довольно общую природу. Давайте я коротко перечислю те основные проблемы и возможности, которые определяют производительность ядра и вычислительной системы и предложу короткий список различных оптимизаций, призванных влиять на эти проблемы.

Читать полностью »

Жизнь в эпоху «тёмного» кремния
Пока продолжение рассказа о коммуникационных фабриках по не зависящим от меня причинам откладывается, хотелось бы осветить другую тему.
С 8 по 12 октября в Подмосковье проходила крупнейшая в России конференция, посвященная проблемам разработки микро- и наноэлектронных систем. И хоть сама конференция оставила скорее негативное впечатление, но одно из выступлений выделялось из общей массы и, вероятно, будет интересно уважаемым читателям. Речь об аналитическом докладе «Life with «dark» silicon. Power and termal problems in future platforms», который представлял Mike Kishinevsky (Principal Engineer, Strategic CAD Labs, Intel Corp.). Я постараюсь рассказать об основных идеях этого доклада, используя материалы конференции и сторонние источники.
Читать полностью »

Есть приложения, которые хорошо реализуются как системы передачи сообщений. Сообщениями в широком смысле может быть что угодно – блоки данных, управляющие «сигналы» и т.д. Логика же состоит из узлов, обрабатывающих сообщения, и связей между ними. Такая структура естественно представляется графом, по рёбрам которого «текут» сообщения, обрабатываемые в узлах. Наиболее устоявшееся название такой модели – вычислительный граф.

С помощью вычислительного графа можно установить зависимости между задачами и в какой-то мере программно реализовать «dataflow архитектуру».

В этом посте я опишу, как реализовать такую модель на С++, используя библиотеку Intel® Threading Building Blocks (Intel® TBB), а именно класс tbb::flow::graph.

Параллельное программирование с помощью вычислительного графа
Читать полностью »

Оптимизируем… распараллеливаем… взлетаем!
«Из пункта А в пункт Б вышел пешеход со скоростью … » Помните такие задачки из школьной программы? Они учили нас умению логически мыслить и, в какой-то степени, составлять алгоритмы, то бишь азам программирования. Но вот все мы подросли, и пришло время решать более взрослые задачи. Из пункта А в направлении пункта Б каждый день вылетает десятки самолетов с различными ценами на билет, маршрутами, бонусными программами… это множество вариантов необходимо просчитать таким образом, чтобы найти оптимальный исходя из предложенных критериев, причем просчитать быстрее других.
Вот вы и познакомились кратенько с условиями конкурса программистов «Accelerate Your Code», проводимого компанией Intel в ноябре. Для всех заинтересовавшихся и желающих получить призовой ультрабук от Intel – кнопка внизу.
Читать полностью »

Чистый C++

Давайте знакомиться.

Я — Серега. (На фото — не я). Работаю в Intel. Вместе с коллегами пишу GPA. Программирую вот уже скоро 20 лет как. Ну, это если считать со школы. Последнее время накопилось много разных мыслей, которыми хочется с кем-то поделиться. Рассказать кому-то о том, что такое хорошо, а что такое плохо. Рассказывать можно и пустоте (так даже спокойней, никто не отвлекает и не суется со Своим Самым Правильным мнением), но это не очень эффективно. Поэтому буду сливать свои мысли сюда. Вдруг кому-нибудь пригодится…

В качестве введения

Многие считают, что есть два родственных языка — C и C++. При этом C++ — это якобы тот же C, только с двумя плюсами, т.е. ООП. Это очень распространенное заблуждение. «На самом деле все не так». C и С++ — это совершенно разные языки, не имеющие между собой практически ничего общего. Однако исторически так сложилось, что C++ синтаксически совместим с C, т.е. может компилировать программы, написанные на C. Из-за этой особенности четкая грань между языками отсутствует и существует множество кода, написанного на жуткой смеси этих языков. Причем пропорция этой смеси может меняться даже в рамках одной программы у одного автора. Читать полностью »

Halloween — hello adminВ любой профессии есть место празднику и различным байкам, а уж в нашей, айтишной, и подавно – наверное, мало кто по долгу службы так тесно связан с вечно глючащим железом с одной стороны и человеческой неадекватностью – с другой. В общем, не жизнь, в сплошное колдунство. Когда же о нем рассказывать? На 1 апреля – как-то неуважительно к профессии, другие дни подходят еще меньше… может быть, под хеллоуин? Колдовать так колдовать!
В этом посте – подборка реальных историй, случившихся за годы айтишной практики со мной и моими коллегами. С Intel изо всех них связана только одна, но, я думаю, компания все-таки не будет в обиде. Всем желающим предлагаю присоединяться в комментарии. Давайте, составим вместе хэллоуинский хабрадайджест!
Читать полностью »

Intel® Inspector XE 2013: автоматическая верификация и отладка в реальном времени

Тестирование и поиск ошибок – неотъемлемая и не самая интересная часть процесса разработки ПО. Для избавления себя от рутины этот процесс все стараются автоматизировать. И если для проверки функционала приложения создаются специализированные самодельные тесты, то поиск ошибок общего типа далеко не всегда ими покрывается. Проверяется ли, например, ваше приложение на наличие утечек памяти или гонок данных? В этой статье рассмотрим, как использовать обновлённый Inspector XE 2013 в двух ипостасях:

  • Для регулярного автоматического тестирования (regression testing)
  • Для ручного поиска причин проблемы в паре с отладчиком

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js