Programming with Intel Extended Memory 64 Technology: Migrating Software for Optimal 64-bit Performance

Chapter 3: Cleaning Code for Intel EM64T

If you don't have proper clean-up materials or have received no training in proper procedures, call for assistance.
Laboratory posting, Penn State University

Overview

It is tempting to jump right into porting to Intel EM64T by recompiling code with all the appropriate compiler switches set, fixing the warning messages, testing the resulting application, and moving on to the next program. For some small programs, this approach will probably work. But for software of any size or importance, this approach cannot be recommended. Problems where code needs to be cleaned up often arise from assumptions about the underlying architecture, and so they are easy to overlook. Worse yet, these problems might show up as bugs at unpredictable moments, and frequently the failures they generate are difficult to replicate. Hence, it makes a lot of sense to enter into a porting project by taking the same first steps that benefit most programming projects: thoughtful analysis and planning.

Porting to platforms with Intel EM64T, however, is not quite like other porting projects, so the necessary steps differ slightly. Best practices, based on Intel's experience with such ports, suggest the following sequence:

  • Assessing the complexity of the port

    1. Current state of the code

    2. Coding standards

    3. Knowledge of source-code portability issues

    4. Dependency analysis

    5. Additional porting concerns

  • Porting the code

    1. Prepare the development environment

    2. Building the Software

    3. Minimizing code and data bloat

  • Functional validation

    1. Functional testing

    2. Unit testing

  • Performance Validation

    1. Application-level tuning

    2. Architecture-level tuning

  • Final QA Sign-off

This chapter examines these steps in order and provides...

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: Bug Tracking Software
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.