Описание тега chapel
Chapel, язык Cascade High Productivity, - это язык параллельного программирования, разработанный Cray Inc. Chapel направлен на улучшение программируемости параллельных компьютеров, обеспечивая более высокий уровень выражения, чем существующие языки программирования, и улучшая разделение между алгоритмическим выражением и детали реализации структуры данных.
Для изучения и для легкого экспериментирования с языком Chapel уже существует пара экосистем для онлайн-программирования и выполнения кода, готовых к использованию как для продуктивного изучения языка на примерах, так и для первых экспериментов, как доступных, так и поддерживаемых. онлайн - один доступен в Try-it-Online https://tio.run/ или другой в Cyber-Dojo.org https://cyber-dojo.org/, поэтому не нужно ждать новый суперкомпьютер Cray доставляется или решает самостоятельно все этапы установки и настройки перед запуском и расширением любого первого параллельного "Hello World!" - и начинаем учиться на примерах.
Chapel поддерживает модель многопоточного параллельного программирования на высоком уровне, поддерживая абстракции для параллелизма данных, параллелизма задач и вложенного параллелизма. Он позволяет оптимизировать локальность данных и вычислений в программе с помощью абстракций для распределения данных и размещения подвычислений на основе данных. Это позволяет повторно использовать код и сделать его универсальным за счет объектно-ориентированных концепций и общих функций программирования. Например, Chapel позволяет объявлять локали и позволяет использовать явные синтаксические конструкторы, чтобы направлять части вычислений, которые будут выполняться в соответствующих экземплярах локали.
Языковая среда Chapel также предоставляет инструменты для изучения и мониторинга факторов производительности во время выполнения распределенного вычислительного процесса, который выполняется в многоузловой физической вычислительной инфраструктуре.
https://stackru.com/images/319a0b5cae2e3fd4075935cec2489b33fdc8f6be.png
Хотя Chapel заимствует концепции из многих предшествующих языков, его параллельные концепции наиболее близко основаны на идеях из High Performance Fortran (HPF), ZPL и расширений Cray MTA для Fortran и C. Спецификация и документация языка поддерживаются здесь.
Chapel разрабатывается как проект с открытым исходным кодом, размещенный на GitHub под лицензией Apache.
Слайды недавней ежегодной конференции CHIUW 2019, показывающие достижения Chapel, преимущества в производительности по сравнению с MPI-кодом, текущее состояние вычислений Chapel-on-GPU/NUMA, а также перспективы на 2018-2021 гг.