Hi,
I am a graduate student interested in GEM5 simulator and am currently trying to carry out experiments using gem5.
I compiled VEGA_X86/gem5.opt using gcn-gpu images on source gem5-v22.0.0, but it only seems to support VEGA10 (gfx900,gfx902), so my first question is, Does gem5 now support the newer VEGA20 (gfx906) model?
Second, I want to execute HIP assembly code, but in SE mode, gfx900 assembler V3 format kernel always generates the following error:
\
build/VEGA_X86/sim/syscall_emul.cc:74: warn: ignoring syscall get_mempolicy(...)
build/VEGA_X86/sim/syscall_emul.cc:74: warn: ignoring syscall madvise(...)
build/VEGA_X86/gpu-compute/gpu_compute_driver.cc:887: warn: unimplemented ioctl: AMDKFD_IOC_MAP_MEMORY_TO_GPU
kernel exec
build/VEGA_X86/arch/x86/faults.cc:165: panic: Tried to read unmapped address 0x7373656363e9.
PC: (0x7ffff6fb56e6=>0x7ffff6fb56ed).(0=>1), Instr: MOV_R_M : ld rdi, DS:[rax + 0x88]
Memory Usage: 2573064 KBytes
Program aborted at tick 80121757000\
I can't find the reason for the problem. My gfx900 assembler kernel code was obtained by compiling a simple HIP C program with the option save-temps, which should be fine because the gfx906 code I got the same way executes correctly on AMD GPU hardware devices.
Final,I want to use AMD's GPU performance profiling tool rocprofiler to analyze Benchmark behavior, but I don't know how to use this tool in the emulator. My confusion is that Benchmark has to be passed into a configuration script to make sense, rather than being used on its own, so the problem is how to use the tool to monitor the metrics gem5 emulates when the GPU component is executing a GPU program. Now there is no solution, how to use external performance analysis tools in the simulator? Also, is there a gprof tutorial supported by gem5?
Looking forward to your reply, thank you very much!
I have personally never tried gfx906 but in theory it should work. You
would have to change the config files to allow gfx906 as a valid option (
https://gem5.googlesource.com/public/gem5/+/refs/heads/develop/configs/example/apu_se.py#941)
and then see what happens.
Regarding the assembly error, I don't see a particular error with the
assembler -- it seems like you are saying gem5 just fails when you run
something with gfx900? The error in particular appears to be an error in
the gem5 CPU. There's not enough information here to help though. Please
let us know:
Regarding rocprof, I don't think you should need to run it with/in gem5.
gem5 emits its own stats in stats.txt. The rocprof profiler is intended
for running on a real GPU with your application. Why do yo need an
external performance measurement tool? Is there something that the gem5
stats doesn't provide you are looking for?
Matt
On Tue, Mar 7, 2023 at 12:48 AM gaohang980502--- via gem5-users <
gem5-users@gem5.org> wrote:
Hi,
I am a graduate student interested in GEM5 simulator and am currently
trying to carry out experiments using gem5.
I compiled VEGA_X86/gem5.opt using gcn-gpu images on source gem5-v22.0.0,
but it only seems to support VEGA10 (gfx900,gfx902), so my first question
is, Does gem5 now support the newer VEGA20 (gfx906) model?
Second, I want to execute HIP assembly code, but in SE mode, gfx900
assembler V3 format kernel always generates the following error:
build/VEGA_X86/sim/syscall_emul.cc:74: warn: ignoring syscall
get_mempolicy(...)
build/VEGA_X86/sim/syscall_emul.cc:74: warn: ignoring syscall madvise(...)
build/VEGA_X86/gpu-compute/gpu_compute_driver.cc:887: warn: unimplemented
ioctl: AMDKFD_IOC_MAP_MEMORY_TO_GPU
kernel exec
build/VEGA_X86/arch/x86/faults.cc:165: panic: Tried to read unmapped
address 0x7373656363e9.
PC: (0x7ffff6fb56e6=>0x7ffff6fb56ed).(0=>1), Instr: MOV_R_M : ld rdi,
DS:[rax + 0x88]
Memory Usage: 2573064 KBytes
Program aborted at tick 80121757000
I can't find the reason for the problem. My gfx900 assembler kernel code
was obtained by compiling a simple HIP C program with the option
save-temps, which should be fine because the gfx906 code I got the same way
executes correctly on AMD GPU hardware devices.
Final,I want to use AMD's GPU performance profiling tool rocprofiler to
analyze Benchmark behavior, but I don't know how to use this tool in the
emulator. My confusion is that Benchmark has to be passed into a
configuration script to make sense, rather than being used on its own, so
the problem is how to use the tool to monitor the metrics gem5 emulates
when the GPU component is executing a GPU program. Now there is no
solution, how to use external performance analysis tools in the simulator?
Also, is there a gprof tutorial supported by gem5?
Looking forward to your reply, thank you very much!
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-leave@gem5.org