GTPin

- Main Page
- Related Pages
- Modules
- Data Structures

GTPin: Filtering Instrumented Kernels

GTPin configuration options for limiting the profiling scope to kernels with specific properties

By default, GTPin instruments all kernels of the application. This policy can be changed by the filter knob that allows user to instrument (analyze) a selected subset of kernels:

`Profilers/Bin/gtpin -t toolname --filter [filtering parameters] -- app [application arguments]`

where:

- `"filtering parameters"`::= `{I\|X}:{filter}:{value}`

- `"I"` stands for "include", and `"X"` stands for "exclude"

- `{filter}` may be one of these: name, subname, type, simd or hash

- `{value}` is a property of kernel that should be included or excluded

For example, the following knob disables instrumentation of the kernel named "KER_NAME":

`--filter X:name:KER_NAME`

## Legal filter values

### Name (name)

The filter value Name can be found after a regular GTPin run (for example, a run with the funtime tool), in an output report under Name.

### Substring Name (subname)

Same as Name filter but only matching a substring of the name anywhere in the full kernel name

### Type (type)

Filter based on shader type using the following two-char codes:

- `PS` - Pixel Shader
- `VS` - Vertex Shader
- `GS` - Geometry Shader
- `DS` - Domain Shader
- `HS` - Hull Shader
- `CS` - Compute Shader

### SIMD (simd)

The SIMD width of the kernel. Valid values are: 4, 8, 16, 32.

### Hash (hash)

A hexadecimal number that indicates a kernel's IR representation hash. The hexadecimal number can be found after a regular GTPin run (for example, with the funtime tool) in an output report under HashID.

## Ray Tracing Filters

You can further limit the GTPin filter to only Ray Tracing kernels or only non-Ray Tracing kernels by using the flags:

    --rt_kernels_only
    or
    --skip_rt_kernels

## Using multiple filters

You may use multiple filters when you follow the following rules:

- If you want an OR between filters, separate sub-knobs with comma:

    --filter I:type:PS,X:simd:8

In the above example, GTPin will instrument on these shaders: Pixel Shaders with any SIMD width; and all other shaders that have a SIMD width of 16 and 32 (shaders with a SIMD width of 8 will be excluded).

    --filter I:type:PS,I:type:VS

In the above example, GTPin will instrument only Pixel Shaders and Vertex Shaders.

- If you want an AND between filters (or group of filters), use this pattern:

    --filter I:type:PS --filter X:hash:0x12345

In the above example GTPin will instrument all Pixel Shaders except Pixel Shader PS_asm12345_simd8, PS_asm12345_simd16, and PS_asm12345_simd32.

    --filter I:type:PS --filter I:simd:16,I:simd:32

In the above example, GTPin will instrument only Pixel Shaders that have a SIMD width of 16 and 32.

All Data Structures Functions Variables Typedefs Enumerations Enumerator

      Copyright (C) 2013-2025 Intel Corporation

      SPDX-License-Identifier: MIT