---
name: "PAPIf_hl_region_begin"
section: "3"
platform: "linux"
package: "libpapi-dev"
version: "7.1.0-5+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/PAPIf_hl_region_begin"
---

# PAPIf\_hl\_region\_begin(3)

Reads and stores hardware events at the beginning of an instrumented code region.

## NAME

PAPIf\_hl\_region\_begin - Reads and stores hardware events at the beginning of an instrumented code region.

## SYNOPSIS

## Detailed Description

**Fortran Prototype:**

\#include 'fpapi.h' \
 **PAPIf\_hl\_region\_begin( C\_STRING region, C\_INT check )**

**Return values**

*PAPI\_OK* \
 *PAPI\_ENOTRUN* -- EventSet is currently not running or could not determined. \
 *PAPI\_ESYS* -- A system or C library call failed inside PAPI, see the errno variable. \
 *PAPI\_EMISC* -- PAPI has been deactivated due to previous erros. \
 *PAPI\_ENOMEM* -- Insufficient memory.

**PAPIf\_hl\_region\_begin** reads hardware events and stores them internally at the beginning of an instrumented code region. If not specified via environment variable PAPI\_EVENTS, default events are used. The first call sets all counters implicitly to zero and starts counting. Note that if PAPI\_EVENTS is not set or cannot be interpreted, default hardware events are recorded.

**Example:**

```
export PAPI_EVENTS="PAPI_TOT_INS,PAPI_TOT_CYC"
```

```
integer retval
call PAPIf_hl_region_begin("computation", retval)
if ( retval .NE. PAPI_OK ) then
     write (*,*) "PAPIf_hl_region_begin failed!"
end if
!do some computation here
call PAPIf_hl_region_end("computation", retval)
if ( retval .NE. PAPI_OK ) then
    write (*,*) "PAPIf_hl_region_end failed!"
end if
```

**See also**

**PAPI\_hl\_region\_begin**

## Author

Generated automatically by Doxygen for PAPI from the source code.
