how did aladdin combined with gem5

389 views
Skip to first unread message

gejianc...@gmail.com

unread,
Apr 18, 2018, 5:48:41 AM4/18/18
to gem5-Aladdin users
hello, Sam
Recently, I reviewed the paper "Co-Designing Accelerators and SoC Interfaces using gem5-Aladdin". And I have some questions about gem5-aladdin.
    1. We can use aladdin simulator to evaluate the performance and power of accelerated functions by analyzing the dynamic_trace.gz. In the process, why do we need gem5? Do we need gem5 to create the dynamic_trace.gz or just need to get the power consumption of CPU?
    2. And what is transferred between gem5 and aladdin simulator or aladdin is just integrated into gem5?
    3. The cache problem. Here's the figure from  "Co-Designing Accelerators and SoC Interfaces using gem5-Aladdin"





















I have different understanding with my mentor about the cache accelerator. I thought the cache just replace the role of Scratchpad in Scratchpad accelerator, and of course, it will come to the coherence problem. And my mentor thought when an accelerator use cache, it must be instruction-driven core, not data-driven. And now, I am confused.
And another problem is that when I write the config_file like:


And I got an error:

[ERROR]: Node 3 tried to access array "a", which does not exist: Unknown array "a". Please ensure that you have declared this array in your Aladdin configuration file with the correct partition type, size, and partition factor, and that you have not renamed pointers in your code (except through function calls).

can you help me? please.

Thank you.

Ge


Sam Xi

unread,
Apr 21, 2018, 1:07:48 AM4/21/18
to gejianc...@gmail.com, gem5-Aladdin users
  1. gem5 gives you modeling capabilities for DRAM, caches, CPUs, and more. the dynamic trace is generated by LLVM-Tracer.
  2. gem5-aladdin is the integrated simulator. The two simulators exchange actual data in the program (like the contents of an array) when you perform a DMA load/store, for example.
  3. Depends on what you mean by instruction-driven core, but a cache could be used even if all your hardware contained was some FSMs that issued read/write requests to the cache.
  4. If you share your code, I can help you further. But one thing you should note is that if you map an array to a cache, you don't need to specify its size. 
--
You received this message because you are subscribed to the Google Groups "gem5-Aladdin users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gem5-aladdin-us...@googlegroups.com.
To post to this group, send email to gem5-alad...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/gem5-aladdin-users/97b6de32-0447-4710-8b19-5c71bc0856b1%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
Thanks,

Sam Xi
Harvard University
Computer Science, Ph.D. Candidate
Reply all
Reply to author
Forward
0 new messages