[gem5-users] Re: cpu and gpu in gcn3_x86 execute different test programs

2022-04-10 Thread Matt Sinclair via gem5-users
There is a failure you are hitting:

/HIP/rocclr/hip_global.cpp:69: guarantee(false && "Cannot find Symbol") 
___

How are you compiling your code?

Matt

-Original Message-
From: 17861509600--- via gem5-users  
Sent: Sunday, April 10, 2022 9:03 PM
To: gem5-users@gem5.org
Cc: 17861509...@163.com
Subject: [gem5-users] Re: cpu and gpu in gcn3_x86 execute different test 
programs

Hi ,
Below is the output of the program. After the program reaches this place, it 
does not continue to output, and does not stop for a long time.

Thanks,
Lins

gem5 Simulator System.  http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.

gem5 version 21.2.1.0
gem5 compiled Mar 28 2022 08:49:00
gem5 started Apr 11 2022 01:43:41
gem5 executing on 019855eecd51, pid 9
command line: ./build/GCN3_X86/gem5.opt -d /root/gem5/m5out/gcn_x86_401 
configs/example/apu_se2.py 
--benchmark-root=/root/spec06/CPU2006/401.bzip2/run/run_base_ref_amd64-m64-gcc42-nn.
 -c bzip2_base.amd64-m64-gcc42-nn -o 
/root/spec06/CPU2006/401.bzip2/run/run_base_ref_amd64-m64-gcc42-nn./input.combined
 --maxinsts=1 --cpu-type=DerivO3CPU --caches --cacheline_size=64 
--l1d_size=64kB --l1i_size=32kB --l1i_assoc=8 --l1d_assoc=8 --l2cache 
--l2_size=2MB --l2_assoc=8 --l3_size=32MB --l3_assoc=4 --mem-size=4096MB

Num SQC =  1 Num scalar caches =  1 Num CU =  4
warn: dir_cntrl0.memory is deprecated. The request port for Ruby memory output 
to the main memory is now called `memory_out_port` Global frequency set at 
1 ticks per second
warn: system.ruby.network adopting orphan SimObject param 'ext_links'
warn: system.ruby.network adopting orphan SimObject param 'int_links'
^C
build/GCN3_X86/mem/mem_interface.cc:791: warn: DRAM device capacity (8192 
Mbytes) does not match the address range assigned (4096 Mbytes)
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (5) does not divide 
range [1:75] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (2) does not divide 
range [1:10] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (2) does not divide 
range [1:64] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (1) does not 
divide range [1:1e+06] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (5) does not divide 
range [1:75] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (2) does not divide 
range [1:10] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (2) does not divide 
range [1:64] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (1) does not 
divide range [1:1e+06] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (5) does not divide 
range [1:75] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (2) does not divide 
range [1:10] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (2) does not divide 
range [1:64] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (1) does not 
divide range [1:1e+06] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (5) does not divide 
range [1:75] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (2) does not divide 
range [1:10] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (2) does not divide 
range [1:64] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (1) does not 
divide range [1:1e+06] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (1) does not 
divide range [1:1.6e+06] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (1) does not 
divide range [1:1.6e+06] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (1) does not 
divide range [1:1.6e+06] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (1) does not 
divide range [1:1.6e+06] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (1) does not 
divide range [1:1.6e+06] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (1) does not 
divide range [1:1.6e+06] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (1) does not 
divid

[gem5-users] Re: cpu and gpu in gcn3_x86 execute different test programs

2022-04-10 Thread 17861509600--- via gem5-users
Hi ,
Below is the output of the program. After the program reaches this place, it 
does not continue to output, and does not stop for a long time.

Thanks,
Lins

gem5 Simulator System.  http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.

gem5 version 21.2.1.0
gem5 compiled Mar 28 2022 08:49:00
gem5 started Apr 11 2022 01:43:41
gem5 executing on 019855eecd51, pid 9
command line: ./build/GCN3_X86/gem5.opt -d /root/gem5/m5out/gcn_x86_401 
configs/example/apu_se2.py 
--benchmark-root=/root/spec06/CPU2006/401.bzip2/run/run_base_ref_amd64-m64-gcc42-nn.
 -c bzip2_base.amd64-m64-gcc42-nn -o 
/root/spec06/CPU2006/401.bzip2/run/run_base_ref_amd64-m64-gcc42-nn./input.combined
 --maxinsts=1 --cpu-type=DerivO3CPU --caches --cacheline_size=64 
--l1d_size=64kB --l1i_size=32kB --l1i_assoc=8 --l1d_assoc=8 --l2cache 
--l2_size=2MB --l2_assoc=8 --l3_size=32MB --l3_assoc=4 --mem-size=4096MB

Num SQC =  1 Num scalar caches =  1 Num CU =  4
warn: dir_cntrl0.memory is deprecated. The request port for Ruby memory output 
to the main memory is now called `memory_out_port`
Global frequency set at 1 ticks per second
warn: system.ruby.network adopting orphan SimObject param 'ext_links'
warn: system.ruby.network adopting orphan SimObject param 'int_links'
^C
build/GCN3_X86/mem/mem_interface.cc:791: warn: DRAM device capacity (8192 
Mbytes) does not match the address range assigned (4096 Mbytes)
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (5) does not divide 
range [1:75] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (2) does not divide 
range [1:10] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (2) does not divide 
range [1:64] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (1) does not 
divide range [1:1e+06] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (5) does not divide 
range [1:75] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (2) does not divide 
range [1:10] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (2) does not divide 
range [1:64] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (1) does not 
divide range [1:1e+06] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (5) does not divide 
range [1:75] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (2) does not divide 
range [1:10] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (2) does not divide 
range [1:64] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (1) does not 
divide range [1:1e+06] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (5) does not divide 
range [1:75] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (2) does not divide 
range [1:10] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (2) does not divide 
range [1:64] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (1) does not 
divide range [1:1e+06] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (1) does not 
divide range [1:1.6e+06] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (1) does not 
divide range [1:1.6e+06] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (1) does not 
divide range [1:1.6e+06] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (1) does not 
divide range [1:1.6e+06] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (1) does not 
divide range [1:1.6e+06] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (1) does not 
divide range [1:1.6e+06] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (1) does not 
divide range [1:1.6e+06] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/statistics.hh:280: warn: One of the stats is a legacy stat. 
Legacy stat is a stat that does not belong to any statistics::Group. Legacy 
stat is deprecated.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (1) does not 
divide range [1:1.6e+06] into equal-sized buckets. Rounding up.
build/GCN3_X86/base/stats/storage.hh:279: warn: Bucket size (1) does not 

[gem5-users] Re: cpu and gpu in gcn3_x86 execute different test programs

2022-04-10 Thread Matt Sinclair via gem5-users
Hi,

I personally have never tried running CPU and GPU workloads simultaneously in 
gem5, so I don't have great answers here.  But what exactly is happening now?  
What is the last output you are seeing when you run your workload?

Thanks,
Matt

-Original Message-
From: 17861509600--- via gem5-users  
Sent: Sunday, April 10, 2022 8:37 AM
To: gem5-users@gem5.org
Cc: 17861509...@163.com
Subject: [gem5-users] cpu and gpu in gcn3_x86 execute different test programs

Hello, I use gcn3_x86 in gem5 to test the impact of interference between gpu 
programs and cpu program memory access requests on cpu and gpu performance. By 
modifying apu_se.py, I specify the test program for gpu as square, and the cpu 
test program as 401 of spec2006. I wanted to see if my idea would work, so I 
specified a maximum instruction count of 10. However, the program does 
not stop after execution, and no error is reported. There is no data in the 
output file stats.txt.

apu_se.py:

process = Process(executable = executable, cmd = [args.cmd]
  + args.options.split(), env = env)


#gpu workload
benchmark_path_gpu = ["/root/benchmark/src/gpu/square/bin"]
cmd_gpu = "square"
executable_gpu = find_path(benchmark_path_gpu, cmd_gpu, os.path.exists)

if os.path.isdir(executable_gpu):
benchmark_path_gpu = [executable_gpu]
executable_gpu = find_file(benchmark_path_gpu, cmd_gpu)

process_gpu = Process(executable = executable_gpu, cmd = [cmd_gpu],
  drivers = [gpu_driver, render_driver], env = env)

cpu_list[0].createThreads()
cpu_list[0].workload = process_gpu

for cpu in cpu_list[1:]:
cpu.createThreads()
cpu.workload = process

for cp in cp_list:
cp.workload = host_cpu.workload

if fast_forward:
for i in range(len(future_cpu_list)):
future_cpu_list[i].workload = cpu_list[i].workload
future_cpu_list[i].createThreads()

## Create the overall system  # 
List of CPUs that must be switched when moving between KVM and simulation if 
fast_forward:
switch_cpu_list = \
[(cpu_list[i], future_cpu_list[i]) for i in range(args.num_cpus)]

# Full list of processing cores in the system.
cpu_list = cpu_list + [shader] + cp_list

# creating the overall system
# notice the cpu list is explicitly added as a parameter to System system = 
System(cpu = cpu_list,
mem_ranges = [AddrRange(args.mem_size)],
cache_line_size = args.cacheline_size,
mem_mode = mem_mode,
workload = SEWorkload.init_compatible(executable))

run_gcn3_x86_401.sh:
spec2006path=/root/spec06/CPU2006
outdir=/root/gem5/m5out/gcn_x86_401
bench=401.bzip2
ben_suffix=run/run_base_ref_amd64-m64-gcc42-nn.
exe=bzip2_base.amd64-m64-gcc42-nn
input=input.combined

./build/GCN3_X86/gem5.opt -d $outdir configs/example/apu_se2.py \ 
--benchmark-root=$spec2006path/$bench/$ben_suffix -c $exe \ -o 
"$spec2006path/$bench/$ben_suffix/$input" \
--maxinsts=1 \
--cpu-type=DerivO3CPU \
--caches \
--cacheline_size=64 \
--l1d_size=64kB --l1i_size=32kB --l1i_assoc=8 --l1d_assoc=8 \ --l2cache 
--l2_size=2MB --l2_assoc=8 \ --l3_size=32MB --l3_assoc=4 \ --mem-size=4096MB 
___
gem5-users mailing list -- gem5-users@gem5.org To unsubscribe send an email to 
gem5-users-le...@gem5.org %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s