Новости: Доступны первые свободно распространяемые реализации интерфейса OpenMP
Доступны первые свободно распространяемые реализации интерфейса OpenMP для программирования SMP-систем
Проект OdinMP (Швеция)
5 ноября 1999 года Mats Brorsson, профессор факультета Информационных Технологий из Lund University (Швеция) через список рассылки OpenMP сообщил о доступности первой версии разработанного в этом университете пакета OdinMP.
OdinMP - это первая и единственная до сих пор бесплатная переносимая реализации интерфейса программирования OpenMP. OpenMP - хорошо стандартизованный и удобный интерфейс программирования SMP-компьютеров в парадигме общей памяти, поддерживаемый многими производителями SMP и NUMA-серверов (Sun, SGI, Compaq, Tera), а также компаниями-разработчиками коммерческих компиляторов (PGI, KAI, PSR). Однако широкое распространение OpenMP до сих пор сдерживалось отсутствием бесплатной реализации Стоит отметить, что MPICH - бесплатная реализация интерфейса MPI появилась почти одновременно с публикацией соответствующего стандарта, а с момента выхода спецификации OpenMP для Fortran прошло уже более 2 лет.
Пакет OdinMP/CCp является реализацией спецификации OpenMP для языка ANSI C и представляет собой препроцессор, который преобразует OpenMP-код в код с вызовами функций поддержки нитей (легковесных процессов) POSIX threads. Препроцессор реализован на языке Java, для его инсталляции необходимо иметь виртуальную машину Java (JDK версии 1.1 или выше) и интерпретатор языка Perl 5. В настоящее время OdinMP распространяется только в виде откомпилированных Java-классов, а также набора Perl-скриптов для вызова препроцессора.
Пакет OdinMP был успешно протестирован на платформах Intel (Linux), SGI Origin 2000 (IRIX) и Sun Enterprise 10000 (Solaris), но должен также работать и на других платформах с полной поддержкой POSIX Threads.
Пакет OdinMP разработан в рамках диссертации Кристианом Бруншеном (Christian Brunschen) из Lund University (Швеция) под руководством Матса Брорсона (Mats Brorsson).
Проект Omni OpenMP compiler (Япония)
Уже через несколько дней, 9 ноября, Mitsuhisa Sato (msato@trc.rwcp.or.jp) из Лаборатории параллельных и распределенных систем, Tsukuba Research Center (Япония) анонсировал появление разработанного там "OpenMP-компилятора" для языков C и Fortran. Пакет Omni OpenMP compiler также распространяется бесплатно и работает на платформах Solaris (через Solaris threads), Linux (Linux threads) и других с поддержкой интерфейса POSIX threads.
Пакет, разработанный в рамках проекта Omni, состоит из двух основных частей:
- C-Front/F-Front - транслятор OpenMP-кода на языках C/Fortran 77 в промежуточный формат Xobject;
- Java-классы, которые генерируют из кода в формате Xobject код на ANSI С с вызовами Solaris/Linux/POSIX threads.
Сообщается, что версия компилятора для Fortran 77 пока находится в стадии бета-тестирования и не поддерживает некоторые конструкции Fortran и OpenMP.
В пакет встроена возможность профилировки с генерацией файлов событий (log) и поставляется Java-утилита tlogview для визуализации log-файлов. В рамках данного проекта также разрабатывается реализация OpenMP в DSM-подобной среде на кластерах из SMP-узлов.
Более подробная информация:
- OdinMP (Web-страница проекта).
- Omni: RWCP OpenMP Compiler Project.
- OpenMP Design for an SMP Cluster (информация о проекте "OpenMP для кластеров").
Смотрите также:
- Технологии: Что такое OpenMP?.
- Новости: Sun включает реализацию OpenMP от KAI в состав Solaris Operating Environment.
© Лаборатория Параллельных Информационных Технологий, НИВЦ МГУ