FAQ Parallel Programming And Multi-Core Enabling

Submit New Article

Last Modified On :   May 15, 2009 3:41 PM PDT
Rate
 


Q - How do I get started Parallel Programming And Multi-Core Enabling?

 

A - We've organized a list of our best getting started documents on the page

http://software.intel.com/en-us/articles/getting-started-with-parallel-programming-for-multi-core/

 

Q - If I only have time to read one paper to get me started on Parallel Programming which one should it be?

 

A - Read "8 Simple Rules for Designing Threaded Applications" by Dr. Clay Breshears. This article gives 8 Simple Rules that you can add to your palette of threading design methods. By following these rules you will have more success in writing the best and most efficient threaded implementation of your applications.

http://software.intel.com/en-us/articles/8-simple-rules-for-designing-threaded-applications/

 

Q - Where do I get support for threading and parallel programming questions?

 

A - Our enabling engineers, Intel tools support team and outside professions monitor our discussion forums. Please post your questions here:

http://software.intel.com/en-us/forums/threading-on-intel-parallel-architectures/

 

Q - How do I get more involved with the parallel programming community on the Intel Software Network?

 

A - I'd start by reading the discussions on the Threading on Intel Parallel Architectures forum and joining in the discussion.

http://software.intel.com/en-us/forums/threading-on-intel-parallel-architectures/

Another good place to engege in the ongoing online conversation is the multi-core blog where Intel engineers and guest community members post there thoughts on a wide verity of multi-core and parallel programming issues.

http://software.intel.com/en-us/blogs/category/multi-core/

 

Q - Where can I get information about developing software for Intel Core i7 and Intel Xeon 5500 series (Nehalem) processors?

 

A - Intel's newest processors offer multiple cores, Intel Hyper-threading, SSE4.2, multi-level caches & dynamic power management. You can learn more about developing software for these new capabilities and download a software development kit at:

http://software.intel.com/en-us/articles/intel-next-generation-intel-core-i7-processor-family-sdk/

 

Q - Do you have a free application that can help me detected how concurrently my application executes?

 

A - The Intel software network offers a free concurrency checking utility. To learn more and download the tool goto:

http://software.intel.com/en-us/articles/intel-concurrency-checker-icchecker-10/

 

Q - How do I detect the number of cores on my system?

 

A - Intel offers an API to detect IA-32 and x64 Platform CPU Characteristics including Hyper-Threading Technology, instruction set extensions like Streaming SIMD Extensions 2 (SSE2), and the processor's cache configuration. You can learn more about the api and download the source code online at:

http://software.intel.com/en-us/articles/api-detects-ia-32-and-x64-platform-cpu-characteristics/

 

Q - Do you have some recommended books that I can read to get started?

 

A - We work to keep an updated list of technical books on parallel programming at:

http://software.intel.com/en-us/articles/technical-books-for-multi-core-software-developers/

 

Q - Where can I go for training on parallel programming and concurrent application development?

 

A - We've set up a place to get your started with learning how to develop parallel programs and concurrent applications:

http://software.intel.com/en-us/developertraining/

 

Q - How do I get started using OpenMP?

 

A - We have a great white paper that covers the basics of getting started with OpenMP?

http://software.intel.com/en-us/articles/getting-started-with-openmp/

 

Q - I'm a Java developer. How do I get started?

 

A - The Java* Resource Center is a collection of resources to help you optimize your Java applications for Intel Architecture.

http://software.intel.com/en-us/articles/java-resources/

For more information on Java, see www.java.com.

 

Q - Where do I go to get a list of all the parallel programming technical terms?

 

A - We've compiled a list of commonly used parallel programming technical terms for you to reference:

http://software.intel.com/en-us/blogs/2008/05/27/parallel-programming-glossary-of-technical-terms/

 

Q - What tools, code and information do you have for Game developers?

 

A - We would recommend that you check out the Smoke Game Technology Demo, a free download with source code. Smoke is a framework to support n-way threading of game technologies for more accurate physics, smarter AI, more particles, and/or a faster frame-rate.

http://software.intel.com/en-us/articles/smoke-game-technology-demo/

 

Q - What libraries and template do you offer for parallel application development?

 

A - Intel® Threading Building Blocks (TBB) offers a rich and complete approach to expressing parallelism in a C++ program. It is a library that helps you take advantage of multi-core processor performance without having to be a threading expert. Threading Building Blocks is not just a threads-replacement library. It represents a higher-level, task-based parallelism that abstracts platform details and threading mechanism for performance and scalability and performance.

http://www.threadingbuildingblocks.org/

 

Intel® Integrated Performance Primitives (Intel® IPP) is an extensive library of multicore-ready, highly optimized software functions for digital media and data-processing applications. Intel IPP offers thousands of optimized functions covering frequently-used fundamental algorithms. Intel IPP functions are designed to deliver performance beyond what optimized compilers alone can deliver.

http://software.intel.com/en-us/intel-ipp/

 

Intel® Math Kernel Library (Intel® MKL) is a library of highly optimized, extensively threaded math routines for science, engineering, and financial applications that require maximum performance. Core math functions include BLAS, LAPACK, ScaLAPACK, Sparse Solvers, Fast Fourier Transforms, Vector Math, and more. Offering performance optimizations for Intel next-generation microarchitecture, it includes improved integration with Microsoft Visual Studio*, Eclipse*, and XCode*. Intel MKL allows for full integration of the Intel Compatability OpenMP* run-time library for greater Windows*/Linux* cross-platform compatibility.

http://software.intel.com/en-us/intel-mkl/