Unified Parallel C (UPC)
パラダイム 並列計算メッセージパッシング命令形手続き型言語)、構造化プログラミング
登場時期 2002年5月15日 (24年前) (2002-05-15)
設計者 UPC協会
最新リリース 2021.4.0/ 2021年4月16日 (5年前) (2021-04-16)
型付け 弱い静的型付け
主な処理系 GNU UPCIBM XL UPC CompilersHP UPCBerkeley UPCMichigan Tech MuPCCray UPC
影響を受けた言語 C言語、AC、Split-C、Parallel C Preprocessor
プラットフォーム クロスプラットフォーム
ウェブサイト upc-lang.org
テンプレートを表示

Unified Parallel CUPC は大規模な並列計算機上での高性能計算向けにC言語を拡張して作られたプログラミング言語である。これには、共有大域アドレス空間(対称型マルチプロセッシングNUMA)を伴うものと、クラスターなどの分散メモリーを伴うものが含まれる。プログラマーには共有された単一の区分化アドレス空間を割り当てられる。変数はどのプロセッサーからでも直接に読み書きできるが、いずれの変数も物理的にはどれかひとつのプロセッサーに関連づいている。UPC は SPMD モデルを使う。このモデルでは全ての並列性がプログラム実行開始時点で固定化される。大抵は一つのプロセッサーに一つのスレッドを割り当てられる。

並列性を表現するために、UPC は C99 を以下の機構について拡張してある。

  • 明示的な並列実行モデル
  • 共有アドレス空間
  • 同期の基本動作とメモリー整合モデル
  • メモリー管理の基本動作

UPC 言語は並列性の機構について C99 を拡張してつくられた先行する3つの言語(AC、Split-CParallel C Preprocessor)で得られた知見をもとに進化させた言語である。UPC 言語はこれら3つの言語の上位言語ではないが、 それぞれの優れた特徴を抽出して作られた。UPC 言語には、共有メモリーパラダイムのプログラミング上の利点や、メッセージパッシングパラダイムによるデータレイアウトの制御と性能の制御に関するプログラミング上の利点も生かされている。

関連項目

編集

外部リンク

編集

📚 Artikel Terkait di Wikipedia

プロセス間通信

Markatos, E. Wisniewski, R. Using communication-to-computation ratio in parallel program designand performance prediction 1–4 December 1992. pp. 238–245

OpenCL

Group 2020年6月30日 ^ Intel、新プログラミング言語「Data Parallel C++」β版公開 マイナビ 2019年11月21日 ^ Data Parallel C++: Programming Accelerated Systems Using C++ and SYCL, Springer

ビジュアルプログラミング言語

Visual Parallel Programming System ^ KSKP | 「KSKP」は、「誰もが当たり前にデータ分析・活用ができる社会」の実現に向けて、KSKアナリティクスが独自開発したデータ分析プラットフォームです。 ^ The Lava Programming Environment

アクターモデル

Intelligence Programming Languages. SIGPLAN Notices 12, August 1977. Gilles Kahn and David MacQueen. Coroutines and networks of parallel processes IFIP

進化的計算

Computation Conference (GECCO) IEEE Congress on Evolutionary Computation (CEC) Parallel Problem Solving from Nature (PPSN) The Foundations of Genetic Algorithms

Apache Beam

“FlumeJava: Easy, Efficient Data-parallel Pipelines”. Proceedings of the 31st ACM SIGPLAN Conference on Programming Language Design and Implementation

並行制約プログラミング

Constraint Logic Programming: A Survey ^ van Emden, M. H., and de Lucena, G. J. Predicate logic as a language for parallel programming ^ Shapiro, E. A

INTLAB

challenge の求解 INTLABが引用している主な文献一覧はContents.mに掲載されている。 S.M. Rump: Fast and Parallel Interval Arithmetic, en:BIT Numerical Mathematics 39(3), 539-560, 1999