スレッド化についての理解を深めるために、次の書籍を読むことを推奨します。各書籍では、特定のプログラミング・テクノロジーを説明することにより、並列化プログラミングの一般的な基本概念について説明しています。
インテル® スレッディング・ビルディング・ ブロック (インテル® TBB)
Reinders, James 著、『Intel Threading Building Blocks: Outfitting C++ for Multi-core Processor Parallelism』。O'Reilly 刊、July 2007
http://oreilly.com/catalog/9780596514808/
OpenMP* テクノロジー
Barbara Chapman、Gabriele Jost、Ruud van der Pas、David J. Kuck (序文) 著、『Using OpenMP: Portable Shared Memory Parallel Programming』。MIT Press 刊、October 2007
http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&tid=11387
次に示すインテルのドキュメントは、インテル® C++ コンパイラー、インテル® アーキテクチャー、インテル® プロセッサー、またはツールに関する情報を提供します。
『FLEXlm* ライセンス・マネージャーの使用』
『Intel® 64 and IA-32 Architectures Software Developer's Manual, Volume 1: Basic Architecture』。 Intel Corporation。
『Intel® 64 and IA-32 Architectures Software Developer's Manual, Volume 2A: Instruction Set Reference, A-M』。 Intel Corporation。
『Intel® 64 and IA-32 Architectures Software Developer's Manual, Volume 2B: Instruction Set Reference, N-Z』。 Intel Corporation。
『Intel® 64 and IA-32 Architectures Software Developer's Manual, Volume 3A: System Programming Guide』。 Intel Corporation。
『Intel® 64 and IA-32 Architectures Software Developer's Manual, Volume 3B: System Programming Guide』。 Intel Corporation。
『Intel® 64 and IA-32 Architectures Optimization Reference Manual』
『Intel® Itanium® Architecture Software Developer's Manual - Volume 1: Application Architecture, Revision 2.2』
『Intel® Itanium® Architecture Software Developer's Manual - Volume 2: System Architecture, Revision 2.2』
『Intel® Itanium® Architecture Software Developer's Manual - Volume 3: Instruction Set Reference, Revision 2.2』
『Intel® Processor Identification with the CPUID Instruction』。 Intel Corporation、資料番号 241618。
『IA-64 Architecture Assembler User's Guide』
『IA-64 Architecture Assembly Language Reference Guide』
インテルのほとんどの資料は、インテルの Web サイト (http://www.intel.co.jp/jp/software/products/) から入手できます。
以下の資料は、最適化とベクトル化の基本的な用語と技術を理解する上で参考になります。
『Intel® Architecture Optimization Reference Manual』
『Dependence Analysis』。 Utpal Banerjee 著 (コンパイラーの再構築のためのループ変換に関するシリーズ)、Kluwer Academic Publishers 刊、1997 年。
『The Structure of Computers and Computation: Volume I』。 David J. Kuck 著、John Wiley and Sons 刊、New York、1978 年。
『Loop Transformations for Restructuring Compilers: The Foundations』。 Utpal Banerjee 著 (コンパイラーの再構築のためのループ変換に関するシリーズ)、Kluwer Academic Publishers 刊、1993 年。
『Loop parallelization』。 Utpal Banerjee 著 (コンパイラーの再構築のためのループ変換に関するシリーズ)、Kluwer Academic Publishers 刊、1994 年。
『High Performance Compilers for Parallel Computers』。 Michael J. Wolfe 著、Addison-Wesley 刊、Redwood City、1996 年。
『Supercompilers for Parallel and Vector Computers』。 H. Zima 著、ACM Press 刊、New York、1990 年。
『An Auto-vectorizing Compiler for the Intel® Architecture』。 Aart Bik、Paul Grey、Milind Girkar、Xinmin Tian 著。出版予定。
『Efficient Exploitation of Parallelism on Pentium® III and Pentium® 4 Processor-Based Systems』。 Aart Bik、Milind Girkar、Paul Grey、Xinmin Tian 著。
『The Software Vectorization Handbook. Applying Multimedia Extensions for Maximum Performance』。 A.J.C. Bik 著、Intel Press、2004 年 6 月。
『Multi-Core Programming: Increasing Performance through Software Multithreading』。 Shameem Akhter、Jason Roberts 著、Intel Press、2006 年 4 月。
インテル® コンパイラーに関するホワイトペーパーを含めた技術的な製品情報については、次のサイトの製品に関連したページを参照してください。http://www.intel.co.jp/jp/software/products/