Chapel

| この項目では、プログラミング言語について説明しています。その他の用法については「チャペル」をご覧ください。

|

Chapel は、クレイ社によって開発されたプログラミング言語である[1]。この言語は今もなお「クレイ・カスケード・プロジェクト」として開発されている。もともと、このプロジェクトは米国国防高等研究計画局の高生産性計算機システムプロジェクトの一部だったもので、その目標は、2010年までの間にスーパーコンピューターの生産性を改善するというものであった。Chapel が狙っているのは、並列計算機、とりわけ、Cascade（カスケード）というシステムのプログラミング効率を改善することである。そのために、この言語では、既存のプログラミング言語よりも高い水準でアルゴリズムを表現することを可能にし、同時に、アルゴリズム表現とデータ構造の詳細な実装の分離性を高めている。

Chapel言語はデータやタスクの並列化や入れ子構造の並列化をする仕組みを備えている。これらは高水準のマルチスレッド並列プログラミングモデルを支援するものである。これらの仕組みによってデータの分配やデータ駆動による部分演算の割り当ては抽象化されるため、プログラム中のデータと演算の局所性の最適化が可能になっている。また、オブジェクト指向と汎用プログラミングの仕組みによって、プログラムコードの再利用と汎用化も可能である。例えば、Chapel ではロケールを宣言することができる[2]。

Chapel言語では先行する言語からアイデアを借用している。並列性に関する考え方で最も近いのは High Performance Fortran、ZPL そして Cray MTA の FORTRAN 拡張とC言語拡張である。

西暦2021年現在この言語は、Apache 2ライセンスの下、オープンソースのプロジェクトして開発が進行中である[3]。

なお、言語の名前「Chapel」は「多段高生産性言語」を意味する英語「cascade high productivity language」にちなんで名付けられたものである。

## 脚注

[編集]

1. ^ デビッド E. ライトフット 著、「Modular programming languages: 7th Joint Modular Languages Conference」、2006年、ISBN 3-540-40927-0、20ページ
2. ^ Bongen Gu; Wikuan Yu; Yoonsik Kwak (28–30 June 2011). “Communication and Computation Overlap through Task Synchronization in Multi-locale Chapel Environment”. In James J. Park, Laurence T. Yang and Changhoon Lee (ed.). Future Information Technology, Part I: 6th International Conference. ギリシャ Loutraki: シュプリンガー・フェアラーク. pp. 285–292\. ISBN 978-3-642-22332-7. 2020年9月9日閲覧.Communication+and+Computation+Overlap+through+Task+Synchronization+in+Multi-locale+Chapel+Environment&rft.btitle=Future+Information+Technology,+Part+I:+6th+International+Conference&rft.place=ギリシャ+Loutraki&rft.pages=285-292&rft.pub=シュプリンガー・フェアラーク&rft.date=2011-06-28/2011-06-30&rft.isbn=978-3-642-22332-7&rft.au=Bongen+Gu&rft.au=Wikuan+Yu&rft.au=Yoonsik+Kwak&rft_id=https://doi.org/10.1007/978-3-642-22333-4&rfr_id=info:sid/ja.wikipedia.org:Chapel" class="Z3988">`{{cite conference}}`: CS1メンテナンス: 日付のフォーマット (カテゴリ)
3. ^ Chapel License Information

## 関連項目

[編集]

* Unified Parallel C
* Fortress
* Co-array Fortran
* X10 (プログラミング言語)
* 区分化大域アドレス空間

## 外部リンク

[編集]

* 公式ウェブサイト
* 99 Bottles of Beer

* 表
* 話
* 編
* 歴

数値解析ソフトウェア

フリーウェア|

* ADMB（英語版）
* Euler
* FreeFem++
* FreeMat
* Genius（英語版）
* Gmsh
* GNU Octave
* gretl
* Julia
* Maxima
* OpenFOAM
* R
* SageMath
* SALOME（英語版）
* Scilab

プロプライエタリ|

* Chapel
* DADiSP（英語版）
* Fortress
* GAUSS（英語版）
* LabVIEW
* Maple
* Mathcad（英語版）
* Mathematica
* MATLAB
* Speakeasy（英語版）
* VisSim（英語版）
* X10

* 一覧
* 比較
* 数式処理システム
* 数式処理システムの一覧