---
name: "PAPI_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/PAPI_hl_region_begin"
---

# PAPI\_hl\_region\_begin(3)

Read performance events at the beginning of a region.

## NAME

PAPI\_hl\_region\_begin - Read performance events at the beginning of a region.

## SYNOPSIS

## Detailed Description

**C Interface:**

\#include \<**papi.h**\> \
 int **PAPI\_hl\_region\_begin( const char\* region )**;

**Parameters**

*region* -- a unique region name

**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 errors. \
 *PAPI\_ENOMEM* -- Insufficient memory.

**PAPI\_hl\_region\_begin** reads performance events and stores them internally at the beginning of an instrumented code region. If not specified via the 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 performance events are recorded.

**Example:**

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

```
int retval;
retval = PAPI_hl_region_begin("computation");
if ( retval != PAPI_OK )
    handle_error(1);
 //Do some computation here
retval = PAPI_hl_region_end("computation");
if ( retval != PAPI_OK )
    handle_error(1);
```

**See also**

**PAPI\_hl\_read**

**PAPI\_hl\_region\_end**

**PAPI\_hl\_stop**

## Author

Generated automatically by Doxygen for PAPI from the source code.
