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 1000000000. 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.0000
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=10000 \
--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 -- [email protected]
To unsubscribe send an email to [email protected]
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s