Архивы: по дате | по разделам | по авторам

IDF Russia 2002. Разработка программного обеспечения

АрхивПлатформа
автор : Дмитрий Гориловский   04.10.2002

Не секрет, что Россия для Intel (и не только) — это, прежде всего разработки программных продуктов. Это было основной темой прошедшего в России впервые Форума разработчиков решений для Intel.

Не секрет, что Россия для Intel (и не только) — это, прежде всего разработки программных продуктов. Это было основной темой прошедшего в России впервые Форума разработчиков решений для Intel. А что наши компьютеры без грамотного софта? — Груда железа…

Крейг Барретт

Тенденцию легко можно было отследить уже во время вступительной речи главного исполнительно директора Intel Крейга Баретта. Первым подробно упомянутым продуктом в его выступлении стал вовсе не новый процессор, сервер или сетевая карта, а программная разработка ниженовогородских разработчиков, позволяющая при исходных данных, полученных самым обыкновенный цифровым фотоаппаратом, делать вполне конкурентноспособную трехмерную анимацию.

Трехмерная сцена, воссозданная по фотографиям.

Изначально, используя «снимки местности»  и вышеупомянутое программное обеспечение воссоздается трехмерное окружение, потом на действующую сцену добавляются движущиеся объекты (в демонстрируемом примере главной фигурой в трехмерном действе стал сам Барретт, трехмерную модель головы которого не без помощи «спец. п/о» прикрепили к туловищу весьма удалого велосипедиста) и ролик уже готов!

Голова Крейга Барретта.

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

Демонстрация HyperThreading.

Сами разработчики прочат будущее этой разработки в телеонференциях, так как объем передаваемых данных в случае «живого» видео или передачи лишь данных о мимике говорящего — несравнимы.

Судя по доли программного обеспечения в общих затратах, пиратство на Руси отомрет нескоро.

После общей вводной части мероприятие было разбито на несколько параллельных потоков. Я хотел бы остановиться на потоке, посвященном разработке программного обеспечения и, собственно, программному обеспечению, для разработки предназначенного.

Для хорошо владеющих тематикой форума или просто не желающих вникать в сухую теорию дела были предложены лабораторные работы по применению средств разработки от Intel.

Было проведено три лабораторные работы:
1. Перенос приложений с 32-битной на 64-битную платформу Intel.
2. Использование Intel Vtune для оптимизации реальных приложений.
3. Оптимизация приложений с применением широкого спектра продектов от Intel.

Вторая и третья лабораторные работы более или менее пересекаются по содержанию с семинарами по программным продуктам Intel, именно поэтому стоит отдельно упомянуть о первой лабораторой работе, посвященной переносу приложений на 64-битную платформу Intel. Для лабораторной работы был выбран пример переноса такого приложения, как Web-сервер Apache на платформу Intel Itnium. Для компилирования этого проекта был предоставлен 4-процессорный сервер на Intel Itanium, к которому был предоставлен удаленный доступ, 64-битная версия Windows и средства разработки в виде среды Microsoft Visual Studio с компиляторами от Intel. Были затронуты проблемы использования ассемблерных вставок,

Способы и средства
оптимизации программ
.

проблемы сосуществования 32- и 64-битного кода, использования 64-битного адресного пространства, изменение приложения для использования 64-битных типов даных, проблемы связанные с изменением Windows API. Впечатлило то, что, несмотря на довольно малое время, предоставленное для проведения работы, большинство лаборатнов успешно преодолело возникшие проблемы, добравшись до исполняемого 64-битного кода.

На потоке семинаров было подробно рассказано о программных продуктах Intel для разработчика, а именно о библиотеках Intel Perfomance Libraries (Math Kernel Libraries и Integrated Perfomance Primitives), компиляторах (Intel C/C++ Compiler, Intel Fortran Compiler), отладчике Assure, профилировщике GuideView, средстве разработки и отладки многопотоковых приложений Threading Tools и среде анализа производительности Intel Vtune Perfomance Analyzer.

Обзорная схема применения IPP.

Math Kernel Libraries представляют собой библиотеки функций для применения в построении математических, научных и финансовых приложений, включающих в себя подпрограммы для базисной линейной алгебры (BLAS 1,2,3), разрешающие программы и решатели по собственным векторам и значениям (LAPACK), векторную математическую библиотеку (VML), библиотеку быстрого преобразования Фурье. Этот набор библиотек существует в двух вариантах — для компиляторов под операционные системы Windows и Linux. Есть возможность построения оптимизированного под конкретный процессор кода, оптимизации кода для SMP-систем.

Intel Perfomance Primitives — это своего рода строительные кирпичики для построения высокопроизводительных приложений и компонент, предназначенных для цировой обработки сигналов, изображений, видео, звука, математических вычислений. Радует, что Intel Perfomance Primitives существуют как под ОС Windows  и Linux, так и для ОС WinCE на платформе StrongARM или Intel XScale

При рассмотрении компиляторов от Intel большой уклон был сделан в сторону оптимизации кода под архитектуру NetBurst (Pentium 4 и Xeon), оптимизацию под 64-битную архитектуру Itanium, поддержке стандарта OpenMP  и технологии HyperThreading в частности. Коротко были рассмотрены возможности межпроцедурной оптимизации, диспечеризации кода для достижения максимальной производительности в зависимости от типа ЦП на данной системе, параллелизации и автопараллелизации.

Упоминались также технологии программной конвейеризации (позволяющей эффективно загружать длинные конвейеры процессоров Intel Pentium 4 и Xeon) и автоматической векторизации (автоматическое распараллеливание при помощи использования SIMD инструкций).

Небезынтересно было послушать о профилировании  и автопараллелизации приложений. Профилирование применяется для оптимизации программного обеспечения с сильным ветвлением, которое трудно предсказать во время компиляции (это также особенно важно для длинного конвейера Pentium 4), а автопаралеллизация занимается обнаружением циклов, которые можно безопасно выполнять параллельно, и генерацией соответствующего кода. Для отладки и контроля производительности многопоточных приложений Intel предлагает использовать средства Intel Thred Checker и Thread Profiler.

Intel Vtune Perfomance Analyser — среда для сбора и отображения данных о работе Windows- и Linux-приложений. Она поддерживает платформы IA32, Itanium (IA64), XScale. Сама Intel позиционирует Vtune для анализа узких мест как драйверов, одно- и многопотоковых приложений, так и для отслеживания узких мест сетевых ресурсов. Intel Vtune Enterprise Analyser предоставляет дополнительные средства для контроля межмашинного взаимодействия при осуществлении проектов по разработке Web-приложений (поддерживаются Microsoft DNA и .NET), при этом отслеживаются все типы запросов, включая запросы HTTP, COM+, SQL.

В рамках потока по программному обеспечению был также проведен семинар по Microsoft .NET и Visual Studio .NET, на котором рассматривались особенности как самой платформы .NET, так и средств разработки для нее. Здесь освещалось межплатформное взаимодействие, отличия между .NET Framework и .NET Compact Framework (предназначенной для мобильных устройств ограниченной функциональности), новые возможности Web-интерфейса, которые стали доступны благодаря ASP .NET… Но все это, скорее, тема для отдельной статьи, книги, серии книг.

© ООО "Компьютерра-Онлайн", 1997-2019
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.