Paradigm | Объектно-ориентированный. Глобальное адресное пространство с разделами. Параллельное программирование |
---|---|
Разработано Авторы | Дэвид Каллахан, Ханс Зима, Брэд Чемберлен, Джон Плевяк |
Разработчик | Cray Inc. |
Первое появление | 2009 (2009) |
Стабильный выпуск | 1.20 / 19 сентября 2019 г.; 12 месяцев назад (19.09.2019) |
Дисциплина ввода | статическая. предполагаемая |
Платформа | многоплатформенная |
OS | Mac OS, Linux, POSIX, Windows (с Cygwin) |
Лицензия | Apache 2 |
Расширения имен файлов | .chpl |
Веб-сайт | chapel-lang.org |
Под влиянием | |
Ada, C#,C, Fortran, C ++, Java, HPF, ZPL, Cray MTA / XMT расширения для C и Fortran. |
Chapel, Cascade High Productivity Language, это язык параллельного программирования, разработанный Cray. Он разрабатывается в рамках проекта Cray Cascade, участника программы DARPA High Productivity Computing Systems (HPCS), целью которой было увеличение количества суперкомпьютеров 71>к 2010 году. Он разрабатывается как проект с открытым исходным кодом в рамках версии 2 лицензии Apache.
Chapel стремится улучшить программируемость параллельных компьютеров в целом и система Cascade в частности, обеспечивая более высокий уровень выражения, чем это делают существующие языки программирования, и улучшая разделение между алгоритмическим выражением и структурой данных деталями реализации.
Разработчики языка стремятся, чтобы Чапел преодолел разрыв между нынешними практиками программирования HPC, которых они описывают как пользователей Fortran, C или C ++, пишущих процедурный код с использованием таких технологий, как OpenMP и MPI с одной стороны, и недавно окончившие компьютерные программисты, которые предпочитают Java, Python или Matlab, только некоторые из них имеют опыт работы с C ++ или C. Chapel должен предложить производительность усовершенствования, предлагаемые последним набором языков, не отталкивая пользователей первого.
Chapel поддерживает многопоточную модель параллельного программирования на высоком уровне, поддерживая абстракции для параллелизма данных, параллелизма задач и. Он обеспечивает оптимизацию вычислений в программе с помощью абстракций для распределения данных и управляемого данными размещения подвычислений. Это позволяет повторно использовать код и сделать его универсальным за счет объектно-ориентированных концепций и общих функций программирования. Например, Chapel позволяет объявлять locales.
Хотя Chapel заимствует концепции из многих предшествующих языков, его параллельные концепции наиболее близко основаны на идеях из High Performance Fortran (HPF), ZPL и расширения Cray MTA для Fortran и C.