Hey folks. I'm trying out using dynamically allocated arrays to track
source and destination register indices in static and dynamic instructions
rather than fixed size arrays and would like to check what the impact on
performance is. I used to use the twolf SPEC benchmark for that since it
was fairly quick and easy to run but still ran long enough to get
meaningful results, but do we have something like that now that's maybe
even easier to set up? Or is easier for other people to run?

As far as the arrays, what I'm aiming at is to make it unnecessary to
measure the max number of indices needed and hence the minimum size of
those arrays since that centralized global value needs to reflect every
instruction in gem5, and it would be a bit of a pain to coordinate that
with multiple ISAs. Allocating those arrays statically as part of the
StaticInst or DynInst classes makes allocation cheaper since it just makes
the classes a little bigger, and making them dynamic will inevitably
involve secondary allocations to give the vectors (for instance) their
backing store. I'm hopeful it won't be that bad though, since StaticInsts
are usually reused from a cache and not reallocated, and dynamic
instructions are used in CPUs which already have lots of other, more
substantial overhead.

Gabe
_______________________________________________
gem5-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to