В 93-м году к нам приехали представители Intel, в том числе Ричард Вирт, и мы общались по поводу того, что можем делать. В том же году мы начали разработку математической библиотеки и библиотеки обработки сигналов. Сегодня эта работа идет в трех местах: Москва, Нижний и Саров. Команда состоит из восьмидесяти человек, около сорока в Сарове и по двадцать в Москве и Нижнем. Наша сфера деятельности – математические вычисления, криптография, обработка одномерных и двумерных сигналов, кодирование неподвижных изображений (JPEG, JPEG2000), распознавание и кодирование речи (кодеки), кодирование видео и аудио (включая HD), функции компьютерного зрения. Все это под несколько платформ – Windows, Linux, Mac OS, IA32/64, xScale, аппаратные ускорители. В 2006 году в США состоялся очередной Grand Challenge – гонки на машинах без водителя. Выиграла машина Стэнфордского университета – они работают вместе с нами и на базе наших функций компьютерного зрения и обработки изображений. А еще – операции над матрицами, обработка строк и текстов, цветовых преобразований, сжатие без потерь, реалистическая графика – последний наш шаг. Super-Resolution – специальная технология, позволяющая из плохой записи сделать хорошую, анализируя, к примеру, 8 последовательных кадров. Сейчас мы оптимизируем код для новых процессоров, распараллеливаем задачи на многоядерную структуру. Когда мы начинали работать, то не понимали, что такое создание ПО. Думали – написали, и все. На самом деле половина из того, что мы делаем – тестирование и сопровождение, то есть обеспечение качества. Последнее достижение – наша графическая библиотека была сертифицирована национальным институтом стандартов и технологий США. Наше софтверное решение для OKI – подавление эха в телефоне – оказалось лучше, чем их решение "в кремнии". Наши библиотеки используют Microsoft, Adobe, Ulead, Philips Medical, Oracle, они включены в Matlab. Кодеки как отдельный продукт мы еще не выпускаем, лишь поставляем исходный код, бесплатно. Но собираемся выпускать кодеки как отдельный продукт.
Наша команда разработчиков была создана в 2005 году после покупки компанией Intel «Эльбруса» и перемещения некоторых проектов (в частности компиляторов) в Москву. Мы же получили новый проект. Изначально в команде было 7 человек, сейчас 18, все находятся в Сарове. Intel MPI Library – высокопроизводительная библиотека для распараллеливания вычислений на общей и разделяемой памяти. Эта технология применяется для очень мощных приложений, требующих вычислений на сотне/тысяче процессоров, для кластерных реализаций. Основное достоинство – универсальность, приложения собираются один раз и могут исполняться через любой интерконнект – Интернет, локальная сеть, свитчи – пользователь выбирает среду во время исполнения. Мы поддерживаем все компиляторы Intel и GNU, ОС Linux, с этого года можем работать под Windows CCS (операционная среда для кластерных решений). Поддерживаем все языки и компиляторы, на которых пишутся научные приложения – C, C++, Fortran-77/90/95, параллельные отладчики. За два года мы сравнялись с остальными реализациями MPI, на первом месте пока остается HP – 36 крупных компаний используют их MPI, наш используют 26 компаний, и мы планируем выйти на 50 к концу этого года. Цель софта Intel – не продажи, не прибыль, а способствование продаже процессоров Intel, архитектуры Intel. Мы можем работать на любой архитектуре и не делаем дифференциацию по производителю процессора – Intel или AMD. А выигрывать нужно на оптимизации под конкретный процессор, например, под длину его конвейера.
Мы работаем над вещами, которые появятся через 2–5 лет (а может быть, и не появятся – и так бывает). Кроме нас в России нет других технологических подразделений Intel, и мы работаем напрямую с подразделением в Орегоне. Занимаемся моделированием физики процессов – напыление, осаждение, травление… Разрабатываем программное обеспечение, но не для продажи, а для использования внутри Intel, которое инженеры и дизайнеры применяют в своей повседневной работе, чтобы облегчить процесс разработки чипов. Мы не целиком разрабатываем эти продукты, часто это совместная работа с коллегами в Орегоне. Контроль тепловыделения, анализ происходящего внутри процессоров, оптимизация конструкции и подбор материалов – в конечном итоге минимизация потребления. Соединение разнородных материалов – анализ и прогноз механических напряжений, создание их в нужных местах и устранение в ненужных. Литография – программа решения оптических задач для поддержки литографического процесса. Моделирование работы отдельного транзистора, связь потенциалов и токов, движение электронов на микроуровне, рекомендации для дизайнеров. Моделирование изменений сложной формы поверхности, получаемой при нанесении слоев современных процессоров. Общая инфраструктура, позволяющая всем этим программам работать вместе, оболочка для инженеров.