Ayaz,

I use the AMD system as part of my computer architecture class. It has MIPS and 
RISCV compilers on it. I will make sure that the X86 gcc tools are also in 
place (I think it should be there). The VM system should have been setup the 
same way (I generated both MIPS and RISCV designs on the VM system.)

Nick

From: Ayaz Akram <yazak...@ucdavis.edu>
Sent: Saturday, June 3, 2023 11:38 PM
To: The gem5 Users mailing list <gem5-users@gem5.org>
Cc: Beser, Nicholas D. <nick.be...@jhuapl.edu>
Subject: [EXT] Re: [gem5-users] Possible bug between X86 processors?

APL external email warning: Verify sender 
yazak...@ucdavis.edu<mailto:yazak...@ucdavis.edu> before clicking links or 
attachments



Hi,

The question is: Do I build the AMD system differently?

gem5 does not need to be built differently on different host platforms.

build/X86/base/loader/image_file_data.cc:54: panic: panic condition sz != 2 
occurred: Couldn't read magic bytes from object file

This error usually shows up if there is something wrong with the elf of the 
binary that is being simulated (for example different ISA than the ISA gem5 
binary expects). I wonder if you see the same error for other binaries/programs 
on the AMD system?

-Ayaz

On Sat, Jun 3, 2023 at 11:12 AM Beser, Nicholas D. via gem5-users 
<gem5-users@gem5.org<mailto:gem5-users@gem5.org>> wrote:
I am working my way through the bootcamp 2022 tutorial, and I noticed something 
odd. It suggests that if I have different types of X86 processors, I may have 
issues in execution.

I was working with two different systems. A slower (6 core) VM system (genuine 
intel), and a AMD Ryzen 9 16 core processor. I tried to run the 
hello-world-with-cache-complete.py code on both systems. The VM system 
succeeded. The AMD system failed. In addition to the terminal output, I am 
including the output of lscpu. The question is: Do I build the AMD system 
differently? I recompiled the matrix-multiply routine thinking that it might 
have a problem with the executable, but I got the same error:

Here is the VM terminal dump:

$ build/X86/gem5.opt 
../materials/using-gem5/02-stdlib/complete/hello-world-with-cache-complete.py
gem5 Simulator System.  https://www.gem5.org
gem5 is copyrighted software; use the --copyright option for details.

gem5 version 22.0.0.0
gem5 compiled Jun  3 2023 10:44:14
gem5 started Jun  3 2023 13:50:32
gem5 executing on besernd1-vm5, pid 980747
command line: build/X86/gem5.opt 
../materials/using-gem5/02-stdlib/complete/hello-world-with-cache-complete.py

warn: The `get_runtime_isa` function is deprecated. Please migrate away from 
using this function.
warn: The simulate package is still in a beta state. The gem5 project does not 
guarantee the APIs within this package will remain consistent across upcoming 
releases.
Global frequency set at 1000000000000 ticks per second
warn: failed to generate dot output from m5out/config.dot
build/X86/mem/dram_interface.cc:690: warn: DRAM device capacity (8192 Mbytes) 
does not match the address range assigned (1024 Mbytes)
0: board.remote_gdb: listening for remote gdb on port 7000
build/X86/sim/simulate.cc:194: info: Entering event queue @ 0.  Starting 
simulation...
build/X86/sim/mem_state.cc:443: info: Increasing stack size by one page.
build/X86/sim/syscall_emul.cc:74: warn: ignoring syscall mprotect(...)
build/X86/sim/syscall_emul.cc:74: warn: ignoring syscall mprotect(...)
build/X86/sim/syscall_emul.cc:74: warn: ignoring syscall mprotect(...)
build/X86/sim/mem_state.cc:443: info: Increasing stack size by one page.
build/X86/sim/mem_state.cc:443: info: Increasing stack size by one page.
build/X86/sim/mem_state.cc:443: info: Increasing stack size by one page.
build/X86/sim/mem_state.cc:443: info: Increasing stack size by one page.
build/X86/sim/mem_state.cc:443: info: Increasing stack size by one page.
build/X86/sim/mem_state.cc:443: info: Increasing stack size by one page.
build/X86/sim/mem_state.cc:443: info: Increasing stack size by one page.
build/X86/sim/mem_state.cc:443: info: Increasing stack size by one page.
build/X86/sim/mem_state.cc:443: info: Increasing stack size by one page.
build/X86/sim/mem_state.cc:443: info: Increasing stack size by one page.
build/X86/sim/mem_state.cc:443: info: Increasing stack size by one page.
build/X86/sim/mem_state.cc:443: info: Increasing stack size by one page.
build/X86/sim/mem_state.cc:443: info: Increasing stack size by one page.
build/X86/sim/mem_state.cc:443: info: Increasing stack size by one page.
build/X86/sim/mem_state.cc:443: info: Increasing stack size by one page.
build/X86/sim/mem_state.cc:443: info: Increasing stack size by one page.
build/X86/sim/mem_state.cc:443: info: Increasing stack size by one page.
build/X86/sim/mem_state.cc:443: info: Increasing stack size by one page.
build/X86/sim/mem_state.cc:443: info: Increasing stack size by one page.
build/X86/sim/mem_state.cc:443: info: Increasing stack size by one page.
build/X86/sim/mem_state.cc:443: info: Increasing stack size by one page.
build/X86/sim/mem_state.cc:443: info: Increasing stack size by one page.
build/X86/sim/mem_state.cc:443: info: Increasing stack size by one page.
build/X86/sim/mem_state.cc:443: info: Increasing stack size by one page.
build/X86/sim/mem_state.cc:443: info: Increasing stack size by one page.
build/X86/sim/mem_state.cc:443: info: Increasing stack size by one page.
build/X86/sim/mem_state.cc:443: info: Increasing stack size by one page.
build/X86/sim/mem_state.cc:443: info: Increasing stack size by one page.
build/X86/sim/mem_state.cc:443: info: Increasing stack size by one page.
Populating the first and second matrix...
Done!
Multiplying the matrixes...
Done!
Calculating the sum of all elements in the matrix...
Done
The sum is 57238500000
(gem5G) besernd1@besernd1-vm5:~/gem5-bootcamp-env/gem5$ lscpu
Architecture:                    x86_64
CPU op-mode(s):                  32-bit, 64-bit
Byte Order:                      Little Endian
Address sizes:                   43 bits physical, 48 bits virtual
CPU(s):                          6
On-line CPU(s) list:             0-5
Thread(s) per core:              1
Core(s) per socket:              1
Socket(s):                       6
NUMA node(s):                    1
Vendor ID:                       GenuineIntel
CPU family:                      6
Model:                           85
Model name:                      Intel(R) Xeon(R) Gold 6226R CPU @ 2.90GHz
Stepping:                        0
CPU MHz:                         2893.202
BogoMIPS:                        5786.40
Hypervisor vendor:               VMware
Virtualization type:             full
L1d cache:                       192 KiB
L1i cache:                       192 KiB
L2 cache:                        6 MiB
L3 cache:                        132 MiB
NUMA node0 CPU(s):               0-5
Vulnerability Itlb multihit:     KVM: Mitigation: VMX unsupported
Vulnerability L1tf:              Mitigation; PTE Inversion
Vulnerability Mds:               Mitigation; Clear CPU buffers; SMT Host state
                                 unknown
Vulnerability Meltdown:          Mitigation; PTI
Vulnerability Mmio stale data:   Mitigation; Clear CPU buffers; SMT Host state
                                 unknown
Vulnerability Retbleed:          Mitigation; IBRS
Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled
                                 via prctl and seccomp
Vulnerability Spectre v1:        Mitigation; usercopy/swapgs barriers and __use
                                 r pointer sanitization
Vulnerability Spectre v2:        Mitigation; IBRS, IBPB conditional, RSB fillin
                                 g, PBRSB-eIBRS Not affected
Vulnerability Srbds:             Not affected
Vulnerability Tsx async abort:   Not affected
Flags:                           fpu vme de pse tsc msr pae mce cx8 apic sep mt
                                 rr pge mca cmov pat pse36 clflush mmx fxsr sse
                                  sse2 ss syscall nx pdpe1gb rdtscp lm constant
                                 _tsc arch_perfmon nopl xtopology tsc_reliable
                                 nonstop_tsc cpuid tsc_known_freq pni pclmulqdq
                                  ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movb
                                 e popcnt tsc_deadline_timer aes xsave avx f16c
                                  rdrand hypervisor lahf_lm abm 3dnowprefetch i
                                 nvpcid_single pti ssbd ibrs ibpb stibp fsgsbas
                                 e tsc_adjust bmi1 avx2 smep bmi2 invpcid avx51
                                 2f avx512dq rdseed adx smap clflushopt clwb av
                                 x512cd avx512bw avx512vl xsaveopt xsavec xsave
                                 s arat pku ospke md_clear flush_l1d arch_capab
                                 ilities

Here is the terminal dump from the AMD X86 system:
$ build/X86/gem5.opt 
../materials/using-gem5/02-stdlib/complete/hello-world-with-cache-complete.py
gem5 Simulator System.  https://www.gem5.org
gem5 is copyrighted software; use the --copyright option for details.

gem5 version 22.1.0.0
gem5 compiled Jun  3 2023 10:44:55
gem5 started Jun  3 2023 13:52:26
gem5 executing on beserai, pid 1160110
command line: build/X86/gem5.opt 
../materials/using-gem5/02-stdlib/complete/hello-world-with-cache-complete.py

warn: An ISA for the SimpleProcessor was not set. This will result in usage of 
`runtime.get_runtime_isa` to obtain the ISA. This function is deprecated and 
will be removed in future releases of gem5. Please explicitly state the ISA via 
the processor constructor.
warn: The `get_runtime_isa` function is deprecated. Please migrate away from 
using this function.
build/X86/base/loader/image_file_data.cc:54: panic: panic condition sz != 2 
occurred: Couldn't read magic bytes from object file
Memory Usage: 131104 KBytes
Program aborted at tick 0
--- BEGIN LIBC BACKTRACE ---
build/X86/gem5.opt(+0xbc4260)[0x565521a33260]
build/X86/gem5.opt(+0xbe9a8c)[0x565521a58a8c]
/usr/lib/x86_64-linux-gnu/libc.so.6(+0x42520)[0x7f1e81efa520]
/usr/lib/x86_64-linux-gnu/libc.so.6(pthread_kill+0x12c)[0x7f1e81f4ea7c]
/usr/lib/x86_64-linux-gnu/libc.so.6(raise+0x16)[0x7f1e81efa476]
/usr/lib/x86_64-linux-gnu/libc.so.6(abort+0xd3)[0x7f1e81ee07f3]
build/X86/gem5.opt(+0x452c35)[0x5655212c1c35]
build/X86/gem5.opt(+0x15e2f51)[0x565522451f51]
build/X86/gem5.opt(+0x15e3c61)[0x565522452c61]
build/X86/gem5.opt(+0xcd7a92)[0x565521b46a92]
build/X86/gem5.opt(+0x44c512)[0x5655212bb512]
/usr/lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x12b6d3)[0x7f1e82e646d3]
/usr/lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyObject_MakeTpCall+0x8c)[0x7f1e82e1f1ac]
/usr/lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyEval_EvalFrameDefault+0x9dcc)[0x7f1e82db4a0c]
/usr/lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x1c681f)[0x7f1e82eff81f]
/usr/lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0xe7618)[0x7f1e82e20618]
/usr/lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyEval_EvalFrameDefault+0x9d78)[0x7f1e82db49b8]
/usr/lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x1c681f)[0x7f1e82eff81f]
/usr/lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0xe7618)[0x7f1e82e20618]
/usr/lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyEval_EvalFrameDefault+0x9d78)[0x7f1e82db49b8]
/usr/lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x1c681f)[0x7f1e82eff81f]
/usr/lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0xe7618)[0x7f1e82e20618]
/usr/lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyEval_EvalFrameDefault+0x9d78)[0x7f1e82db49b8]
/usr/lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x1c681f)[0x7f1e82eff81f]
/usr/lib/x86_64-linux-gnu/libpython3.10.so.1.0(PyEval_EvalCode+0xbe)[0x7f1e82efa94e]
/usr/lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x1c1edd)[0x7f1e82efaedd]
/usr/lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x12eb13)[0x7f1e82e67b13]
/usr/lib/x86_64-linux-gnu/libpython3.10.so.1.0(_PyEval_EvalFrameDefault+0x69ee)[0x7f1e82db162e]
/usr/lib/x86_64-linux-gnu/libpython3.10.so.1.0(+0x1c681f)[0x7f1e82eff81f]
build/X86/gem5.opt(+0xbea8e7)[0x565521a598e7]
build/X86/gem5.opt(+0x3f1738)[0x565521260738]
/usr/lib/x86_64-linux-gnu/libc.so.6(+0x29d90)[0x7f1e81ee1d90]
--- END LIBC BACKTRACE ---
Aborted (core dumped)
nbeser1@beserai:~/gem5-bootcamp-env/gem5$ lscpu
Architecture:            x86_64
  CPU op-mode(s):        32-bit, 64-bit
  Address sizes:         43 bits physical, 48 bits virtual
  Byte Order:            Little Endian
CPU(s):                  32
  On-line CPU(s) list:   0-31
Vendor ID:               AuthenticAMD
  Model name:            AMD Ryzen 9 3950X 16-Core Processor
    CPU family:          23
    Model:               113
    Thread(s) per core:  2
    Core(s) per socket:  16
    Socket(s):           1
    Stepping:            0
    Frequency boost:     enabled
    CPU max MHz:         3500.0000
    CPU min MHz:         2200.0000
    BogoMIPS:            6986.53
    Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge 
mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt 
pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc c
                         puid extd_apicid aperfmperf rapl pni pclmulqdq monitor 
ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm 
cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse
                          3dnowprefetch osvw ibs skinit wdt tce topoext 
perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate 
ssbd mba ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm r
                         dt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt 
xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero 
irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_loc
                         k nrip_save tsc_scale vmcb_clean flushbyasid 
decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl 
umip rdpid overflow_recov succor smca sme sev sev_es
Virtualization features:
  Virtualization:        AMD-V
Caches (sum of all):
  L1d:                   512 KiB (16 instances)
  L1i:                   512 KiB (16 instances)
  L2:                    8 MiB (16 instances)
  L3:                    64 MiB (4 instances)
NUMA:
  NUMA node(s):          1
  NUMA node0 CPU(s):     0-31
Vulnerabilities:
  Itlb multihit:         Not affected
  L1tf:                  Not affected
  Mds:                   Not affected
  Meltdown:              Not affected
  Mmio stale data:       Not affected
  Retbleed:              Mitigation; untrained return thunk; SMT enabled with 
STIBP protection
  Spec store bypass:     Mitigation; Speculative Store Bypass disabled via 
prctl and seccomp
  Spectre v1:            Mitigation; usercopy/swapgs barriers and __user 
pointer sanitization
  Spectre v2:            Mitigation; Retpolines, IBPB conditional, STIBP 
always-on, RSB filling, PBRSB-eIBRS Not affected
  Srbds:                 Not affected
  Tsx async abort:       Not affected


_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org<mailto:gem5-users@gem5.org>
To unsubscribe send an email to 
gem5-users-le...@gem5.org<mailto:gem5-users-le...@gem5.org>
_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org

Reply via email to