include "images/header.html"; ?>
Omni OpenMP Compiler 64 bit environment status
Platforms
Omni 1.2 (and later) supports 64 bit machines, and this release contains
64 bit environment support. Developping and tested on:
- IRIX 6.5 (Origin 2000) with MIPSpro C compiler.
- Linux 2.2.14 (redhat-6.2, Alpha SMP) with gcc and Compaq C compiler.
Installation
Known problems and implementation specifications
- C issues:
- When writing this, there is no "known problems" for Omni C
compiler. Not fully tested yet.
- Fortran 77 issues:
- (including INTEGER*8 on 32 bit environment), INTEGER*8 is only
available when backend C compiler has a integer type that size is 64
bit. Of cource the platforms above clears this.
- On Omni Fortran 77 compiler, default size of INTEGER is ALWAYS 4 bytes
even if on 64 bit environment. If need changing it to 8 bytes, specify
"-i8" option for omf77.
- When specifying "-i8" option with omf77, all integer
constants will be treat as INTEGER*8 type.
- Implied DO in DATA statement will be computed as INTEGER*4 even
if the DO variable (and statr/end/increment value) is
INTEGER*8. Practically, I think no need to treat it as 64 bit. Am I wrong?
- Power expressions with INTEGER*8 are currently shrunken to
INTEGER*4. Return value also.
- If the process addressing model is 64 bit, pointer variable of
cray pointer extension must be INTEGER*8. And return value of LOC() is
INTEGER*8. So do lock variables for OMP_*_LOCK(), but not tested
yet.
Tips and others
- For better perfomance on Linux/Alpha, the Compaq C compiler
is preferred as a backend. It will be several times faster than
gcc. Note that the Compaq C compiler can't handle long input
line. Thus, It might fail to complie fortran souece that have large
initilize block with DATA statement. Will be fixed in next Omni release.
include "images/footer.html"; ?>