Challenge
Vectorize code automatically. Consider the following simple loop:
|
Vectorize code automatically. Consider the following simple loop:
|
Vectorize code for greater performance. The SIMD features of Streaming SIMD Extensions (SSE), Streaming SIMD Extensions 2 (SSE2) and MMX™ technology require new methods of coding algorithms. One of them is vectorization. Vectorization is the process of transforming sequentially executing, or scalar, code into code that can execute in parallel, taking advantage of the SIMD architecture parallelism.
by George Walsh
There's really no denying that application optimization yields performance benefits. The question in each case is whether time spent optimizing and resulting performance gains is worth the development time, effort and cost. As part of his work with the Intel® software team Eric Palmer works closely with ISVs, helping to boost performance of their applications. Palmer has developed a four-step approach--it works for him, and it will work for your applications too.
During the design of the Pentium® 4 processor, Intel's design-engineering team reaped the rewards of migrating from legacy RISC*-based systems to Linux* on Intel architecture.
Design-engineering teams at Intel have achieved substantial savings in Total Cost of Ownership (TCO) by migrating to Linux on Intel® architecture from legacy UNIX* systems on RISC-based architecture. At the same time, those teams have achieved substantial productivity gains from the performance benefits associated with the migration.
Implement the LibM Math Library. The LibM library provides highly optimized scalar math functions that serve as direct replacements for the standard C calls. The LibM versions are fully accurate and do not attempt to extract algorithm-level parallelism, so they can be applied in even the most rigid coding situations.
by James Rose
Sr. Application Engineer, Intel Corporation
Core Software Division, Mobility Engineering