Введение

ZPL (сокращение от Z level Programming Language) — это язык программирования, основанный на работе с массивами, разработанный для замены языков программирования C и C++ в инженерных и научных приложениях. Поскольку целью разработки была достижение высокой производительности на различных платформах, программы ZPL быстро выполняются как на последовательных, так и на параллельных компьютерах. Высокопараллельные программы на ZPL просты и удобны в написании, поскольку в них используется исключительно неявный параллелизм. Изначально называвшийся Orca C, ZPL был разработан и реализован в 1993–1995 годах проектом Orca факультета компьютерных наук и инженерии Вашингтонского университета.

Подробности

ZPL использует абстракцию массивов для реализации модели параллельного программирования данных. Именно поэтому ZPL достигает такой высокой производительности: не используя параллельные директивы или другие формы явного параллелизма, ZPL использует свойство, заключающееся в том, что при описании агрегированных вычислений в терминах массивов необходимо (неявно) выполнить множество скалярных операций для реализации операций с массивами. Эти подразумеваемые вычисления могут быть автоматически распределены между различными процессорами для достижения параллелизма: параллелизм возникает из семантики операций с массивами. ZPL преобразуется в стандартное абстрактное синтаксическое дерево, на котором выполняются анализ и оптимизация программы. ANSI C код генерируется в качестве объектного кода. Эта программа на языке C (не зависящая от конкретной машины, поскольку реализует определенные операции в абстрактной форме) затем компилируется с использованием нативного C-компилятора на целевой машине с использованием специализированных библиотек, оптимизированных для конкретной платформы. Создателями ZPL были: Брэд Чемберлен, Сун Юн Чои, Э. Кристофер Льюис, Кальвин Лин, Джейсон Секоски, Ларри Снайдер и В. Деррик Уэзерсби, при поддержке Рут Андерсон, А. Дж. Бернхайма, Мариоса Дикайакоса, Джорджа Формана и Курта Партриджа. Активный статус проекта ZPL вызывает вопросы; последняя запись в разделе "Что нового" на главной странице официального веб-сайта датирована 9 января 2005 года.