本文へジャンプ

Programming Language X10


X10とは?

X10は,IBM Researchが開発している新しい並列分散プログラミング言語で,米DARPAHPCS (High Productivity Computing Systems)プログラムに基づくIBMのPERCS (Productive Easy-to-use Reliable Computer Systems)プロジェクトの一部です.PERCSプロジェクトは,先進的なチップ技術,アーキテクチャ,OS,コンパイラ,プログラミング言語,ツールなどを統合し,ハードウェアとソフトウェアを総合的にデザインすることで,並列アプリケーションの生産性を向上させることを目標としており,そのために,X10は新しいプログラミングモデルとEclipseに統合された開発ツール群を提供します.

X10は型安全で近代的なオブジェクト指向言語で,マルチコアSMPチップやGPGPUなどが相互接続されたヘテロな並列分散環境に対するスケーラブルなプログラミングを可能としています.X10はいわゆるPGAS (Partitioned Global Address Space)を採用している言語族の一員であり,複数の「プレース」にまたがった配列などのデータ構造を扱えます.さらに,オブジェクトがどのプレースに存在するかを考慮したプログラミングのための「at」,軽量な並列アクティビティを生成するための「async」,同期的実行のための「atomic」や「clocked」などの構文を提供しています.

なお,X10の開発はオープンソースプロジェクトとして行われており,その成果はhttp://x10-lang.org/からアクセスできます.メーリングリストなどを通じたサポートも行われています.

X10レクチャー 資料 (2011/10)

(2011/10/19)
東京大学大学院工学系研究科 「融合情報学特別講義U」 で行った2時間弱の講義の資料(日本語)とサンプルコードです. 現時点での最新リリースである X10 2.2.1 に基づいています.
Attached are materials used in "Special Lecture on Frontier Informatics II" at the University of Tokyo, based on X10 2.2.1.

※ 資料の内容はレクチャー時点(2011/10/19)のものです.

X10の解説記事 (2011/03)

(2011/03/17)
X10の日本語解説記事が
「情報処理」2011年3月号 に掲載されました. X10 2.1.2 に基づいています.
Here is an X10 explanation article in Japanese and sample codes, based on X10 2.1.2.

※ サンプルプログラムをX10 2.2.1対応に修正したものが ここ(ZIP) にあります (2011/10/19).


(2011/01/25)
X10の日本語解説を用意しました. X10 2.1.1に基づいています.
Attached is an X10 explanation report in Japanese, based on X10 2.1.1.

X10セミナー 資料 (2010/09)

(2010/09/12)
日本ソフトウェア科学会 プログラミング論研究会主催 「PPLサマースクール2010」 で行った「プログラミング言語X10」セミナーの資料(日本語)です. このセミナーでは,X10の設計思想や位置づけに加え,特徴的な構文についても使用例をまじえつつ解説を行いました. 資料の内容は, X10 2.0.6 に基づいています.
Attached are materials used in a seminar "Programming Language X10" in PPL Summer School 2010.

※ 資料の内容はセミナー時点(2010/09/12)のものです.


(2010/11/03)
X10の新リリースである 2.1では, 言語仕様の一部変更により上のサンプルプログラムはそのままでは動きません. X10 2.1で動くように修正したものを用意しましたのでご利用ください.
Attached are X10 sample programs modified for X10 2.1.