PAPIF - Performance Application Programming Interface (Fortran)


Fortran Calling Interface
See Also


#include fpapi.h

call PAPIF_function_name(arg1,arg2,...,check)

Fortran Calling Interface

The PAPI library comes with a specific Fortran library interface. The Fortran interface covers the complete library with a few minor exceptions. Functions returning C pointers to structures, such as PAPI_get_opt (3) and PAPI_get_executable_info (3) , are either not implemented in the Fortran interface, or implemented with different calling semantics.

Semantics for specific functions in the Fortran interface are documented on the equivalent C man page. For example, the semantics and functionality of PAPIF_accum are covered in the PAPI_accum (3) man page.

For most architectures the following relation holds between the pseudo-types listed and Fortran variable types.

Pseuodo-typeFortran typeDescription
C_INTINTEGERDefault Integer type
C_FLOATREALDefault Real type
C_LONG_LONGINTEGER*8Extended size integer
C_INT FUNCTIONEXTERNAL INTEGER FUNCTIONFortran function returning integer result
C_INT(*)Array of corresponding type C_TYPE(*) refers to an array of the corresponding Fortan type. The length of the array needed is context dependent. It may be e.g. PAPI_MAX_HWCTRS or PAPIF_num_counters.

Array arguments must be of sufficent size to hold the input/output from/to the subroutine for predictable behavior. The array length is indicated either by the accompanying argument or by internal PAPI definitions. For details on this see the corresponding C routine.

Subroutines accepting C_STRING as an argument are on most implementations capable of reading the character string length as provided by Fortran. In these implementations the string is truncated or space padded as necessary. For other implementations the length of the character array is assumed to be of sufficient size. No character string longer than PAPI_MAX_STR_LEN is returned by the PAPIF interface.


The PAPI Team. See them at the PAPI Web Site:


The return code of the corresponding C routine is returned in the argument check in the Fortran interface.


The PAPI Interface: PAPI (3)

PAPI Programmer’s Reference PAPIF (3) November, 2003

  Innovative Computing Laboratory
2001 R&D Winner  
Contact PAPI: Computer Science Department
  University of Tennessee