gem5  v21.1.0.2
Public Attributes | List of all members
gem5::AMDKernelCode Struct Reference

#include <kernel_code.hh>

Public Attributes

uint32_t amd_kernel_code_version_major
 
uint32_t amd_kernel_code_version_minor
 
uint16_t amd_machine_kind
 
uint16_t amd_machine_version_major
 
uint16_t amd_machine_version_minor
 
uint16_t amd_machine_version_stepping
 
int64_t kernel_code_entry_byte_offset
 
int64_t kernel_code_prefetch_byte_offset
 
uint64_t kernel_code_prefetch_byte_size
 
uint64_t max_scratch_backing_memory_byte_size
 
uint32_t granulated_workitem_vgpr_count: 6
 The fields below are used to set program settings for compute shaders. More...
 
uint32_t granulated_wavefront_sgpr_count: 4
 
uint32_t priority: 2
 
uint32_t float_mode_round_32: 2
 
uint32_t float_mode_round_16_64: 2
 
uint32_t float_mode_denorm_32: 2
 
uint32_t float_mode_denorm_16_64: 2
 
uint32_t priv: 1
 
uint32_t enable_dx10_clamp: 1
 
uint32_t debug_mode: 1
 
uint32_t enable_ieee_mode: 1
 
uint32_t bulky: 1
 
uint32_t cdbg_user: 1
 
uint32_t compute_pgm_rsrc1_reserved: 6
 
uint32_t enable_sgpr_private_segment_wave_byte_offset: 1
 
uint32_t user_sgpr_count: 5
 
uint32_t enable_trap_handler: 1
 
uint32_t enable_sgpr_workgroup_id_x: 1
 
uint32_t enable_sgpr_workgroup_id_y: 1
 
uint32_t enable_sgpr_workgroup_id_z: 1
 
uint32_t enable_sgpr_workgroup_info: 1
 
uint32_t enable_vgpr_workitem_id: 2
 
uint32_t enable_exception_address_watch: 1
 
uint32_t enable_exception_memory_violation: 1
 
uint32_t granulated_lds_size: 9
 
uint32_t enable_exception_ieee_754_fp_invalid_operation: 1
 
uint32_t enable_exception_fp_denormal_source: 1
 
uint32_t enable_exception_ieee_754_fp_division_by_zero: 1
 
uint32_t enable_exception_ieee_754_fp_overflow: 1
 
uint32_t enable_exception_ieee_754_fp_underflow: 1
 
uint32_t enable_exception_ieee_754_fp_inexact: 1
 
uint32_t enable_exception_int_divide_by_zero: 1
 
uint32_t compute_pgm_rsrc2_reserved: 1
 
uint32_t enable_sgpr_private_segment_buffer: 1
 
uint32_t enable_sgpr_dispatch_ptr: 1
 
uint32_t enable_sgpr_queue_ptr: 1
 
uint32_t enable_sgpr_kernarg_segment_ptr: 1
 
uint32_t enable_sgpr_dispatch_id: 1
 
uint32_t enable_sgpr_flat_scratch_init: 1
 
uint32_t enable_sgpr_private_segment_size: 1
 
uint32_t enable_sgpr_grid_workgroup_count_x: 1
 
uint32_t enable_sgpr_grid_workgroup_count_y: 1
 
uint32_t enable_sgpr_grid_workgroup_count_z: 1
 
uint32_t kernel_code_properties_reserved1: 6
 
uint32_t enable_ordered_append_gds: 1
 
uint32_t private_element_size: 2
 
uint32_t is_ptr64: 1
 
uint32_t is_dynamic_callstack: 1
 
uint32_t is_debug_enabled: 1
 
uint32_t is_xnack_enabled: 1
 
uint32_t kernel_code_properties_reserved2: 9
 
uint32_t workitem_private_segment_byte_size
 
uint32_t workgroup_group_segment_byte_size
 
uint32_t gds_segment_byte_size
 
uint64_t kernarg_segment_byte_size
 
uint32_t workgroup_fbarrier_count
 
uint16_t wavefront_sgpr_count
 
uint16_t workitem_vgpr_count
 
uint16_t reserved_vgpr_first
 
uint16_t reserved_vgpr_count
 
uint16_t reserved_sgpr_first
 
uint16_t reserved_sgpr_count
 
uint16_t debug_wavefront_private_segment_offset_sgpr
 
uint16_t debug_private_segment_buffer_sgpr
 
uint8_t kernarg_segment_alignment
 
uint8_t group_segment_alignment
 
uint8_t private_segment_alignment
 
uint8_t wavefront_size
 
int32_t call_convention
 
uint8_t reserved [12]
 
uint64_t runtime_loader_kernel_symbol
 
uint64_t control_directives [16]
 

Detailed Description

Definition at line 84 of file kernel_code.hh.

Member Data Documentation

◆ amd_kernel_code_version_major

uint32_t gem5::AMDKernelCode::amd_kernel_code_version_major

Definition at line 86 of file kernel_code.hh.

◆ amd_kernel_code_version_minor

uint32_t gem5::AMDKernelCode::amd_kernel_code_version_minor

Definition at line 87 of file kernel_code.hh.

◆ amd_machine_kind

uint16_t gem5::AMDKernelCode::amd_machine_kind

Definition at line 88 of file kernel_code.hh.

◆ amd_machine_version_major

uint16_t gem5::AMDKernelCode::amd_machine_version_major

Definition at line 89 of file kernel_code.hh.

◆ amd_machine_version_minor

uint16_t gem5::AMDKernelCode::amd_machine_version_minor

Definition at line 90 of file kernel_code.hh.

◆ amd_machine_version_stepping

uint16_t gem5::AMDKernelCode::amd_machine_version_stepping

Definition at line 91 of file kernel_code.hh.

◆ bulky

uint32_t gem5::AMDKernelCode::bulky

Definition at line 120 of file kernel_code.hh.

◆ call_convention

int32_t gem5::AMDKernelCode::call_convention

Definition at line 187 of file kernel_code.hh.

◆ cdbg_user

uint32_t gem5::AMDKernelCode::cdbg_user

Definition at line 121 of file kernel_code.hh.

◆ compute_pgm_rsrc1_reserved

uint32_t gem5::AMDKernelCode::compute_pgm_rsrc1_reserved

Definition at line 122 of file kernel_code.hh.

◆ compute_pgm_rsrc2_reserved

uint32_t gem5::AMDKernelCode::compute_pgm_rsrc2_reserved

Definition at line 145 of file kernel_code.hh.

◆ control_directives

uint64_t gem5::AMDKernelCode::control_directives[16]

Definition at line 190 of file kernel_code.hh.

◆ debug_mode

uint32_t gem5::AMDKernelCode::debug_mode

Definition at line 118 of file kernel_code.hh.

◆ debug_private_segment_buffer_sgpr

uint16_t gem5::AMDKernelCode::debug_private_segment_buffer_sgpr

Definition at line 182 of file kernel_code.hh.

◆ debug_wavefront_private_segment_offset_sgpr

uint16_t gem5::AMDKernelCode::debug_wavefront_private_segment_offset_sgpr

Definition at line 181 of file kernel_code.hh.

◆ enable_dx10_clamp

uint32_t gem5::AMDKernelCode::enable_dx10_clamp

Definition at line 117 of file kernel_code.hh.

◆ enable_exception_address_watch

uint32_t gem5::AMDKernelCode::enable_exception_address_watch

Definition at line 135 of file kernel_code.hh.

◆ enable_exception_fp_denormal_source

uint32_t gem5::AMDKernelCode::enable_exception_fp_denormal_source

Definition at line 139 of file kernel_code.hh.

◆ enable_exception_ieee_754_fp_division_by_zero

uint32_t gem5::AMDKernelCode::enable_exception_ieee_754_fp_division_by_zero

Definition at line 140 of file kernel_code.hh.

◆ enable_exception_ieee_754_fp_inexact

uint32_t gem5::AMDKernelCode::enable_exception_ieee_754_fp_inexact

Definition at line 143 of file kernel_code.hh.

◆ enable_exception_ieee_754_fp_invalid_operation

uint32_t gem5::AMDKernelCode::enable_exception_ieee_754_fp_invalid_operation

Definition at line 138 of file kernel_code.hh.

◆ enable_exception_ieee_754_fp_overflow

uint32_t gem5::AMDKernelCode::enable_exception_ieee_754_fp_overflow

Definition at line 141 of file kernel_code.hh.

◆ enable_exception_ieee_754_fp_underflow

uint32_t gem5::AMDKernelCode::enable_exception_ieee_754_fp_underflow

Definition at line 142 of file kernel_code.hh.

◆ enable_exception_int_divide_by_zero

uint32_t gem5::AMDKernelCode::enable_exception_int_divide_by_zero

Definition at line 144 of file kernel_code.hh.

◆ enable_exception_memory_violation

uint32_t gem5::AMDKernelCode::enable_exception_memory_violation

Definition at line 136 of file kernel_code.hh.

◆ enable_ieee_mode

uint32_t gem5::AMDKernelCode::enable_ieee_mode

Definition at line 119 of file kernel_code.hh.

◆ enable_ordered_append_gds

uint32_t gem5::AMDKernelCode::enable_ordered_append_gds

Definition at line 161 of file kernel_code.hh.

◆ enable_sgpr_dispatch_id

uint32_t gem5::AMDKernelCode::enable_sgpr_dispatch_id

Definition at line 154 of file kernel_code.hh.

Referenced by gem5::HSAQueueEntry::parseKernelCode().

◆ enable_sgpr_dispatch_ptr

uint32_t gem5::AMDKernelCode::enable_sgpr_dispatch_ptr

Definition at line 151 of file kernel_code.hh.

Referenced by gem5::HSAQueueEntry::parseKernelCode().

◆ enable_sgpr_flat_scratch_init

uint32_t gem5::AMDKernelCode::enable_sgpr_flat_scratch_init

Definition at line 155 of file kernel_code.hh.

Referenced by gem5::HSAQueueEntry::parseKernelCode().

◆ enable_sgpr_grid_workgroup_count_x

uint32_t gem5::AMDKernelCode::enable_sgpr_grid_workgroup_count_x

Definition at line 157 of file kernel_code.hh.

Referenced by gem5::HSAQueueEntry::parseKernelCode().

◆ enable_sgpr_grid_workgroup_count_y

uint32_t gem5::AMDKernelCode::enable_sgpr_grid_workgroup_count_y

Definition at line 158 of file kernel_code.hh.

Referenced by gem5::HSAQueueEntry::parseKernelCode().

◆ enable_sgpr_grid_workgroup_count_z

uint32_t gem5::AMDKernelCode::enable_sgpr_grid_workgroup_count_z

Definition at line 159 of file kernel_code.hh.

Referenced by gem5::HSAQueueEntry::parseKernelCode().

◆ enable_sgpr_kernarg_segment_ptr

uint32_t gem5::AMDKernelCode::enable_sgpr_kernarg_segment_ptr

Definition at line 153 of file kernel_code.hh.

Referenced by gem5::HSAQueueEntry::parseKernelCode().

◆ enable_sgpr_private_segment_buffer

uint32_t gem5::AMDKernelCode::enable_sgpr_private_segment_buffer

Definition at line 150 of file kernel_code.hh.

Referenced by gem5::HSAQueueEntry::parseKernelCode().

◆ enable_sgpr_private_segment_size

uint32_t gem5::AMDKernelCode::enable_sgpr_private_segment_size

Definition at line 156 of file kernel_code.hh.

Referenced by gem5::HSAQueueEntry::parseKernelCode().

◆ enable_sgpr_private_segment_wave_byte_offset

uint32_t gem5::AMDKernelCode::enable_sgpr_private_segment_wave_byte_offset

Definition at line 127 of file kernel_code.hh.

Referenced by gem5::HSAQueueEntry::parseKernelCode().

◆ enable_sgpr_queue_ptr

uint32_t gem5::AMDKernelCode::enable_sgpr_queue_ptr

Definition at line 152 of file kernel_code.hh.

Referenced by gem5::HSAQueueEntry::parseKernelCode().

◆ enable_sgpr_workgroup_id_x

uint32_t gem5::AMDKernelCode::enable_sgpr_workgroup_id_x

Definition at line 130 of file kernel_code.hh.

Referenced by gem5::HSAQueueEntry::parseKernelCode().

◆ enable_sgpr_workgroup_id_y

uint32_t gem5::AMDKernelCode::enable_sgpr_workgroup_id_y

Definition at line 131 of file kernel_code.hh.

Referenced by gem5::HSAQueueEntry::parseKernelCode().

◆ enable_sgpr_workgroup_id_z

uint32_t gem5::AMDKernelCode::enable_sgpr_workgroup_id_z

Definition at line 132 of file kernel_code.hh.

Referenced by gem5::HSAQueueEntry::parseKernelCode().

◆ enable_sgpr_workgroup_info

uint32_t gem5::AMDKernelCode::enable_sgpr_workgroup_info

Definition at line 133 of file kernel_code.hh.

Referenced by gem5::HSAQueueEntry::parseKernelCode().

◆ enable_trap_handler

uint32_t gem5::AMDKernelCode::enable_trap_handler

Definition at line 129 of file kernel_code.hh.

◆ enable_vgpr_workitem_id

uint32_t gem5::AMDKernelCode::enable_vgpr_workitem_id

Definition at line 134 of file kernel_code.hh.

Referenced by gem5::HSAQueueEntry::parseKernelCode().

◆ float_mode_denorm_16_64

uint32_t gem5::AMDKernelCode::float_mode_denorm_16_64

Definition at line 115 of file kernel_code.hh.

◆ float_mode_denorm_32

uint32_t gem5::AMDKernelCode::float_mode_denorm_32

Definition at line 114 of file kernel_code.hh.

◆ float_mode_round_16_64

uint32_t gem5::AMDKernelCode::float_mode_round_16_64

Definition at line 113 of file kernel_code.hh.

◆ float_mode_round_32

uint32_t gem5::AMDKernelCode::float_mode_round_32

Definition at line 112 of file kernel_code.hh.

◆ gds_segment_byte_size

uint32_t gem5::AMDKernelCode::gds_segment_byte_size

Definition at line 172 of file kernel_code.hh.

◆ granulated_lds_size

uint32_t gem5::AMDKernelCode::granulated_lds_size

Definition at line 137 of file kernel_code.hh.

◆ granulated_wavefront_sgpr_count

uint32_t gem5::AMDKernelCode::granulated_wavefront_sgpr_count

Definition at line 110 of file kernel_code.hh.

◆ granulated_workitem_vgpr_count

uint32_t gem5::AMDKernelCode::granulated_workitem_vgpr_count

The fields below are used to set program settings for compute shaders.

Here they are primarily used to setup initial register state. See the following for full details about kernel launch, state initialization, and the AMD kernel code object: https://github.com/RadeonOpenCompute/ROCm_Documentation/ blob/master/ROCm_Compiler_SDK/ROCm-Codeobj-format.rst #initial-kernel-register-state

Definition at line 109 of file kernel_code.hh.

◆ group_segment_alignment

uint8_t gem5::AMDKernelCode::group_segment_alignment

Definition at line 184 of file kernel_code.hh.

◆ is_debug_enabled

uint32_t gem5::AMDKernelCode::is_debug_enabled

Definition at line 165 of file kernel_code.hh.

◆ is_dynamic_callstack

uint32_t gem5::AMDKernelCode::is_dynamic_callstack

Definition at line 164 of file kernel_code.hh.

◆ is_ptr64

uint32_t gem5::AMDKernelCode::is_ptr64

Definition at line 163 of file kernel_code.hh.

◆ is_xnack_enabled

uint32_t gem5::AMDKernelCode::is_xnack_enabled

Definition at line 166 of file kernel_code.hh.

◆ kernarg_segment_alignment

uint8_t gem5::AMDKernelCode::kernarg_segment_alignment

Definition at line 183 of file kernel_code.hh.

◆ kernarg_segment_byte_size

uint64_t gem5::AMDKernelCode::kernarg_segment_byte_size

Definition at line 173 of file kernel_code.hh.

◆ kernel_code_entry_byte_offset

int64_t gem5::AMDKernelCode::kernel_code_entry_byte_offset

Definition at line 92 of file kernel_code.hh.

Referenced by gem5::GPUCommandProcessor::submitDispatchPkt().

◆ kernel_code_prefetch_byte_offset

int64_t gem5::AMDKernelCode::kernel_code_prefetch_byte_offset

Definition at line 93 of file kernel_code.hh.

◆ kernel_code_prefetch_byte_size

uint64_t gem5::AMDKernelCode::kernel_code_prefetch_byte_size

Definition at line 94 of file kernel_code.hh.

◆ kernel_code_properties_reserved1

uint32_t gem5::AMDKernelCode::kernel_code_properties_reserved1

Definition at line 160 of file kernel_code.hh.

◆ kernel_code_properties_reserved2

uint32_t gem5::AMDKernelCode::kernel_code_properties_reserved2

Definition at line 167 of file kernel_code.hh.

◆ max_scratch_backing_memory_byte_size

uint64_t gem5::AMDKernelCode::max_scratch_backing_memory_byte_size

Definition at line 95 of file kernel_code.hh.

◆ priority

uint32_t gem5::AMDKernelCode::priority

Definition at line 111 of file kernel_code.hh.

◆ priv

uint32_t gem5::AMDKernelCode::priv

Definition at line 116 of file kernel_code.hh.

◆ private_element_size

uint32_t gem5::AMDKernelCode::private_element_size

Definition at line 162 of file kernel_code.hh.

◆ private_segment_alignment

uint8_t gem5::AMDKernelCode::private_segment_alignment

Definition at line 185 of file kernel_code.hh.

◆ reserved

uint8_t gem5::AMDKernelCode::reserved[12]

Definition at line 188 of file kernel_code.hh.

◆ reserved_sgpr_count

uint16_t gem5::AMDKernelCode::reserved_sgpr_count

Definition at line 180 of file kernel_code.hh.

◆ reserved_sgpr_first

uint16_t gem5::AMDKernelCode::reserved_sgpr_first

Definition at line 179 of file kernel_code.hh.

◆ reserved_vgpr_count

uint16_t gem5::AMDKernelCode::reserved_vgpr_count

Definition at line 178 of file kernel_code.hh.

◆ reserved_vgpr_first

uint16_t gem5::AMDKernelCode::reserved_vgpr_first

Definition at line 177 of file kernel_code.hh.

◆ runtime_loader_kernel_symbol

uint64_t gem5::AMDKernelCode::runtime_loader_kernel_symbol

Definition at line 189 of file kernel_code.hh.

Referenced by gem5::GPUCommandProcessor::submitDispatchPkt().

◆ user_sgpr_count

uint32_t gem5::AMDKernelCode::user_sgpr_count

Definition at line 128 of file kernel_code.hh.

◆ wavefront_sgpr_count

uint16_t gem5::AMDKernelCode::wavefront_sgpr_count

Definition at line 175 of file kernel_code.hh.

◆ wavefront_size

uint8_t gem5::AMDKernelCode::wavefront_size

Definition at line 186 of file kernel_code.hh.

◆ workgroup_fbarrier_count

uint32_t gem5::AMDKernelCode::workgroup_fbarrier_count

Definition at line 174 of file kernel_code.hh.

◆ workgroup_group_segment_byte_size

uint32_t gem5::AMDKernelCode::workgroup_group_segment_byte_size

Definition at line 171 of file kernel_code.hh.

◆ workitem_private_segment_byte_size

uint32_t gem5::AMDKernelCode::workitem_private_segment_byte_size

Definition at line 170 of file kernel_code.hh.

◆ workitem_vgpr_count

uint16_t gem5::AMDKernelCode::workitem_vgpr_count

Definition at line 176 of file kernel_code.hh.


The documentation for this struct was generated from the following file:

Generated on Tue Sep 21 2021 12:27:13 for gem5 by doxygen 1.8.17