Unified Parallel C

Unified Parallel C (UPC)
パラダイム 並列計算メッセージパッシング命令形手続き型言語)、構造化プログラミング
登場時期 2002年5月15日 (22年前) (2002-05-15)
設計者 UPC協会
最新リリース 2021.4.0/ 2021年4月16日 (3年前) (2021-04-16)
型付け 弱い静的型付け
主な処理系 GNU UPCIBM XL UPC CompilersHP UPCBerkeley UPCMichigan Tech MuPCCray UPC
影響を受けた言語 C言語AC[要曖昧さ回避]Split-CParallel 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 言語には、共有メモリーパラダイムのプログラミング上の利点や、メッセージパッシングパラダイムによるデータレイアウトの制御と性能の制御に関するプログラミング上の利点も生かされている。

関連項目

外部リンク

  • upc-lang.org
  • UPC at GWU
  • Programming in the Partitioned Global Address Space Model (ビル・カールソン、タレク・エルガザウィ、ロベルト・ヌームリヒ、カシー・イェーリック 共著、PDFファイル)
  • ParC
  • K&R
  • ANSI C
    • C89
    • C90
  • C99
  • C11
  • C17(英語版)
  • C2x(英語版)
  • Embedded C(英語版)
  • MISRA C
Cの機能
  • 関数
  • ヘッダファイル
  • 演算子
  • 文字列(英語版)
  • 文法(英語版)
  • プリプロセッサ(英語版)
  • データ型(英語版)
  • キーワード
  • フリースタンディング環境
  • 標準Cライブラリの関数
    • ctype.h(英語版)
    • stdio.h
    • math.h(英語版)
    • stdlib.h(英語版)
    • string.h(英語版)
    • time.h
    • stdarg.h(英語版)
    • POSIXライブラリ(英語版)
    標準Cライブラリ
    コンパイラ
    統合開発環境
    派生言語
    関連項目
    • カテゴリ カテゴリ
    総論
    並列レベル
    スレッド
    理論
    要素
    • スレッド
    • ファイバー
    • プロセス
    • PRAM
    • Instruction window(英語版)
    調整
    プログラミング
    ハードウェア
    API
    問題
    • en:Embarrassingly parallel
    • en:Grand Challenge
    • en:Software lockout
    • 並行計算
    • カテゴリ:並行計算
    • カテゴリ:並列コンピューティング
    典拠管理データベース: 国立図書館 ウィキデータを編集
    • イスラエル
    • アメリカ