4

"Unified Parallel C" で書かれたコードの例はどこにありますか?

また、この言語に関する規範的なドキュメント (標準、リファレンス マニュアル、オンラインでアクセス可能な書籍やコース) にも興味があります。UPC を取得するために C に追加された拡張機能は?

この方言は生きているのか、それとも死んでいるのか?

4

3 に答える 3

3

UPC は、カリフォルニア大学バークレー校の研究プロジェクトとして現在も存続しており、研究グループに関連する高性能コンピューティング施設や国立研究所で使用されている可能性があります。2009 年 11 月にリリースされた最新バージョンは、こちらから入手できます。ドキュメント、サンプル コードなどは、こちらから入手できます。言語仕様はこちらです。C99 構文の上には、スレッドとスレッド間通信をファーストクラスのエンティティとしてサポートするための多くの拡張機能があります (おそらく「ファースト クラス」の厳密な意味ではありませんが、不透明なライブラリを呼び出す C よりも確かにそうです)。同期と通信を行うため)。

一部の地域では、UPC がまだ使用されています。私は専門家ではありませんが、UPC を使用して言えることは、GCC ベースのコンパイラ、ランタイム、およびネットワーク スタック上で実行されるメッセージング層 GASNet で構成されていることです。これらは、 UPC のようなものが必要なタイプのマシンで比較的よくサポートされているようです。大規模な開発者コミュニティとは言えませんが、大規模な並列マシンを管理している場合は、試してみる価値があります。ラップトップ、デスクトップ、またはサーバー ボックスで動作するものだけが必要な場合は、商用サポートやツールなどを備えたさまざまな並列プログラミング モデルがあります。

于 2010-03-09T00:54:30.393 に答える
2

バークレーUPCランタイムベースのUPC実装以外:

BerkleyUPC -to-Cトランスレータhttp://upc.lbl.gov/download/source.shtml およびgcc-upchttp ://www.gccupc.org

HPh30097.www3.hp.com/upc/およびCrayによる独自のコンパイラもあります。

CrayバージョンとHPUPCバージョンの両方に進捗保証があると思いますが、Berkleyから派生したバージョンにはありません(つまり、スピンロックスタイルのコードを作成する場合は、bupc_relaxを明示的に呼び出して、ランタイムを歳差運動させる必要があります。あなたはループから外れています)

于 2010-06-18T13:19:28.137 に答える
2

UPC は、HPC コミュニティで今も健在です。

言語/ライブラリ仕様の新しい 1.3 バージョンは 2013 年 11 月にリリースされ、次の場所から入手できます。

https://upc-lang.org/upc-documentation

主要な UPC コンパイラには、1.3 準拠のバージョンが既に (またはまもなく) リリースされています。

UPC 仕様は C99 との「差分」として記述されているため、何が追加されたかを簡単に確認できます。大まかに言えば、PGAS メモリ モデルと言語レベルの SPMD スレッド化に対応するために、言語的にはいくつかの新しいキーワードと型システムへのいくつかの拡張です。また、UPC アプリケーションで一般的な HPC のニーズをサポートするための大規模な (そして増加している) ライブラリ セットもあります。

UPC に関する詳細情報は、次の場所にあります。

http://upc.lbl.gov/

ここでは、さまざまなシステムで動作する無料のオープン ソース コンパイラをダウンロードできます。ランタイム ソースのダウンロードには、UPC サンプル プログラム、ベンチマーク、およびテスト スイートのライブラリが含まれています。

于 2014-04-13T06:06:28.350 に答える