最終更新日2012 1 29 (日本語翻訳版2013131日)

使用許諾

このディレクトリーとサブディレクトリーにあるファイルは、LICENSE_JP.txt (このファイルと同じディレクトリーにあります)に基づいて皆さんにライセンスされます。


概要

サブディレクトリー src/ には、書籍で紹介されるいくつかのサンプルコードが含まれます:

Structured Parallel Programming. (構造化並列プログラミング)
マイケル・マックール、アーク・ロビソン、ジェームス・レインダース 著作。
20127 Morgan Kaufman 出版。

特典として、このパッケージには、以下の追加コードが含まれます:


前提条件

ここでは、サンプルコードをビルドし実行するために必要な関連ソフトウェアについて説明します。

コンパイラー

サンプルコードをコンパイルするには、コンパイラーは以下の機能をサポートしている必要があります:

 

20127月現在、これらの機能をサポートするのは次のコンパイラーです:

コンパイラー

説明

インテルC++ コンパイラー 12.1 以降

推奨コンパイラーです。すべてのサンプルをコンパイルできます。

g++ 4.5.1 以降

Cilk Plus のサンプルはコンパイルできません。

gcc 4.7 ブランチCilk Plus をサポート)

すべてのサンプルをコンパイルできるはずです。

Visual Studio 2010 以降

TBB のサンプルのみをコンパイルできます。

条件付きコンパイル宣言子により、コンパイラーが処理できないコードは自動的に省かれます。

ライブラリー

サンプルコードは、タイミング計測に可搬性のあるTBB tbb::tick_count を利用するため、インテル・スレッディング・ビルディング・ブロック(TBB)が必要です。TBB は、インテル・コンパイラーに含まれる製品版とオープンソース版があります。オープンソース版はこちらからダウンロードできます。Makefile は、コンパイラーがTBBインクルードとランタイム・ライブラリーを検出できるよう環境変数が設定されていることを仮定しています。Linux Mac OS では、tbb/bin/tbbvars.sh tbb/bin/tbbvars.csh スクリプトを実行するか、source 環境を設定できます。利用しているシェルに合わせて使ってください。これらのスクリプトは、TBB にのみ影響します。

コレスキー分解の例では、BLAS基本線型代数サブルーチン)が必要です。詳細はこちらを参照ください。

その他のツール

Linux Mac OS システムでは、ほかの前提条件があります。Windows で利用する場合、幾つかのツールを入手する必要があります:

GNU make

Makefile を利用してサンプルをビルドする場合、GNU make が必要です。

Python

すべてのサンプルをビルドするため、トップレベルでMakefileを実行する際に必要です。個別のサンプルをビルドする場合は、必要ありません。


ビルドと実行

: タイミング計測の実行コードは、1つの特定の種類のデータ分析を測定します。そのため、タイミングは他の状況を示すものではありません。

Makefile の使い方

提供されるMakefile は、LinuxMac OS そしてWindows で利用できます。Makefile で使用するコンパイラー・オプションなどはconfig/config.incで設定されています。このファイルの先頭付近にCPLUSを設定する行があります。利用するコンパイラー(icpcg++iclclに適合する行のコメントを削除してください。

トップレベルにあるMakefile は、すべてのサンプルに適用されます。サポートされる機能は以下の通りです:

コマンド

説明

make run

すべてのサンプルを実行。まだビルドされていなければ、ビルドを行います。

make build

すべてのサンプルをビルドします。

make clean

すべてのバイナリーとオブジェクトを削除します。

コマンドの使い他の例です。プロジェクト foo (実際にはありませんが)のビルド例です:

  1. cd  src/foo/build/
  2. make 

Windows Visual Studio 2010 ソリューションを利用する

マイクロソフトWindows環境では、Makefile Visual Studio 2010 ソリューションのどちらも利用できます。Makefile の利用方法は前の説明を参照してください。

Visual Studio 2010 ソリューションを利用するには、インテル C++ XE 2011 (12.1) 以降がインストールされていることを想定しています。例えば、プロジェクト foo をビルドして実行するには、src\foo\msvs\test_foo.sln ソリューション・ファイルを開きます。TBB のインストール先を変更する必要がある場合、config\msvs.prop ファイル内の TBB_ROOT 環境変数を変更してください。


ファイルとサブディレクトリー

src/

ソースファイル

tools/

すべてをmake するためのPython スクリプト

config/config.inc

Makefile で使用される設定ファイル

LICENSE_JP.txt

このディレクトリーとサブディレクトリーのすべてのファイルに適用されるライセンス


既知の問題