- Home›
- Technology and Research›
- Intel Technology Journal›
- Multi-Core Software
Multi-Core Software
Methodology, Tools, and Techniques to Parallelize Large-Scale Applications: A Case Study
Knud J. Kirkegaard, Software and Solutions Group, Intel Corporation
Mohammad R. Haghighat, Software and Solutions Group, Intel Corporation
Ravi Narayanaswamy, Software and Solutions Group, Intel Corporation
Bhanu Shankar, Software and Solutions Group, Intel Corporation
Neil Faiman, Software and Solutions Group, Intel Corporation
David C. Sehr, Software and Solutions Group, Intel Corporation
Index words: multi-core, parallelism, threading, data dependence, privatization
Citations for this paper. Kirkegaard, K.; Haghighat, M.; Narayanaswamy, R.; Shankar, B.; Faiman, N.; Sehr, D. "Methodology, Tools, and Techniques to Parallelize Large-Scale Applications: A Case Study." Intel Technology Journal.
http://www.intel.com/technology/itj/2007/
v11i4/6-tools/1-abstract.htm (November 2007).
ABSTRACT
Multi-Core processors are now mainstream, while many-core architectures are arriving. Yet getting general-purpose software ready to take full advantage of the available hardware parallelism remains a challenge. There are, in fact, very few success stories of semi-automatic parallelization of large-scale integer applications outside the high-performance computing (HPC) and transaction processing domains. In this paper, we report on such a success story: threading the Intel® C++ Compiler [3] which resulted in an average 2x speedup in compiling a range of CPU2000 benchmarks. We present the methodology and tools that enabled us to achieve this success. We believe our approach is generally applicable to threading a large class of applications.
