Новости: Доступны первые свободно распространяемые реализации интерфейса 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-узлов.

Более подробная информация:

Смотрите также:


© Лаборатория Параллельных Информационных Технологий, НИВЦ МГУ Rambler's Top100