Новость из категории: Информация

Intel и Open Source: продукты для разработчиков

Содержание:
1. Продукты для разработчиков (Вы читаете данный раздел);
2. Другие проекты.
Intel и Open Source: продукты для разработчиков

В сфере производства микропроцессоров простое наращивание мегагерцев уже давно перестало быть основным направлением развития. Вместо этого, активно развиваются многоядерная архитектура и HyperThreading, добавляется поддержка виртуализации и другие возможности. Однако такие нововведения сами по себе малоинтересны конечным пользователям - необходимо, чтобы эти возможности использовали приложения, демонстрируя при этом улучшение производительности, масштабируемости и прочих заметных пользователям характеристик. Соответственно, производителям процессоров необходимо информировать разработчиков ПО о новых свойствах аппаратуры и всячески поощрять использование новых технологий.

В области «просвещения» разработчиков и пользователей Intel очень активна. Регулярно публикуются различные обучающие материалы и статьи, посвященные новым возможностям процессоров и их использованию на практике - в том числе, и в свободном ПО. На мой субъективный взгляд, технические материалы от инженеров Intel, касающиеся Linux и *BSD, достаточно интересны и информативны.

Одними публикациями дело не ограничивается, и сотрудники корпорации напрямую взаимодействуют с разработчиками различных программных продуктов, помогая им внедрять поддержку новых технологий. Конечно, внимание уделяется наиболее известным программам с большой пользовательской аудиторией. Приятно, что в эту когорту нередко попадают и свободные проекты.

Intel и Open Source: продукты для разработчиков

Например, после реализации в своих процессорах аппаратной поддержки виртуализации, инженеры Intel активно сотрудничали с разработчиками Xen и KVM в плане использования новых возможностей в этих продуктах. Помогает корпорация и проекту OpenStack - инструментарию для создания «облачной» инфраструктуры на основе открытых компонентов.

Intel и Open Source: продукты для разработчиков

VTune

Участие инженеров корпорации в написании кода тех или иных программ - это еще не всё. Сторонним разработчикам предоставляются различные инструменты, позволяющие наиболее эффективно использовать особенности аппаратуры Intel. Правда, все основные продукты компании для разработчиков (компиляторы C/C++ и Fortran, анализатор производительности VTune, инструментарий Intel Parallel Studio и другие) являются проприетарными. Тем не менее, многие из них одинаково поддерживают как Windows, так и Linux, что уже неплохо.

При этом в Intel понимают, что стандартом де-факто в Linux являются GCC и связанные с ним инструменты, и стремятся к полной совместимости с этими программами. Так, во многих случаях для использования компиляторов Intel достаточно изменить соответствующие переменные в makefile (или настройки проекта в IDE). Изменения в сам код вносить вряд ли придется, ибо компиляторы Intel поддерживают не только стандарты C/ C++, но и многие расширения GCC (впрочем, естественно, что при реализации чего-то нового в GCC поддержки этих новинок в компиляторах Intel придется подождать). На выходе получаются «обычные» бинарные программы, не требующие для своей работы каких-то специфических библиотек, и которые можно отлаживать стандартным gdb. Для программистов, не очень любящих командную строку, предоставляются средства интеграции инструментов Intel с Eclipse.

Из открытых инструментов, предоставляемых Intel разработчикам, можно выделить Threading Building Blocks (threadingbuildingblocks.org; достаточно удобная библиотека для параллельного программирования на С++, предоставляющая возможность анализа работы приложения для выбора оптимального количества потоков), а также недавно выпущенный OpenCL SDK (http://software.intel.com/en-us/articles/opencl-sdk). Последний нацелен на создание эффективных программ, задействующих для параллельных вычислений как обычные ЦПУ, так и графические процессоры. Также в Intel была разработана открытая библиотека OpenCV (Open Source Computer Vision Library; opencv. willowgarage.com), предназначенная для обработки изображений в реальном времени; сейчас библиотека поддерживается исследовательской лабораторией Willow Garage и распространяется по лицензии BSD. Наконец, совсем недавно Intel открыла код проекта Cilk Plus (http://software.intel.com/en-us/articles/intel-cilk-plus), реализующий расширения C/C++ для создания распараллеливаемых приложений.

Нередко программы, собранные компиляторами Intel, демонстрируют лучшую производительность, чем тот же код, собранный GCC. Вкупе с дополнительными библиотеками (наподобие той же Threading Building Blocks или проприетарной Math Kernel Library), средства разработки от Intel с точки зрения качества представляют серьезную конкуренцию стандартным инструментам и библиотекам Linux. Проприетарные лицензии препятствуют их широкому использованию, но даже такая конкуренция - это стимул для GCC сотоварищи не почивать на лаврах и не останавливаться в развитии.

В качестве основного преимущества собственных компиляторов Intel позиционирует различные оптимизации, приводящие к повышению производительности результирующих приложений. Что касается поддержки возможностей аппаратуры, то здесь корпорация придерживается общей канвы, согласно которой оборудование Intel должно поддерживаться всеми основными продуктами, для которых это имеет смысл. В соответствии с такой политикой инженеры Intel вносят вклад и в развитие GCC -в частности, ими были добавлены поддержка расширений AVX (Advanced Vector Extensions - новые инструкции и другие улучшения в архитектуре x86, нацеленные на повышение быстродействия вычислительных задач; анонсированы Intel в 2008 году) и процессоров Atom. В последнее время сотрудничество с GCC даже расширилось - например, разработчикам GCC был предоставлен набор изменений, необходимых для поддержки упомянутого выше Cilk Plus.

Деятельность Intel не ограничивается системным ПО наподобие ядра Linux или компиляторов: из недр компании выходят библиотеки для программистов разных специализаций. Например, не так давно корпорация открыла исходный код системы трассировки лучей Embree (http://intel.ly/rNitrB), ускоряющей рендеринг фото-реалистичных изображений (картинок, по качеству близких к фотографиям), и пакета Scalable Virtual Environments (http://intel.ly/tDzS9s), предназначенного для распределенного построения 3D-сцен - такая возможность востребована, например, в приложениях построения виртуальных миров (наподобие OpenSimulator).

Intel и Open Source: продукты для разработчиков

В мае 2009 года (чуть меньше, чем за год до появления MeeGo) Intel и Nokia запустили проект oFono (http://ofono.org), нацеленный на создание инфраструктуры разработки приложений для мобильных телефонов. Разрабатываемый в рамках проекта программный интерфейс (API) должен позволить программистам абстрагироваться от низкоуровневых особенностей работы с телефоном (наподобие механизмов отправки SMS), сконцентрировавшись на более важных задачах - например, на графическом интерфейсе своих приложений. В свете происходящего в последнее время с Nokia, перспективы поддержки проекта с ее стороны туманны. Но по состоянию на сегодняшний день, oFono развивается.

До появления повышенного внимания к мобильным устройствам, большие силы корпорации были сосредоточены в несколько противоположной области - создании крупных программно-аппаратных комплексов. И здесь без свободного ПО не обошлось. Инженеры компании приложили руку к инструмента-рию для построения кластеров OSCAR (Open Source Cluster Application Resources; oscar.openclustergroup.org), а также разработали Iometer (http://www.iometer.org) - программу тестирования дисковой и сетевой подсистем, способную имитировать поведение ряда реальных приложений. Правда, в последние годы особой активности в этом направлении со стороны компании не замечено.

Проявила Intel и заботу о разработчиках аппаратного обеспечения - а точнее, BIOS/EFI. Для них был разработан набор тестирования Linux-ready Firmware Developer Kit (http://linuxfirmwarekit. org), позволяющий проверить степень совместимости BIOS/EFI с Linux. Проект выглядит полезным, но, видимо, в последнее время он несколько потерял актуальность. Самая свежая из имеющихся версий основана на ядре 2.6.22.9 и выпущена в 2007 году.

Рейтинг статьи

Оценка
0/5
голосов: 0
Ваша оценка статье по пятибальной шкале:
 
 
   

Поделиться

Похожие новости

Комментарии

^ Наверх