CMU-SAFARI / ramulator-pim

A fast and flexible simulation infrastructure for exploring general-purpose processing-in-memory (PIM) architectures. Ramulator-PIM combines a widely-used simulator for out-of-order and in-order processors (ZSim) with Ramulator, a DRAM simulator with memory models for DDRx, LPDDRx, GDDRx, WIOx, HBMx, and HMCx. Ramulator is described in the IEEE CAL 2015 paper by Kim et al. at https://people.inf.ethz.ch/omutlu/pub/ramulator_dram_simulator-ieee-cal15.pdf Ramulator-PIM is used in the DAC 2019 paper by Singh et al. at https://people.inf.ethz.ch/omutlu/pub/NAPEL-near-memory-computing-performance-prediction-via-ML_dac19.pdf
144 stars 60 forks source link

host code #4

Open ysreea opened 4 years ago

ysreea commented 4 years ago

Hi, When I tried to run the zsim code for host.cfg(./build/opt/zsim tests/host.cfg).It's not generating multiple traces for multiple cores. But pim.cfg seems like working fine though. Can someone please let me know what might be the possible thing I'm missing here.

dchakra336 commented 4 years ago

Hi, I'm facing the same issue. Setting the merge_hostTraces knob to either true or false raises an error. Any updates?

minititanxi commented 4 years ago

I meet the same problem, and i did not find the way to solve it.

maryam1364 commented 4 years ago

@dchakra336 : For host processing versus pim processing, you need to run Ramulator a little bit different. You can run Ramulator with split traces to be true or split traces to be false.
I did this for my runs and it works fine.

dchakra336 commented 4 years ago

@maryam1364: That's great! How did you run it differently?

maryam1364 commented 4 years ago

When there is one trace file, run ramulator without --split-trace option!

geraldofojunior commented 4 years ago

Hi, the host code is always generated into a single file to ensure that the DRAM memory requests are ordered following the application's memory access pattern when simulating the host configuration on Ramulator. Recall that host traces are filtered by L3 in zsim and are intended to be used to simulate only the memory device on Ramulator (without PIM cores). Therefore, there is no reason to split host traces per core id.

I would advise to not use split traces for host code. Also, I would advise to not run host traces on PIM mode in Ramulator.

FanYang98 commented 3 years ago

Hi, the host code is always generated into a single file to ensure that the DRAM memory requests are ordered following the application's memory access pattern when simulating the host configuration on Ramulator. Recall that host traces are filtered by L3 in zsim and are intended to be used to simulate only the memory device on Ramulator (without PIM cores). Therefore, there is no reason to split host traces per core id.

I would advise to not use split traces for host code. Also, I would advise to not run host traces on PIM mode in Ramulator.

Hi, if i follow your configuration on Ramulator,i can't get host.stats to compare with pim.stats . So how can i get the host.stats ? Thanks!

FanYang98 commented 3 years ago

@maryam1364 hi ,when i run ramulator without --split-trace option,i get a meaningless stats file. 😭 is there any problem ?

maryam1364 commented 3 years ago

@XDUFanYang : For host run: it creates one ".out" file and when I want to run Ramulator, I make sure that split-traces option is false. For PIM run: it creates 4 ".out" file. and when I run Ramulator, I makes sure that split-trace option is true.

I was working with ramulator-pim 6 months ago and these are the things I remember.

FanYang98 commented 3 years ago

@XDUFanYang : For host run: it creates one ".out" file and when I want to run Ramulator, I make sure that split-traces option is false. For PIM run: it creates 4 ".out" file. and when I run Ramulator, I makes sure that split-trace option is true.

I was working with ramulator-pim 6 months ago and these are the things I remember.

Thx, I got!