Multi2Sim / multi2sim

Multi2Sim source code
GNU General Public License v3.0
115 stars 66 forks source link

Tests with HSA #51

Open mateustsantos opened 7 years ago

mateustsantos commented 7 years ago

Hi, I am having trouble using hsa, all results from the GPU I get is SimTime, Frequency and Cycles, all other relevant information results in 0 using southern islands, even the CyclesPerSecond.The Mult2Sim provides the others informations?

How can I make it run with a selected AMD using the souther islands that Multi2Sim provides? Can you provide me an example? When I am running some tests It seens it does not link with the GPU I want, it always use the HSA instead of the selected configuration with the --si-config.

Thank you in advance.

syifan commented 7 years ago

May I know what you want to do here? Do you want to run Southern-island GPU simulation? Our HSA model only has emulation support, so you are expected to see SimTime be 0 since the execution time is not counted.

mateustsantos commented 7 years ago

I would like to run Southern-island GPU simulation, what exactly I need to configure? If I use some benchmark that give support to GPU then will the Southern-island GPU simulation work just fine?

This is how I am trying to run:

./m2s --si-sim detailed --si-config /multi2sim/samples/southern-islands/7970/si-config /multi2sim/samples/hsa/histogram/hist

; Multi2Sim 5.0 - A Simulation Framework for CPU-GPU Heterogeneous Computing ; Please use command 'm2s --help' for a list of command-line options. ; Simulation alpha-numeric ID: CaCzs

Time summary: Cleanup: 0 second Initialize: 0 second Run: 0 second Summarize: 0 second

; ; Simulation Statistics Summary ;

[ General ] RealTime = 1.33 [s] SimEnd = ContextsFinished

[ SouthernIslands ] RealTime = 0.00 [s] Instructions = 0 InstructionsPerSecond = 0 NDRangeCount = 0 WorkGroupCount = 0 BranchInstructions = 0 LDSInstructions = 0 ScalarALUInstructions = 0 ScalarMemInstructions = 0 VectorALUInstructions = 0 VectorMemInstructions = 0 SimTime = 1.00 [ns] Frequency = 1000 [MHz] Cycles = 1 CyclesPerSecond = 0

[ x86 ] RealTime = 1.31 [s] Instructions = 1362609 InstructionsPerSecond = 1043683

[ HSA ] RealTime = 1.08 [s] Instructions = 2441728 InstructionsPerSecond = 2271155

syifan commented 7 years ago

OK, so I realize what is the problem. The HSA sample uses HSA runtime which is not supported by the Southern-island detailed simulator. Multi2Sim will redirect the GPU execution to the HSA emulator. That is why you see the HSA section. Since no code is executed by the southern-island simulator, the time is 0, which is desired.

Currently, Southern-Island model only supports OpenCL runtime. There are some pre-compiled benchmarks can be found here.