AMD RX6900 XT slow on Epyc systems but ok on Ryzen/Athlon
Description:
AMD RX6900 XT is slow on AMD EPYC 7001 based systems for certain games compared to a AMD 200GE. For detailed system specification see below. SSD with Ubuntu and GPU was reused on all systems. I have tested two Epyc-Boards so far with nearly every BIOS setup setting combination possible without any significant changes. Also testes all 16X-PCIe ports available on those boards:
- Asrock EPYCD8-2T
- Supermicro H11DSi
Some tested problematic games:
Game | FPS Epyc 7551 | FPS AMD 200GE |
---|---|---|
BATTELTECH (637090) | 17 | 73 |
City Skyline (255710) | 35 | 65 |
Deus Ex: Mankind Divided (337000) | 27 | 50 |
Jurassic World Evolution via Proton (1244460) | 17 | 58 |
Saints Row IV (1244460) | 47 | 60 |
Reducing settings for example in Battletech does not improve FPS. Doesn't seem to matter if LOW@1280 or ULTRA@2k. The GPU most of the time is put into lowest mode using rarely more than 20% GPU. Forcing performance via preak_profile only reduces load to below ~10%. But not all games are slow. Known ok games:
Game | FPS Epyc 7551 | FPS AMD 200GE |
---|---|---|
Borderlands 2 (49520) | 100 | 100 |
Rise of the Tomb Raider™ (391220) | 139 | 90 |
XCOM® 2 (268500) | 47 | 30 |
I have only one other dedicated GPU a Nvidia GT 1030 which yields into more or less the same results for Athlon and Epyc system with the Nvidia closed source driver. But of course the FPS are rather very low to begin with.
For the Supermicro it doesn't seem to matter if one or two CPUs are used.
Tested Ubuntu 21.10
package kernel 5.13 with Mesa 21.1.2 (see below) and mainline Linux 5.16
with Mesa 21.3.4
from kisak-mesa without any significant changes to the 'bad' games.
System information
Epyc @ Asrock:
System: Kernel: 5.13.0-25-generic x86_64 bits: 64 compiler: gcc v: 11.2.0
parameters: BOOT_IMAGE=/boot/vmlinuz-5.13.0-25-generic root=UUID=6d7bc8bc-9a48-4184-83b2-2105249ddf32 ro
modprobe.blacklist=ast video=offb:off quiet splash vt.handoff=7
Desktop: MATE 1.26.0 info: mate-panel wm: marco 1.26.0 dm: LightDM 1.30.0 Distro: Ubuntu 21.10 (Impish Indri)
Machine: Type: Unknown Mobo: ASRockRack model: EPYCD8-2T serial: <filter> UEFI: American Megatrends v: P2.60
date: 04/10/2020
CPU: Info: 32-Core (4-Die) model: AMD EPYC 7551 socket: SP3 bits: 64 type: MT MCP MCM arch: Zen family: 17 (23)
model-id: 1 stepping: 2 microcode: 8001250 cache: L1: 3 MiB L2: 16 MiB L3: 64 MiB
flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm bogomips: 255512
Speed: 1195 MHz min/max: 1200/2000 MHz base/boost: 2000/3000 boost: enabled volts: 1.0 V ext-clock: 100 MHz
Core speeds (MHz): 1: 1196 2: 1196 3: 1195 4: 1195 5: 1195 6: 1196 7: 1196 8: 1196 9: 1194 10: 1196 11: 1196
12: 1198 13: 1195 14: 1196 15: 1197 16: 1196 17: 1197 18: 1195 19: 1196 20: 1195 21: 1194 22: 1196 23: 1196
24: 1196 25: 1196 26: 1195 27: 1196 28: 1196 29: 1196 30: 1196 31: 1196 32: 1196 33: 1196 34: 1196 35: 1195
36: 1196 37: 1196 38: 1196 39: 1196 40: 1196 41: 1196 42: 1195 43: 1197 44: 1196 45: 1197 46: 2404 47: 1196
48: 1197 49: 1196 50: 1196 51: 1195 52: 1196 53: 1196 54: 1196 55: 1195 56: 1195 57: 1196 58: 1196 59: 1195
60: 1196 61: 1195 62: 1197 63: 1196 64: 1196
Vulnerabilities: Type: itlb_multihit status: Not affected
Type: l1tf status: Not affected
Type: mds status: Not affected
Type: meltdown status: Not affected
Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via prctl and seccomp
Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer sanitization
Type: spectre_v2 mitigation: Full AMD retpoline, IBPB: conditional, STIBP: disabled, RSB filling
Type: srbds status: Not affected
Type: tsx_async_abort status: Not affected
Graphics: Device-1: ASPEED Graphics Family driver: N/A alternate: ast bus-ID: 02:00.0 chip-ID: 1a03:2000 class-ID: 0300
Device-2: Advanced Micro Devices [AMD/ATI] Navi 21 [Radeon RX 6800/6800 XT / 6900 XT] vendor: XFX Limited
driver: amdgpu v: kernel bus-ID: 44:00.0 chip-ID: 1002:73bf class-ID: 0300
Display: server: X.Org 1.20.13 compositor: marco v: 1.26.0 driver: loaded: amdgpu,ati
unloaded: fbdev,modesetting,radeon,vesa display-ID: :0 screens: 1
Screen-1: 0 s-res: 2560x1440 s-dpi: 96 s-size: 677x381mm (26.7x15.0") s-diag: 777mm (30.6")
Monitor-1: HDMI-A-0 res: 2560x1440 hz: 60 dpi: 109 size: 597x336mm (23.5x13.2") diag: 685mm (27")
OpenGL: renderer: AMD Radeon RX 6900 XT (SIENNA_CICHLID DRM 3.41.0 5.13.0-25-generic LLVM 12.0.1)
v: 4.6 Mesa 21.2.2 direct render: Yes
name of display: :0
Device info:
pci (domain:bus:dev.func): 0000:44:00.0
name = SIENNA_CICHLID
marketing_name = AMD Radeon RX 6900 XT
is_pro_graphics = 0
pci_id = 0x73bf
pci_rev_id = 0xc0
family = 78
chip_class = 13
family_id = 143
chip_external_rev = 41
clock_crystal_freq = 100000
Features:
has_graphics = 1
num_rings[RING_GFX] = 1
num_rings[RING_DMA] = 2
num_rings[RING_COMPUTE] = 4
num_rings[RING_UVD] = 0
num_rings[RING_VCE] = 0
num_rings[RING_UVD_ENC] = 0
num_rings[RING_VCN_DEC] = 1
num_rings[RING_VCN_ENC] = 1
num_rings[RING_VCN_JPEG] = 1
has_clear_state = 1
has_distributed_tess = 1
has_dcc_constant_encode = 1
has_rbplus = 1
rbplus_allowed = 1
has_load_ctx_reg_pkt = 1
has_out_of_order_rast = 0
cpdma_prefetch_writes_memory = 0
has_gfx9_scissor_bug = 0
has_tc_compat_zrange_bug = 0
has_msaa_sample_loc_bug = 0
has_ls_vgpr_init_bug = 0
has_32bit_predication = 1
has_3d_cube_border_color_mipmap = 1
Display features:
use_display_dcc_unaligned = 0
use_display_dcc_with_retile_blit = 1
Memory info:
pte_fragment_size = 2097152
gart_page_size = 4096
gart_size = 16368 MB
vram_size = 16384 MB
vram_vis_size = 16368 MB
vram_type = 9
vram_bit_width = 256
gds_size = 64 kB
gds_gfx_partition_size = 0 kB
max_alloc_size = 13108 MB
min_alloc_size = 256
address32_hi = 4294934528
has_dedicated_vram = 1
all_vram_visible = 1
smart_access_memory = 0
max_tcc_blocks = 16
num_tcc_blocks = 16
tcc_cache_line_size = 128
tcc_rb_non_coherent = 0
pc_lines = 1024
lds_size_per_workgroup = 131072
lds_alloc_granularity = 1024
lds_encode_granularity = 512
max_memory_clock = 1000
ce_ram_size = 65536
l1_cache_size = 16384
l2_cache_size = 4194304
CP info:
gfx_ib_pad_with_type2 = 0
ib_alignment = 1024
me_fw_version = 62
me_fw_feature = 38
pfp_fw_version = 86
pfp_fw_feature = 38
ce_fw_version = 36
ce_fw_feature = 38
Multimedia info:
uvd_decode = 0
vcn_decode = 1
jpeg_decode = 1
vce_encode = 0
uvd_encode = 0
vcn_encode = 1
uvd_fw_version = 0
vce_fw_version = 0
vce_harvest_config = 0
Kernel & winsys capabilities:
drm = 3.41.0
has_userptr = 1
has_syncobj = 1
has_timeline_syncobj = 1
has_fence_to_handle = 1
has_local_buffers = 0
kernel_flushes_hdp_before_ib = 1
htile_cmask_support_1d_tiling = 1
si_TA_CS_BC_BASE_ADDR_allowed = 1
has_bo_metadata = 1
has_gpu_reset_status_query = 1
has_eqaa_surface_allocator = 1
has_format_bc1_through_bc7 = 1
kernel_flushes_tc_l2_after_ib = 1
has_indirect_compute_dispatch = 1
has_unaligned_shader_loads = 1
has_sparse_vm_mappings = 1
has_2d_tiling = 1
has_read_registers_query = 1
has_gds_ordered_append = 1
has_scheduled_fence_dependency = 1
mid_command_buffer_preemption_enabled = 0
has_tmz_support = 0
Shader core info:
max_shader_clock = 2660
num_good_compute_units = 80
max_good_cu_per_sa = 10
min_good_cu_per_sa = 10
max_se = 4
num_se = 4
max_sa_per_se = 2
max_wave64_per_simd = 16
num_physical_sgprs_per_simd = 2048
num_physical_wave64_vgprs_per_simd = 512
num_simd_per_compute_unit = 2
min_sgpr_alloc = 128
max_sgpr_alloc = 104
sgpr_alloc_granularity = 128
min_wave64_vgpr_alloc = 4
max_vgpr_alloc = 256
wave64_vgpr_alloc_granularity = 4
use_late_alloc = 1
Render backend info:
pa_sc_tile_steering_override = 0x0
max_render_backends = 16
num_tile_pipes = 16
pipe_interleave_bytes = 256
enabled_rb_mask = 0xffff
max_alignment = 262144
pbb_max_alloc_count = 341
GB_ADDR_CONFIG: 0x00000444
num_pipes = 16
pipe_interleave_size = 256
max_compressed_frags = 2
num_pkrs = 16
Athlon @ Biostar
System: Kernel: 5.13.0-25-generic x86_64 bits: 64 compiler: gcc v: 11.2.0
parameters: BOOT_IMAGE=/boot/vmlinuz-5.13.0-25-generic root=UUID=6d7bc8bc-9a48-4184-83b2-2105249ddf32 ro
modprobe.blacklist=ast video=offb:off quiet splash vt.handoff=7
Desktop: MATE 1.26.0 info: mate-panel wm: marco 1.26.0 dm: LightDM 1.30.0 Distro: Ubuntu 21.10 (Impish Indri)
Machine: Type: Desktop Mobo: BIOSTAR model: X370GTN serial: N/A UEFI: American Megatrends v: 5.14 date: 11/20/2019
CPU: Info: Dual Core model: AMD Athlon 200GE with Radeon Vega Graphics socket: AM4 bits: 64 type: MT MCP arch: Zen
family: 17 (23) model-id: 11 (17) stepping: 0 microcode: 8101016 cache: L1: 192 KiB L2: 1024 KiB L3: 4 MiB
flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm bogomips: 25552
Speed: 2245 MHz min/max: 1600/3200 MHz base/boost: 3200/3200 boost: enabled volts: 1.3 V ext-clock: 100 MHz
Core speeds (MHz): 1: 2245 2: 1514 3: 2269 4: 1537
Vulnerabilities: Type: itlb_multihit status: Not affected
Type: l1tf status: Not affected
Type: mds status: Not affected
Type: meltdown status: Not affected
Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via prctl and seccomp
Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer sanitization
Type: spectre_v2 mitigation: Full AMD retpoline, IBPB: conditional, STIBP: disabled, RSB filling
Type: srbds status: Not affected
Type: tsx_async_abort status: Not affected
Graphics: Device-1: Advanced Micro Devices [AMD/ATI] Navi 21 [Radeon RX 6800/6800 XT / 6900 XT] vendor: XFX Limited
driver: amdgpu v: kernel bus-ID: 03:00.0 chip-ID: 1002:73bf class-ID: 0300
Display: server: X.Org 1.20.13 compositor: marco v: 1.26.0 driver: loaded: amdgpu,ati
unloaded: fbdev,modesetting,radeon,vesa display-ID: :0 screens: 1
Screen-1: 0 s-res: 2560x1440 s-dpi: 96 s-size: 677x381mm (26.7x15.0") s-diag: 777mm (30.6")
Monitor-1: HDMI-A-0 res: 2560x1440 hz: 60 dpi: 109 size: 597x336mm (23.5x13.2") diag: 685mm (27")
OpenGL: renderer: AMD Radeon RX 6900 XT (SIENNA_CICHLID DRM 3.41.0 5.13.0-25-generic LLVM 12.0.1)
v: 4.6 Mesa 21.2.2 direct render: Yes
name of display: :0
Device info:
pci (domain:bus:dev.func): 0000:03:00.0
name = SIENNA_CICHLID
marketing_name = AMD Radeon RX 6900 XT
is_pro_graphics = 0
pci_id = 0x73bf
pci_rev_id = 0xc0
family = 78
chip_class = 13
family_id = 143
chip_external_rev = 41
clock_crystal_freq = 100000
Features:
has_graphics = 1
num_rings[RING_GFX] = 1
num_rings[RING_DMA] = 2
num_rings[RING_COMPUTE] = 4
num_rings[RING_UVD] = 0
num_rings[RING_VCE] = 0
num_rings[RING_UVD_ENC] = 0
num_rings[RING_VCN_DEC] = 1
num_rings[RING_VCN_ENC] = 1
num_rings[RING_VCN_JPEG] = 1
has_clear_state = 1
has_distributed_tess = 1
has_dcc_constant_encode = 1
has_rbplus = 1
rbplus_allowed = 1
has_load_ctx_reg_pkt = 1
has_out_of_order_rast = 0
cpdma_prefetch_writes_memory = 0
has_gfx9_scissor_bug = 0
has_tc_compat_zrange_bug = 0
has_msaa_sample_loc_bug = 0
has_ls_vgpr_init_bug = 0
has_32bit_predication = 1
has_3d_cube_border_color_mipmap = 1
Display features:
use_display_dcc_unaligned = 0
use_display_dcc_with_retile_blit = 1
Memory info:
pte_fragment_size = 2097152
gart_page_size = 4096
gart_size = 16368 MB
vram_size = 16384 MB
vram_vis_size = 256 MB
vram_type = 9
vram_bit_width = 256
gds_size = 64 kB
gds_gfx_partition_size = 0 kB
max_alloc_size = 13108 MB
min_alloc_size = 256
address32_hi = 4294934528
has_dedicated_vram = 1
all_vram_visible = 0
smart_access_memory = 0
max_tcc_blocks = 16
num_tcc_blocks = 16
tcc_cache_line_size = 128
tcc_rb_non_coherent = 0
pc_lines = 1024
lds_size_per_workgroup = 131072
lds_alloc_granularity = 1024
lds_encode_granularity = 512
max_memory_clock = 1000
ce_ram_size = 65536
l1_cache_size = 16384
l2_cache_size = 4194304
CP info:
gfx_ib_pad_with_type2 = 0
ib_alignment = 1024
me_fw_version = 62
me_fw_feature = 38
pfp_fw_version = 86
pfp_fw_feature = 38
ce_fw_version = 36
ce_fw_feature = 38
Multimedia info:
uvd_decode = 0
vcn_decode = 1
jpeg_decode = 1
vce_encode = 0
uvd_encode = 0
vcn_encode = 1
uvd_fw_version = 0
vce_fw_version = 0
vce_harvest_config = 0
Kernel & winsys capabilities:
drm = 3.41.0
has_userptr = 1
has_syncobj = 1
has_timeline_syncobj = 1
has_fence_to_handle = 1
has_local_buffers = 0
kernel_flushes_hdp_before_ib = 1
htile_cmask_support_1d_tiling = 1
si_TA_CS_BC_BASE_ADDR_allowed = 1
has_bo_metadata = 1
has_gpu_reset_status_query = 1
has_eqaa_surface_allocator = 1
has_format_bc1_through_bc7 = 1
kernel_flushes_tc_l2_after_ib = 1
has_indirect_compute_dispatch = 1
has_unaligned_shader_loads = 1
has_sparse_vm_mappings = 1
has_2d_tiling = 1
has_read_registers_query = 1
has_gds_ordered_append = 1
has_scheduled_fence_dependency = 1
mid_command_buffer_preemption_enabled = 0
has_tmz_support = 0
Shader core info:
max_shader_clock = 2660
num_good_compute_units = 80
max_good_cu_per_sa = 10
min_good_cu_per_sa = 10
max_se = 4
num_se = 4
max_sa_per_se = 2
max_wave64_per_simd = 16
num_physical_sgprs_per_simd = 2048
num_physical_wave64_vgprs_per_simd = 512
num_simd_per_compute_unit = 2
min_sgpr_alloc = 128
max_sgpr_alloc = 104
sgpr_alloc_granularity = 128
min_wave64_vgpr_alloc = 4
max_vgpr_alloc = 256
wave64_vgpr_alloc_granularity = 4
use_late_alloc = 1
Render backend info:
pa_sc_tile_steering_override = 0x0
max_render_backends = 16
num_tile_pipes = 16
pipe_interleave_bytes = 256
enabled_rb_mask = 0xffff
max_alignment = 262144
pbb_max_alloc_count = 341
GB_ADDR_CONFIG: 0x00000444
num_pipes = 16
pipe_interleave_size = 256
max_compressed_frags = 2
num_pkrs = 16
If futher informations are required I'm happy to provide those.