Сегодня 22 декабря 2024
18+
MWC 2018 2018 Computex IFA 2018
реклама
Аналитика

Новосибирск – НГУ, СО РАН и Intel. Часть вторая

⇣ Содержание

Новосибирск – НГУ, СО РАН и Intel. Часть первая.

Новосибирский центр Intel

Полюбовавшись суперкомпьютерными кластерами в ССКЦ, мы направились в новосибирский центр Intel. Сразу заметим, что физически офис Intel расположен не в Новосибирске, а в Академгородке. На наш взгляд, так это только плюс, тут все близко – и ССКЦ, и СО РАН, и НГУ. Да и в окружении вековых сосен думается и работается лучше, чем в шумном мегаполисе.

В офисе Intel нам первым делом гостеприимно предложили по чашечке кофе и пригласили на презентацию.

Компиляторы Intel

Первым выступил Дмитрий Петунин, руководитель отдела тестирования компиляторов и разработки инструментов верификации программ Intel. Название должности звучит довольно длинно, и для далеких от программирования людей пугающе, но далее станет понятно, о чем идет речь. Современный компилятор – сложный программный продукт, являющийся своеобразной прослойкой между программистом и «железом», для которого он пишет программы. Конечно, можно попытаться программировать по старинке, прямо в машинных кодах, но вы изрядно утомитесь задолго до того, как закончите даже простенькую программу. Современные программисты больше оперируют объектами, их свойствами и методами, то есть языками высокого уровня, но непосредственно центральный процессор ни о чем таком не знает. Компилятор как раз и нужен для того, чтобы «перевести» написанную вами программу в машинные коды, понятные центральному процессору. Какие требования предъявляются к компиляторам? Первое – компилятор должен «переводить» без ошибок, второе – он должен генерировать максимально эффективный машинный код, чтобы наилучшим образом использовать все архитектурные возможности центрального процессора. От этих двух факторов зависит стабильность и скорость выполнения вашей программы. Собственно, этими задачами и занимается отдел Дмитрия Петунина. Языков программирования высокого уровня довольно много, и для каждого из них нужен компилятор. Если вы решите изобрести свой язык программирования, то, вероятно, и компилятор для него вам придется писать самим. Для «стандартных» языков программирования компиляторы давно написаны, но и они постоянно совершенствуются, поскольку архитектуры микропроцессоров постоянно улучшаются.

 compilers1.png

В настоящее время компания Intel разрабатывает собственные компиляторы для языков С++ и Fortran. Такой акцент объясняется довольно просто – язык С++ используется для множества, если не сказать большинства, задач системного программирования, а Fortran – для научных расчетов. Чтобы облегчить программистам использование своих компиляторов, Intel предлагает пакет Compiler Pro, а также средства разработки для высокопроизводительных параллельных вычислений – Parallel Studio и Cluster Toolkit Compiler Edition. Не забыта и набирающая популярность платформа Intel Atom, для которой создан отдельный продукт – Atom Development Studio. Чем компиляторы Intel предпочтительнее остальных? Ответ очевиден – кто как не разработчик центрального процессора лучше всего разбирается в особенностях архитектуры ЦП и может использовать ее наиболее эффективно. Более того, кто еще сможет предложить соответствующий компилятор для новых процессоров одновременно с их появлением на рынке? Задача создания нового процессора и компилятора для него чем-то напоминает известный парадокс про курицу и яйцо. Если нет ЦП, как на нем запустить компилятор? И наоборот – если нет компилятора, как проверить, правильно ли выполняет программу процессор? Разумеется, эта задача имеет решение, и вот как это происходит на самом деле.

 compilers2.png

Сначала создается проект нового процессора. С использованием имеющихся компиляторов создается симулятор нового ЦП. Затем пишется компилятор, который «обкатывается» сначала на симуляторе ЦП, а потом и первых инженерных образцах. Когда новые ЦП уже готовы «в железе», выполняется оптимизация нового компилятора, и к моменту выхода ЦП на рынок в виде готового продукта одновременно с ним выпускается новый компилятор. Все это напоминает, как Мюнхгаузен себя за волосы из болота вытаскивал, но данная схема успешно работает многие годы. Поэтому не приходится сомневаться в словах Дмитрия Петунина, утверждавшего, что компиляторы для процессоров 2013 года уже готовы. И пусть это пока компиляторы для симуляторов, работа над новыми поколениями ЦП Intel идет вовсю, а значит команде Дмитрия скучно точно не будет. Ведь мало создать пусть даже самый лучший компилятор сейчас, надо, чтобы он эффективно использовал всю мощь и нового оборудования, а с развитием микроэлектроники эта задача только усложняется.

 compilers3.jpg

Одна из задач оптимизации компилятора состоит в том, чтобы научить его распараллеливать программы самостоятельно. Создание программ для параллельных вычислений и сейчас еще является в большей степени искусством, хотя в этом направлении сделано уже достаточно много, чтобы облегчить жизнь простым программистам. Поэтому дальнейшее наращивание числа ядер в центральных процессорах уже не составляет принципиальной сложности. Но с появлением гибридных процессоров, содержащих графический ускоритель, возникают новые проблемы эффективного использования всего потенциала архитектуры. Эта задача решается уже сейчас, на примере связки дискретного ЦП и видеоядра, причем, по словам Дмитрия Петунина, весьма успешно. Схема развития обычных ЦП, приведенная на слайде слева, показывает логичный переход от четырехъядерных к 8- и 16-ядерным процессорам. Умышленно это было сделано или нет, но на презентационном слайде некое графическое ядро обозначено как LRBni. Может быть это то, что мы сейчас называем Larrabee? Стоит ли верить логике слайда, что в Larrabee будет 16 «конвейеров», а не 80, о которых ходят слухи? Сложно сказать. В каждом из исполнительных модулей GPU компании AMD находится по пять вычислительных блоков, что и приводит к фантастическому числу конвейеров – 1600 у нового Radeon HD5870. Будет ли Intel придерживаться той же схемы или пойдет своим путем (что более вероятно), покажет время.

Математическая библиотека Intel

Следующую презентацию представил Александр Коботов, инженер по разработке программного обеспечения новосибирской группы программистов Intel.

Математика в том или ином виде окружает нас повсюду, даже когда мы считаем сдачу в магазине. А уж в компьютерной технике без нее не обойтись совсем никак. Неважно, какое приложение запущено компьютере, но, так или иначе, ему приходится выполнять разнообразные расчеты, будь то спецэффекты в играх, биржевые графики или обработка изображений и сигналов.

От того, насколько эффективно компьютер способен проводить вычисления, зависит скорость выполнения приложения, время реакции на действия пользователя, а также точность полученных результатов. Поэтому создаются специальные математические библиотеки, которые содержат оптимизированные для компьютерных расчетов алгоритмы вычисления функций, уравнений и т.д. Это значительно упрощает труд программистов и сильно экономит время как при написании программы, так и в процессе ее выполнения. Простейший пример – допустим, надо подсчитать факториал некоторого числа, скажем, 1000. То есть надо последовательно перемножить числа 1, 2, 3, и так вплоть до 1000. Что может сделать программист в этом случае? Например, создать цикл и посчитать. Также можно вспомнить формулу Стирлинга и вместо цикла использовать ее. А можно просто обратиться к уже реализованной функции в математической библиотеке и получить готовый ответ. Конечно, данный пример весьма примитивен, и легко решается «в лоб», ведь достаточно простой арифметики. Но что делать, если надо решить систему линейных уравнений или выполнить обработку сигналов с помощью преобразования Фурье? Обложиться справочниками по математике – хороший способ, и много нового узнаете, но долго.

Как видите, оптимизированная математическая библиотека может кардинально ускорить выполнение расчетов – буквально в разы! Это кажется невероятным, но разработчикам Intel удалось добиться быстродействия на уровне 98% от теоретического максимума. На данный момент основная часть разработки ведется в Новосибирском офисе компании Intel, а разработкой математической библиотеки Intel занимаются опытные сотрудники с академическим прошлым в СО РАН. В работе над этой библиотекой также участвуют молодые специалисты и студенты-практиканты из вузов Новосибирска. Ну а качество подготовки молодых научных кадров в НГУ и СО РАН вполне позволяет добиться столь выдающихся результатов.

Платформы с управляемым кодом

Очередная презентация была посвящена платформам с управляемым кодом. О том, что в этом направлении делает Intel, слаженным дуэтом рассказали:

Вячеслав Шакин

и Даниил Соколов

Аппаратно-независимая платформа Java в настоящее время используется в очень широком спектре устройств – от мобильных телефонов до серверных кластеров. Microsoft .Net и Silverlight также весьма популярны, как и Adobe flash, заполонивший интернет.

 code-platform3.png

Казалось бы, какое дело Intel до программистских «холиваров»? Все очень просто - в Intel считают, что на чем бы ни была написана ваша программа, но на процессорах Intel она должна выполняться максимально эффективно. Да и звание лидера IT-индустрии обязывает находиться в курсе всего происходящего, ибо если оно сейчас непосредственно вас не касается, то завтра все может измениться. Именно поэтому Intel участвует в разработке новых стандартов, а также поддерживает ПО с открытым кодом, например Apache Harmony.

 code-platform4.png

Посмотрите, как возросла производительность Java-приложений на платформе Intel Xeon, после соответствующих оптимизаций.

 code-platform5.png

Ну а этот слайд еще красноречивее. Вы, наверное, заметили фразу, что Java разрабатывают программисты Intel в Новосибирске, а выпускает ее Sun. Это так и есть, Опыт, который программисты получили за 12 лет сотрудничества с Sun Microsystems еще в составе компании UniPro, пригодился и Intel. На данном слайде также присутствует еще один примечательный момент – производительность платформы Itanium 2 под кодовым именем Tukwila, которая только планируется к выпуску в первом квартале 2010 года. Оказывается, процессоры Intel Itanium 2 Tukwila уже давно находятся в новосибирском центре Intel, поэтому нет и никаких проблем с получением реальных бенчмарков.

День третий

Утро третьего дня началось, как обычно, с завтрака, а затем московских и присоединившихся к ним новосибирских журналистов снова пригласили в офис Intel, где прошла презентация процессоров Lynnfield. Для нас это сюрпризом не стало, поскольку мы уже тестировали новинки, а вот пообщаться с коллегами-журналистами из Новосибирска было интересно.
 Ecomonitor01.jpg
Последняя презентация была посвящена проекту Экомонитор, созданному Сибирским экологическим центром при поддержке корпорации Intel. Экологическая цель проекта - создание базы для общественного экологического мониторинга состояния особо ценных природных объектов.
 office9.jpg
Проект представили руководитель Сибэкоцентра Александр Дубынин, и директор Intel в России по связям с общественностью Евгений Закаблуковский. Как рассказал Александр Дубынин, мониторинг осуществляется с помощью GPS-навигаторов и обычных фотокамер, благодаря которым фиксируется тот или иной объект и его точные координаты. Затем эти данные заносятся в электронные карты, на данный момент используются Google Maps.
 ecomon1.jpg
Впрочем, только борьбой за сохранение особо ценных природных ресурсов деятельность центра не исчерпывается. Присоединиться к проекту может любой желающий и, например, отметить на электронных картах стихийную свалку мусора, незаконную вырубку леса, пожарище и т.д. Часто для этого достаточно даже мобильного телефона, оснащенного GPS-приемником и фотокамерой. Собственно, идея эко-мониторинга проста, как все гениальное, а выбранный способ ее реализации не требует долгих раздумий и каких-то особых усилий, тут более важно отсутствие равнодушия и внимательное отношение к окружающей природе.
 Ecomonitor02.jpg
В проекте Экомонитор участвуют не только новосибирцы, а также ученики и преподаватели школ Новосибирской области и Алтайского края. Регулярно проводятся Летние Лесные Школы, во время которых участники не только обследуют ценные природные объекты, но и учатся работать с техникой и базами данных, чтобы полученные результаты влились в общую копилку знаний. Примеры созданных карт мониторинга можно посмотреть на сайте Сибэкоцентра. Сотрудники Intel активно участвуют в данном проекте, причем помогают как оборудованием, так и делятся своими знаниями и опытом по части проектирования и использования информационных систем.
 office10.jpg
В администрации Новосибирской области проект Экомонитор вызвал большой интерес и получил высокую оценку, а новосибирский центр Intel, в свою очередь, получил почетную грамоту за активный вклад в дело охраны окружающей среды. Вдохновленные примером новосибирцев, заботящихся об окружающей их природе, мы поднялись на крышу Новосибирского института программных систем, откуда смогли полюбоваться открывающимися видами.
 foto1.jpg
 foto2.jpg
На этом наше знакомство с Академгородком завершилось, а поскольку времени до отлета еще оставалось достаточно, мы с радостью согласились на небольшую экскурсию по Новосибирску.
 foto3.jpg
Парк культуры и отдыха в будний день был тих и пустынен, хотя колесо обозрения работало и приглашало всех желающих осмотреть достопримечательности с высоты.
Впрочем, буквально сразу за колесом обозрения обнаружились подъемники для желающих в зимнее время покататься на лыжах, а с вершины холма открывался не менее интересный вид.
 foto4.jpg
А это уже главная улица Новосибирска - Красный проспект.
 foto5.jpg
Здесь же находится часовня, отмечающая "пуп земли" - географической центр дореволюционной России.
 foto6.jpg
Конечно же, рассказывая о Новосибирске, нельзя не упомянуть про Обское море, появившееся в результате строительства Новосибирской ГЭС.
Ни один фотоаппарат не в состоянии охватить всю панораму, открывающуюся с дамбы, протяженностью более одного километра. Поэтому мы записали небольшой видеоролик, так сказать, "от берега до берега".

Заключение

Поездка в Новосибирск оказалось очень насыщенной и интересной. Новосибирский центр Intel поразил размахом и глубиной решаемых задач. И, если честно, было даже немного завидно тем ребятам, которые уже сейчас могут изучать "железки", еще не увидевшие свет официально. Но главное даже не это. Главное - люди! К сожалению, и в самом подробном репортаже сложно передать ту атмосферу, что нас окружала на протяжении этих трех дней. Это и спокойная рассудительность занятых важными делами студентов Школы НГУ-Intel, и задор академиков СО РАН, способных часами рассказывать о настоящем и будущем науки, а также сибирская основательность и добродушие. Благодарим компанию Intel за организацию поездки.
- Обсудить материал в конференции


 
 
⇣ Содержание
Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.
Вечерний 3DNews
Каждый будний вечер мы рассылаем сводку новостей без белиберды и рекламы. Две минуты на чтение — и вы в курсе главных событий.

window-new
Soft
Hard
Тренды 🔥
Министр торговли США признала, что санкции против Китая неэффективны 50 мин.
Apple запустила разработку умного дверного звонка с Face ID 56 мин.
AirPods научатся измерять пульс, температуру и «множество физиологических показателей» 3 ч.
Облако Vultr привлекло на развитие $333 млн при оценке $3,5 млрд 7 ч.
Разработчик керамических накопителей Cerabyte получил поддержку от Европейского совета по инновациям 8 ч.
Вышел первый настольный компьютер Copilot+PC — Asus NUC 14 Pro AI на чипе Intel Core Ultra 9 9 ч.
Foxconn немного охладела к покупке Nissan, но вернётся к этой теме, если слияние с Honda не состоится 14 ч.
В следующем году выйдет умная колонка Apple HomePod с 7-дюймовым дисплеем и поддержкой ИИ 15 ч.
Продажи AirPods превысили выручку Nintendo, они могут стать третьим по прибыльности продуктом Apple 15 ч.
Прорывы в науке, сделанные ИИ в 2024 году: археологические находки, разговоры с кашалотами и сворачивание белков 23 ч.