Functions to Get Hardware Thread Coordinates

Gets the current hardware thread coordinates in the kernel's thread group space. This topic only applies to Intel® 64 and IA-32 architectures targeting Intel® Graphics Technology.

Syntax

i32 _gfx_gpgpu_group_count(i32 dim);

i32 _gfx_gpgpu_group_id(i32 dim);

i32 _gfx_gpgpu_local_size(i32 dim);

i32 _gfx_gpgpu_local_id(i32 dim);

Parameters

dim

_gfx_gpgpu_group_count, _gfx_gpgpu_group_id

A dimension in the 2d space of thread groups.

_gfx_gpgpu_local_size, _gfx_gpgpu_local_id

A dimension in the 2d space of threads in a thread group.

Description

These functions get information about a thread group space. A thread group space is 2-dimensional, with a 2-level hierarchy:

  • The top level is a 2d space of thread groups

  • The lower level of each thread group is a 2d space of threads.

The following table shows the information each function gets:

Function

Description

_gfx_gpgpu_group_count

Gets the number of threads groups along a dimension.

_gfx_gpgpu_local_size

Gets the number of threads along a dimension within a thread group.

_gfx_gpgpu_group_id

_gfx_gpgpu_local_id

Gets the coordinates for the current hardware thread in the thread space or thread group space created for the calling kernel.

Return Values

Function: _gfx_gpgpu_group_count

Returns the number of thread groups along the given dimension of a 2-dimensional target thread group space.

Function:_gfx_gpgpu_group_id

Returns the current thread group's coordinate along the given dimension of a 2-dimensional target thread group space.

Function:_gfx_gpgpu_local_size

Returns the number of threads along the given dimension of a 2-dimensional target thread group.

Function:_gfx_gpgpu_local_id

Returns the current thread's coordinates along the given dimension of a 2-dimensional target thread group.

For more complete information about compiler optimizations, see our Optimization Notice.