After successfully porting software to Intel architecture and ensuring that the code executes correctly on one Intel architecture core (part one, detailed on the previous page in steps 1-3), part two of the conversion process is to apply multi-core software design updates and optimize the code for power and multi-core Intel architecture performance. The steps below are required only if adopting Intel® technologies.
Goal: Ensure target design adopts benefits from multi-core capabilities.
Guidance: Some architecture migrations may start from a serial designed code base. The target software design should identify and implement the solution to meet the migration requirements. Adding parallelism (SMP) can improve application performance for CPU intensive code and can scale with # of processors, but can be difficult to redesign serial code for SMP.
Collateral: Refer to Intel technologies
1.1. Will the target software solution implement AMP, SMP, or virtualization?
1.2. Build, test, and debug the code until it executes correctly on one Intel architecture core.
Goal: Ensure target design maximizes multi-core power and performance benefits to meet migration requirements.
Guidance: Mutli-core sw designs require specialized SW development tools. SMP/multi-core tools help identify and implement parallelism into the code. And pinpoint threading issues.
2.1. The tuning methodology is the same as for uniprocessor in Step 3, except that the goal is to correctly and efficiently execute multiple processes or threads simultaneously across multiple cores. Remember to create a baseline first, then introduce only one change at a time, and test and analyze the results before introducing another change.
2.2. Build, test, and debug the code until it executes correctly on one Intel architecture core.