Next: , Previous: Interfaces, Up: General


2.6 ACML variants using 64-bit integer (INTEGER*8) arguments

Where compilers support, through the use of switches, the automatic promotion of regular INTEGER (32-bit) arguments to INTEGER*8 (64-bit) arguments, ACML variants exist to use this facility. This means that if you have a 64-bit Fortran program using INTEGER*8 variables, or a 64-bit C program using 8-byte long variables, there is an ACML version that you can use. This applies to 64-bit ACML versions built with PGI, PathScale, and gfortran compilers.

The INTEGER*8 versions of these libraries are distinguished from the usual versions by having the string “_int64” as part of the name of the directory under which ACML is installed. Thus, for example, if the regular PGI 64-bit library is in a directory named pgi64, then the INTEGER*8 version will be installed in directory pgi64_int64.

For these ACML variants, all ACML documentation that mentions arguments of Fortran type INTEGER or C type int should be read as INTEGER*8 or long respectively.

It is important to ensure that if you have INTEGER*8 variables in your code, you link to the int64 variant, and not otherwise. Unexpected program crashes are likely to occur if you link to the wrong version.