Historically, the conventional means of boosting processor performance has been to increase clock speed. Today the industry is leaping ahead with a new paradigm that delivers dramatic performance gains by employing multiple execution cores in each processor package. Concurrently, on the software side, parallelism has also become essential to getting the best possible performance out of this new generation of multi-core processors. You can take full advantage of parallelism by threading your software now with tools that simplify getting it done right the first time.
Learn more about parallelism, threading, and multi-core hardware
To take full advantage of multi-core processors, software needs to be able to distribute the work to multiple threads. Each thread executes separately on its own core so work is done in parallel. Parallel programming introduces great opportunities for expanding application performance along with some unique challenges. Our products are specifically designed to reduce the complexities of threading while shortening the path to realizing the tremendous opportunities.
By using the full complement of Intel® Software Development Products, you can prepare your applications to scale as Intel increases performance geometrically with 2, 4, 8, 16 execution cores and beyond while helping you to identify issues specific to threading such as deadlocks and latent data races.
Whether referred to as software threading, concurrency, or parallelism, Intel's full line of Software Development Products work together right out-of-the-box to provide solutions for Windows*, Linux*, or Mac OS* application development that dramatically simplify the introduction of threading into your software and help unleash the full potential of multi-core processing.
Intel® Compilers can automatically introduce threading into software. Compiler settings enable rich control over the use of industry-standard threading techniques such as OpenMP* and the automatic introduction of threading with auto-parallelization. This threading support makes the Intel Compilers a sound choice for threading efforts, enabling extremely high performance.
VTune™ Analyzers identify sections of code that are good candidates for parallelization by identifying performance bottlenecks in multi-core sharing of the bus and cache and help optimize cache-line usage.
Intel® Performance Libraries provide very highly tuned software functions for math and multimedia applications that can simplify adding parallelism to applications. Many of these functions are pre-threaded, and all are thread-safe, making them well suited to implementation in threaded software.
Intel® Threading Analysis Tools help you create correct code by vastly simplify the debugging and performance optimization of threaded code. Intel® Thread Checker includes a patented advanced error detection engine that identifies latent data races and deadlocks. Intel® Thread Profiler gives you precise insight into threaded code so you can fine-tune threading behavior.
Intel® Cluster Tools help you can efficiently build scalable parallel MPI applications that can execute across multiple network architectures while easily collecting trace information so you can analyze runtime behavior in detail.