Porting between different processor architectures

From HP-SEE Wiki

(Difference between revisions)
Jump to: navigation, search
(Porting from X86 to PowerPC)
Line 2: Line 2:
== Porting from X86 to PowerPC ==
== Porting from X86 to PowerPC ==
 +
''Section contributed by IICT-BAS''
The main issue when porting an application from x86 to PowerPC on Blue Gene/P
The main issue when porting an application from x86 to PowerPC on Blue Gene/P

Revision as of 09:00, 18 April 2012

Porting from Cell B.E. to X86 and to GPGPU

Porting from X86 to PowerPC

Section contributed by IICT-BAS

The main issue when porting an application from x86 to PowerPC on Blue Gene/P is to ensure support for all the required libraries used in the application. It is important to remember that compilation for the Blue Gene/P is essentially cross compilation. This means that the target architecture is not equal to the architecture of the host (usually the front-end node). In our case the front-end node is running SUSE Linux, while the target compute nodes are running IBM proprietory Compute Node Kernel (CNK) operating system. This means that one must not use the libraries available for the host architecture, but aim for the libraries that are installed in other locations. This process is simplified by the module framework, explained elsewhere in this guide, which enables required libraries to be loaded as modules, before running the configuration script. The necessary compiler and linker directives can be obtained in this way. Another alternative, which is used widely, is to use the pkg-config system. However, if the required library is not particularly popular, the user can install it in their home directory and provide the necessary flags during compilation. Currently most of the software required by HP-SEE applications is available on the Blue Gene/P, as well as many of the popular libraries for writing scientific code. When porting their own codes, users must take into account that the target architecture is big endian 32-bit. This means that data stored in binary format on disk will not be directly readable on an Intel machine and also that care should be taken if such data is transformed over the the network. Once the developer is aware of this feature, transformation of data is essentially trivial and is directly supported in popular environments for scientific computing like Matlab.

Personal tools