Hi All,
I was trying to do Simpoint Analysis for a benchmark in LLVM-Test Suite. I used the following references: 1. http://cluelessram.blogspot.com/2017/10/using-simpoint-in-gem5-to-speed-up_11.html 2. http://gem5.org/Simpoints Following are the steps I followed for Simpoint Analysis: 1. I downloaded the LLVM Test Suite and cross compiled with an ARM cross compiler. 2. i ran the following command to generate simpoint.bb.gz (basic block vectors): ./build/ARM/gem5.opt configs/example/se.py --cpu-type=AtomicSimpleCPU --cmd=../LLVM_Test_Suite/SingleSource/Benchmarks/Stanford/Puzzle --simpoint-profile --simpoint-interval 10000000 3. Downloaded the simpoint software from http://cseweb.ucsd.edu/~calder/simpoint/simpoint-3-0.htm and ran the following command to generate simpoints and their corresponding weights ./simpoint -loadFVFile simpoint.bb.gz -maxK 30 -saveSimpoints simpoint_pts_Puzzle -saveSimpointWeights simpoint_wts_Puzzle -inputVectorsGzipped 4. Created checkpoints using the following command: ./build/ARM/gem5.opt configs/example/se.py --cpu-type=AtomicSimpleCPU --cmd=../LLVM_Test_Suite/SingleSource/Benchmarks/Stanford/Puzzle --take-simpoint-checkpoint=Simpoints_and_Weights/simpoint_Puzzle_pts,Simpoints_and_Weights/simpoint_Puzzle_wts, 10000000,10000000 which generated checkpoints in m5out/ 5. Now to resume from a checkpoint and get the stats I ran the following command: ./build/ARM/gem5.opt configs/example/se.py --restore-simpoint-checkpoint -r 1 --checkpoint-dir m5out/ --cpu-type=AtomicSimpleCPU --restore-with-cpu=O3_ARM_v7a_3 --caches --cmd=../LLVM_Test_Suite/SingleSource/Benchmarks/Stanford/Puzzle When i ran the entire benchmark with the following command ./build/ARM/gem5.opt configs/example/se.py --cpu-type=O3_ARM_v7a_3 --caches --cmd=../LLVM_Test_Suite/SingleSource/Benchmarks/Stanford/Puzzle I got the following stats: system.cpu.timesIdled 291 # Number of times that the entire CPU went into an idle state and unscheduled itself system.cpu.idleCycles 31129 # Total number of cycles that the CPU has spent unscheduled due to idling system.cpu.committedInsts 1630225413 # Number of Instructions Simulated system.cpu.committedOps 1634923553 # Number of Ops (including micro ops) Simulated system.cpu.cpi 0.571180 # CPI: Cycles Per Instruction system.cpu.cpi_total 0.571180 # CPI: Total CPI of All Threads system.cpu.ipc 1.750763 # IPC: Instructions Per Cycle system.cpu.ipc_total 1.750763 # IPC: Total IPC of All Threads When I ran gem5 for one of the checkpoint i got the following stat: (other checkpoints also have similar stats) system.cpu.idleCycles 235 # Total number of cycles that the CPU has spent unscheduled due to idling system.cpu.committedInsts 1 # Number of Instructions Simulated system.cpu.committedOps 1 # Number of Ops (including micro ops) Simulated system.cpu.cpi 302.000000 # CPI: Cycles Per Instruction system.cpu.cpi_total 302.000000 # CPI: Total CPI of All Threads system.cpu.ipc 0.003311 # IPC: Instructions Per Cycle system.cpu.ipc_total 0.003311 # IPC: Total IPC of All Threads Could someone tell me why the number of committed instructions in the stats from the checkpoint is only 1. Am i going wrong in any of the above steps? Please, help. -- Thanks and regards Siva Sankar G -- Thanks and regards Siva Sankar G
_______________________________________________ gem5-users mailing list [email protected] http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
