You are strongly encouraged to read the following books for in-depth understanding of threading. Each book discusses general concepts of parallel programming by explaining a particular programming technology:
Intel® Threading Building Blocks
Reinders, James. Intel Threading Building Blocks: Outfitting C++ for Multi-core Processor Parallelism. O'Reilly, July 2007
See http://oreilly.com/catalog/9780596514808/
OpenMP* technology
Chapman, Barbara, Gabriele Jost, Ruud van der Pas, and David J. Kuck (foreword). Using OpenMP: Portable Shared Memory Parallel Programming. MIT Press, October 2007
See http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&tid=11387
The following Intel documents provide additional information about the Intel® C++ Compiler, Intel® architecture, Intel® processors, or tools:
Using the Intel® License Manager for 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, doc. number 241618
IA-64 Architecture Assembler User's Guide
IA-64 Architecture Assembly Language Reference Guide
Most Intel documents can be found at the Intel web site http://www.intel.com/software/products/
The following documents provide details on basic optimization and vectorization terminology and technology:
Intel® Architecture Optimization Reference Manual
Dependence Analysis, Utpal Banerjee (A Book Series on Loop Transformations for Restructuring Compilers). 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 (A Book Series on Loop Transformations for Restructuring Compilers). Kluwer Academic Publishers. 1993.
Loop parallelization, Utpal Banerjee (A Book Series on Loop Transformations for Restructuring Compilers). 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, and Xinmin Tian. Submitted for publication
Efficient Exploitation of Parallelism on Pentium® III and Pentium® 4 Processor-Based Systems, Aart Bik, Milind Girkar, Paul Grey, and Xinmin Tian.
The Software Vectorization Handbook. Applying Multimedia Extensions for Maximum Performance, A.J.C. Bik. Intel Press, June, 2004.
Multi-Core Programming: Increasing Performance through Software Multithreading, Shameem Akhter and Jason Roberts. Intel Press, April, 2006.
For additional technical product information including white papers about Intel compilers, open the page associated with your product at http://www.intel.com/software/products/
Copyright © 1996-2010, Intel Corporation. All rights reserved.