NESL とは

NESLは、SCandALプロジェクトによってCarnegie Mellonで開発されたパラレルプログラミング言語であり、1993年にリリースされました。並列アルゴリズム、関数型プログラミングおよび配列プログラミング言語のさまざまなアイデアを統合しています。
NESLの背後にある最も重要な新しいアイデアは、
 ネストされたデータの並列処理:この機能は、データの並列処理の利点を提供します。簡潔でわかりやすいコードで、ツリー、グラフ、疎行列などの不規則なアルゴリズムに適しています。言語ベースのパフォーマンスモデル:プログラムの作業と深みを計算する正式な方法を提供します。これらの尺度は、並列マシンでの実行時間に関連する可能性があります。
NESLの主な設計ガイドラインは、並列プログラミングを容易かつ移植性の高いものにすることでした。アルゴリズムは、他のほとんどの並列プログラミング言語よりもNESLの方がはるかに簡潔であり、コードは高水準の擬似コードに非常に似ています。
NESLは、フラット変換を使用してネストされたデータのパラレル化をサポートし、ネストされたデータのパラレル化をフラットなデータのパラレル化に変換します。これは、入れ子にされたベクトルを入れ子にしたデータとベクトル長のセグメント記述子として別々に格納することによって機能します。しかし、この平坦化変換は、元のプログラムの漸近的な作業と空間の複雑さを増やすことになり、効率の低い結果につながります。