EPIC Specifications for Developers

EPIC has tremendous flexibility in being able to run both little-endian and big-endian applications and operating systems. Because it can run applications on Windows,[34] Linux,[35] and HP-UX, there are immediate and obvious cost savings on porting issues. It's also worth noting that there are a number of features built into the new EPIC architecture that will be of special note to developers and coders. These features start with an advanced floating-point architecture.

[34] Microsoft and Windows are registered trademarks of the Microsoft Corporation.

[35] Linux is a registered trademark of Linus Torvalds.

This is a major opportunity for developers of technical software. Itanium can offer 128 80-bit floating-point registers. It can also perform single, double, and extended-double precision floating-point operations in parallel—so it gives you precision as well as speed. Further enhancements in this area include software pipelining, fused multiple-add instruction, and rotating registers.

Another advantage is that HP's libraries for the HP-UX operating system take full advantage of the company's industry-leading knowledge of EPIC's architecture. A whole suite of improvements that have resulted in this include:

  • MLIB: A collection of subroutines that provide frequently used mathematical software for scientific and technical computing that Itanium excels in.

  • libm: An optimized floating-point math library for C, C++, and Fortran 90 that was designed with Itanium's fast, accurate, and functional next generation of architecture in mind.

  • Vector Math Library: A set of algebraic and transcendental functions that have been developed as part of a joint project between HP and CERN. These have been optimized to deliver high precision and unmatched performance for vector-applied calculations.

  • HP MPI: A high-performance implementation of the message-passing interface for the Itanium architecture that gives developers both an API and a software library to support efficient and portable parallel message-passing applications. This makes it ideal for a clustered enterprise environment.

In addition, the new architecture contains 128 integer registers, 64 predicate registers, 128 central registers, and 8 branch registers. This allows low-latency storage space of intermediate results in complex calculations, efficient loop parallelization, and advanced branch production. Also, this improves branch intensive code performance. It improves this performance by using predication that uses conditional execution to smooth out branches. This allows the system to minimize the penalty of mispredicting results.

The compiler's complete view of the source code, combined with 'profiling,' allows the compiler to provide fast optimization while highlighting potential bottlenecks that may exist within the code itself. These bottlenecks in turn will be able to be reduced by regressive analysis. Today's compilers are already showing performance gains, and this will only improve as updates and improvements are incorporated into future versions.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
13.59.177.14