s5z / zsim

A fast and scalable x86-64 multicore simulator
GNU General Public License v2.0
337 stars 186 forks source link

Can use trace to drive ZSIM? #226

Open Taya666 opened 5 years ago

Taya666 commented 5 years ago

Hi guys! I was wondering whether Zsim could not be driven by trace file. If it support that,what format the trace file need? and how could I use trace driven? Thanks for help!

hlitz commented 5 years ago

check out our memtrace fork: https://github.com/stanford-mast/zsim/tree/memtrace

On Fri, Mar 22, 2019 at 7:20 AM Taya notifications@github.com wrote:

Hi guys! I was wondering whether Zsim could not be driven by trace file. If it support that,what format the trace file need? and how could I use trace driven? Thanks for help!

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/s5z/zsim/issues/226, or mute the thread https://github.com/notifications/unsubscribe-auth/ADZKfp0uEYmmoAB1_0VoPuxPYThlStP3ks5vZOaPgaJpZM4cDrLo .

Taya666 commented 5 years ago

check out our memtrace fork: https://github.com/stanford-mast/zsim/tree/memtrace On Fri, Mar 22, 2019 at 7:20 AM Taya @.***> wrote: Hi guys! I was wondering whether Zsim could not be driven by trace file. If it support that,what format the trace file need? and how could I use trace driven? Thanks for help! — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#226>, or mute the thread https://github.com/notifications/unsubscribe-auth/ADZKfp0uEYmmoAB1_0VoPuxPYThlStP3ks5vZOaPgaJpZM4cDrLo .

Thank you very much for your reply! Because I have made a series of modifications to this repository's zsim, I would like to ask if I could use trace driven simulation in this repository's zsim by only using the trace.cfg that in your mentioned fork?

hlitz commented 5 years ago

No, check out the git log we completely rewrote the frontend. Our changes are relatively self contained so you might be able to revise your changes on top of ours

On Sat, Mar 23, 2019, 5:56 AM Taya notifications@github.com wrote:

check out our memtrace fork: https://github.com/stanford-mast/zsim/tree/memtrace … <#m-8454921154833846007> On Fri, Mar 22, 2019 at 7:20 AM Taya @.***> wrote: Hi guys! I was wondering whether Zsim could not be driven by trace file. If it support that,what format the trace file need? and how could I use trace driven? Thanks for help! — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#226 https://github.com/s5z/zsim/issues/226>, or mute the thread https://github.com/notifications/unsubscribe-auth/ADZKfp0uEYmmoAB1_0VoPuxPYThlStP3ks5vZOaPgaJpZM4cDrLo .

Thank you very much for your reply! Because I have made a series of modifications to this repository's zsim, I would like to ask if I could use trace driven simulation in this repository's zsim by only using the trace.cfg that in your mentioned fork?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/s5z/zsim/issues/226#issuecomment-475867604, or mute the thread https://github.com/notifications/unsubscribe-auth/ADZKfuzU-ukEHUgFuKw6xYMOThAWfoULks5vZiSFgaJpZM4cDrLo .

Taya666 commented 5 years ago

No, check out the git log we completely rewrote the frontend. Our changes are relatively self contained so you might be able to revise your changes on top of ours

Thank you so much for your help!

Taya666 commented 5 years ago

I am really so sorry to disturb again. I met some problem when building the zsim( memtrace fork). I have been built and set the XED DRIO. I changed the line in tarce_reader.cpp according to mine #include "/home/hlitz/dynamorio/clients/drcachesim/analyzer.cpp"

But whenscons -j16 it reported that:

g++ -o build/opt/trace_reader.o -c -march=core2 -g -O3 -funroll-loops -g -std=c++0x -Wall -Wno-unknown-pragmas -fomit-frame-pointer -fno-stack-protector -MMD -DBIGARRAY_MULTIPLIER=1 -DUSING_XED -DTARGET_IA32E -DHOST_IA32E -fPIC -DTARGET_LINUX -fabi-version=2 -D_GLIBCXX_USE_CXX11_ABI=0 -Werror -Wno-unused-function -Wno-int-in-bool-context -DHDF5INCPREFIX="hdf5/serial/" -DPIN_PATH="/home/taya/zsim-nvmain/axle-zsim-nvmain-master/pin_kit/intel64/bin/pinbin" -DZSIM_PATH="/home/taya/zsim_nvmain_memtrace/zsim-memtrace/build/opt/libzsim.so" -DTRACE_BASED=1 -std=c++11 -DTRACE_BASED=1 -I/home/taya/zsim_nvmain_memtrace/xed/include -I/home/taya/zsim_nvmain_memtrace/xed/obj -I/home/taya/zsim_nvmain_memtrace/xed/include/public/xed -I/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim -I/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/common -I/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/reader -I/home/taya/zsim-nvmain/axle-zsim-nvmain-master/pin_kit/source/include -I/home/taya/zsim-nvmain/axle-zsim-nvmain-master/pin_kit/source/include/gen -I/home/taya/zsim-nvmain/axle-zsim-nvmain-master/pin_kit/extras/components/include -Ibuild/opt build/opt/trace_reader.cpp
printf "#define ZSIM_BUILDDATE \"`date`\"\n#define ZSIM_BUILDVERSION \"no git repo\"" >>build/opt/version.h
g++ -o build/opt/zsim_trace build/opt/access_tracing.o build/opt/cache.o build/opt/cache_arrays.o build/opt/cache_prefetcher.o build/opt/coherence_ctrls.o build/opt/contention_sim.o build/opt/core_recorder.o build/opt/ddr_mem.o build/opt/detailed_mem.o build/opt/detailed_mem_params.o build/opt/dramsim_mem_ctrl.o build/opt/ghb_prefetcher.o build/opt/hash.o build/opt/hdf5_stats.o build/opt/lookahead.o build/opt/mem_ctrls.o build/opt/memory_hierarchy.o build/opt/monitor.o build/opt/network.o build/opt/next_line_prefetcher.o build/opt/null_core.o build/opt/ooo_core.o build/opt/ooo_core_recorder.o build/opt/parse_vdso.o build/opt/partition_mapper.o build/opt/prefetcher.o build/opt/simple_core.o build/opt/stats_filter.o build/opt/table_prefetcher.o build/opt/text_stats.o build/opt/timing_cache.o build/opt/timing_core.o build/opt/timing_event.o build/opt/trace_decoder.o build/opt/trace_driver.o build/opt/trace_init.o build/opt/trace_zsim.o build/opt/tracing_cache.o build/opt/utility_monitor.o build/opt/config.o build/opt/galloc.o build/opt/log.o build/opt/pin_cmd.o build/opt/trace_reader.o -L/home/taya/zsim_nvmain_memtrace/xed/obj -L/home/taya/zsim_nvmain_memtrace/dynamorio/build/clients/lib64/release -lconfig++ -lpthread -lhdf5_serial -lhdf5_serial_hl -lz -lxed -ldrmemtrace -ldrmemtrace_analyzer
build/opt/trace_reader.o: In function `analyzer_t::init_file_reader(std::string const&, int)':
/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/analyzer.cpp:103: undefined reference to `directory_iterator_t::is_directory(std::string const&)'
build/opt/trace_reader.o: In function `analyzer_t::init_file_reader(std::string const&, int)':
/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/common/directory_iterator.h:58: **undefined reference to `vtable for directory_iterator_t'**
build/opt/trace_reader.o: In function `analyzer_t::init_file_reader(std::string const&, int)':
/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/analyzer.cpp:105: undefined reference to `directory_iterator_t::directory_iterator_t(std::string const&)'
/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/analyzer.cpp:111: undefined reference to `directory_iterator_t::operator++()'
/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/analyzer.cpp:112: undefined reference to `directory_iterator_t::operator*()'
/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/analyzer.cpp:105: undefined reference to `directory_iterator_t::~directory_iterator_t()'
/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/analyzer.cpp:131: undefined reference to `directory_iterator_t::~directory_iterator_t()'
/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/analyzer.cpp:109: undefined reference to `directory_iterator_t::~directory_iterator_t()'
/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/analyzer.cpp:109: undefined reference to `directory_iterator_t::~directory_iterator_t()'
/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/analyzer.cpp:105: undefined reference to `directory_iterator_t::~directory_iterator_t()'
build/opt/trace_reader.o:/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/analyzer.cpp:131: more undefined references to `directory_iterator_t::~directory_iterator_t()' follow
build/opt/trace_reader.o: In function `file_reader_t<std::basic_ifstream<char, std::char_traits<char> >*>::open_input_files()':
/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/reader/file_reader.h:117: undefined reference to `directory_iterator_t::is_directory(std::string const&)'
build/opt/trace_reader.o: In function `file_reader_t<std::basic_ifstream<char, std::char_traits<char> >*>::open_input_files()':
/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/common/directory_iterator.h:58: undefined reference to `vtable for directory_iterator_t'
build/opt/trace_reader.o: In function `file_reader_t<std::basic_ifstream<char, std::char_traits<char> >*>::open_input_files()':
/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/reader/file_reader.h:120: undefined reference to `directory_iterator_t::directory_iterator_t(std::string const&)'
/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/reader/file_reader.h:126: undefined reference to `directory_iterator_t::operator++()'
/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/reader/file_reader.h:127: undefined reference to `directory_iterator_t::operator*()'
/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/reader/file_reader.h:120: undefined reference to `directory_iterator_t::~directory_iterator_t()'
/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/reader/file_reader.h:135: undefined reference to `directory_iterator_t::~directory_iterator_t()'
/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/reader/file_reader.h:124: undefined reference to `directory_iterator_t::~directory_iterator_t()'
/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/reader/file_reader.h:124: undefined reference to `directory_iterator_t::~directory_iterator_t()'
/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/reader/file_reader.h:120: undefined reference to `directory_iterator_t::~directory_iterator_t()'
build/opt/trace_reader.o:/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/reader/file_reader.h:135: more undefined references to `directory_iterator_t::~directory_iterator_t()' follow
build/opt/trace_reader.o:(.data.rel.ro._ZTV13file_reader_tIPSt14basic_ifstreamIcSt11char_traitsIcEEE[_ZTV13file_reader_tIPSt14basic_ifstreamIcSt11char_traitsIcEEE]+0x68): undefined reference to `file_reader_t<std::basic_ifstream<char, std::char_traits<char> >*>::open_single_file(std::string const&)'
/home/taya/zsim_nvmain_memtrace/dynamorio/build/clients/lib64/release/libdrmemtrace_analyzer.a(file_reader.cpp.o): In function `file_reader_t<std::basic_ifstream<char, std::char_traits<char> >*>::is_complete()':
/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/reader/file_reader.cpp:86: undefined reference to `directory_iterator_t::is_directory(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
collect2: error: ld returned 1 exit status
scons: *** [build/opt/zsim_trace] Error 1
scons: building terminated because of errors.

I've confirmed that the link address is correct -I/home/taya/zsim_nvmain_memtrace/xed/include -I/home/taya/zsim_nvmain_memtrace/xed/obj -I/home/taya/zsim_nvmain_memtrace/xed/include/public/xed -I/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim -I/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/common -I/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/reader

I found it reported that undefined reference to vtable for directory_iterator_t',, i wonder whether it is a matter of the code grammer in directory_iterator.h

class directory_iterator_t : public std::iterator<std::input_iterator_tag, std::string> {
public:
    directory_iterator_t()
    {
    }

    virtual ~directory_iterator_t();

    explicit directory_iterator_t(const std::string &directory);

    std::string
    error_string() const
    {
        return error_descr;
    }

So i tried to change it to

class directory_iterator_t : public std::iterator<std::input_iterator_tag, std::string> {
public:
    directory_iterator_t();

    virtual ~directory_iterator_t();

    explicit directory_iterator_t(const std::string &directory);

    std::string
    error_string() const
    {
        return error_descr;
    }

And scons -j16again ,at this time it didn't report error about vtable but :

g++ -o build/opt/trace_reader.o -c -march=core2 -g -O3 -funroll-loops -g -std=c++0x -Wall -Wno-unknown-pragmas -fomit-frame-pointer -fno-stack-protector -MMD -DBIGARRAY_MULTIPLIER=1 -DUSING_XED -DTARGET_IA32E -DHOST_IA32E -fPIC -DTARGET_LINUX -fabi-version=2 -D_GLIBCXX_USE_CXX11_ABI=0 -Werror -Wno-unused-function -Wno-int-in-bool-context -DHDF5INCPREFIX="hdf5/serial/" -DPIN_PATH="/home/taya/zsim-nvmain/axle-zsim-nvmain-master/pin_kit/intel64/bin/pinbin" -DZSIM_PATH="/home/taya/zsim_nvmain_memtrace/zsim-memtrace/build/opt/libzsim.so" -DTRACE_BASED=1 -std=c++11 -DTRACE_BASED=1 -I/home/taya/zsim_nvmain_memtrace/xed/include -I/home/taya/zsim_nvmain_memtrace/xed/obj -I/home/taya/zsim_nvmain_memtrace/xed/include/public/xed -I/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim -I/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/common -I/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/reader -I/home/taya/zsim-nvmain/axle-zsim-nvmain-master/pin_kit/source/include -I/home/taya/zsim-nvmain/axle-zsim-nvmain-master/pin_kit/source/include/gen -I/home/taya/zsim-nvmain/axle-zsim-nvmain-master/pin_kit/extras/components/include -Ibuild/opt build/opt/trace_reader.cpp
printf "#define ZSIM_BUILDDATE \"`date`\"\n#define ZSIM_BUILDVERSION \"no git repo\"" >>build/opt/version.h
g++ -o build/opt/zsim_trace build/opt/access_tracing.o build/opt/cache.o build/opt/cache_arrays.o build/opt/cache_prefetcher.o build/opt/coherence_ctrls.o build/opt/contention_sim.o build/opt/core_recorder.o build/opt/ddr_mem.o build/opt/detailed_mem.o build/opt/detailed_mem_params.o build/opt/dramsim_mem_ctrl.o build/opt/ghb_prefetcher.o build/opt/hash.o build/opt/hdf5_stats.o build/opt/lookahead.o build/opt/mem_ctrls.o build/opt/memory_hierarchy.o build/opt/monitor.o build/opt/network.o build/opt/next_line_prefetcher.o build/opt/null_core.o build/opt/ooo_core.o build/opt/ooo_core_recorder.o build/opt/parse_vdso.o build/opt/partition_mapper.o build/opt/prefetcher.o build/opt/simple_core.o build/opt/stats_filter.o build/opt/table_prefetcher.o build/opt/text_stats.o build/opt/timing_cache.o build/opt/timing_core.o build/opt/timing_event.o build/opt/trace_decoder.o build/opt/trace_driver.o build/opt/trace_init.o build/opt/trace_zsim.o build/opt/tracing_cache.o build/opt/utility_monitor.o build/opt/config.o build/opt/galloc.o build/opt/log.o build/opt/pin_cmd.o build/opt/trace_reader.o -L/home/taya/zsim_nvmain_memtrace/xed/obj -L/home/taya/zsim_nvmain_memtrace/dynamorio/build/clients/lib64/release -lconfig++ -lpthread -lhdf5_serial -lhdf5_serial_hl -lz -lxed -ldrmemtrace -ldrmemtrace_analyzer
build/opt/trace_reader.o: In function `analyzer_t::init_file_reader(std::string const&, int)':
/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/analyzer.cpp:103: undefined reference to `directory_iterator_t::is_directory(std::string const&)'
/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/analyzer.cpp:104: undefined reference to `directory_iterator_t::directory_iterator_t()'
/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/analyzer.cpp:105: undefined reference to `directory_iterator_t::directory_iterator_t(std::string const&)'
/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/analyzer.cpp:111: undefined reference to `directory_iterator_t::operator++()'
/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/analyzer.cpp:112: undefined reference to `directory_iterator_t::operator*()'
/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/analyzer.cpp:105: undefined reference to `directory_iterator_t::~directory_iterator_t()'
/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/analyzer.cpp:131: undefined reference to `directory_iterator_t::~directory_iterator_t()'
/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/analyzer.cpp:109: undefined reference to `directory_iterator_t::~directory_iterator_t()'
/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/analyzer.cpp:109: undefined reference to `directory_iterator_t::~directory_iterator_t()'
/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/analyzer.cpp:105: undefined reference to `directory_iterator_t::~directory_iterator_t()'
build/opt/trace_reader.o:/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/analyzer.cpp:131: more undefined references to `directory_iterator_t::~directory_iterator_t()' follow
build/opt/trace_reader.o: In function `file_reader_t<std::basic_ifstream<char, std::char_traits<char> >*>::open_input_files()':
/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/reader/file_reader.h:117: undefined reference to `directory_iterator_t::is_directory(std::string const&)'
/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/reader/file_reader.h:119: undefined reference to `directory_iterator_t::directory_iterator_t()'
/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/reader/file_reader.h:120: undefined reference to `directory_iterator_t::directory_iterator_t(std::string const&)'
/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/reader/file_reader.h:126: undefined reference to `directory_iterator_t::operator++()'
/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/reader/file_reader.h:127: undefined reference to `directory_iterator_t::operator*()'
/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/reader/file_reader.h:120: undefined reference to `directory_iterator_t::~directory_iterator_t()'
/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/reader/file_reader.h:135: undefined reference to `directory_iterator_t::~directory_iterator_t()'
/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/reader/file_reader.h:124: undefined reference to `directory_iterator_t::~directory_iterator_t()'
/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/reader/file_reader.h:124: undefined reference to `directory_iterator_t::~directory_iterator_t()'
/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/reader/file_reader.h:120: undefined reference to `directory_iterator_t::~directory_iterator_t()'
build/opt/trace_reader.o:/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/reader/file_reader.h:135: more undefined references to `directory_iterator_t::~directory_iterator_t()' follow
build/opt/trace_reader.o:(.data.rel.ro._ZTV13file_reader_tIPSt14basic_ifstreamIcSt11char_traitsIcEEE[_ZTV13file_reader_tIPSt14basic_ifstreamIcSt11char_traitsIcEEE]+0x68): undefined reference to `file_reader_t<std::basic_ifstream<char, std::char_traits<char> >*>::open_single_file(std::string const&)'
/home/taya/zsim_nvmain_memtrace/dynamorio/build/clients/lib64/release/libdrmemtrace_analyzer.a(file_reader.cpp.o): In function `file_reader_t<std::basic_ifstream<char, std::char_traits<char> >*>::is_complete()':
/home/taya/zsim_nvmain_memtrace/dynamorio/clients/drcachesim/reader/file_reader.cpp:86: undefined reference to `directory_iterator_t::is_directory(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
collect2: error: ld returned 1 exit status
scons: *** [build/opt/zsim_trace] Error 1
scons: building terminated because of errors.

I have no idea what is going on. Could you give me some advice?

Thanks a lot !

Taya666 commented 5 years ago

No, check out the git log we completely rewrote the frontend. Our changes are relatively self contained so you might be able to revise your changes on top of ours On Sat, Mar 23, 2019, 5:56 AM Taya @.> wrote: check out our memtrace fork: https://github.com/stanford-mast/zsim/tree/memtrace … <#m-8454921154833846007> On Fri, Mar 22, 2019 at 7:20 AM Taya @.> wrote: Hi guys! I was wondering whether Zsim could not be driven by trace file. If it support that,what format the trace file need? and how could I use trace driven? Thanks for help! — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#226 <#226>>, or mute the thread https://github.com/notifications/unsubscribe-auth/ADZKfp0uEYmmoAB1_0VoPuxPYThlStP3ks5vZOaPgaJpZM4cDrLo . Thank you very much for your reply! Because I have made a series of modifications to this repository's zsim, I would like to ask if I could use trace driven simulation in this repository's zsim by only using the trace.cfg that in your mentioned fork? — You are receiving this because you commented. Reply to this email directly, view it on GitHub <#226 (comment)>, or mute the thread https://github.com/notifications/unsubscribe-auth/ADZKfuzU-ukEHUgFuKw6xYMOThAWfoULks5vZiSFgaJpZM4cDrLo .

I found that some source code in the original ZSIM(this repository) talk about the trace driven.Is is that the original ZSIM can use trace driven in certain way? I suppose can appoint in config file where let "traceDriven" =true inside the "sim{ }",can it?

I can't figure out why I can't build the memtrace with DynamoRIO7.1.0 :( Because the linking problem: #include "/home/hlitz/dynamorio/clients/drcachesim/analyzer.cpp"

Thank you so much.

hlitz commented 5 years ago

why don't you try to fix the path so it points to the correct location of analyzer.cpp?

Taya666 commented 5 years ago

why don't you try to fix the path so it points to the correct location of analyzer.cpp?

Hi hlitz: Thank for your reply! In fact I did this modification which points to the correct location of analyzer.cpp according to my DynamoRIO(#include "/home/taya/dynamorio/clients/drcachesim/analyzer.cpp" ).But it still report "undefined reference to `directory_iterator_t::is_directory",which truly make me have no idea and here to ask for your help. :(

hlitz commented 5 years ago

Maybe the memtrace API changed. Fix it or try to revert to an older version of memtrace.

On Fri, Mar 29, 2019, 7:55 PM Taya notifications@github.com wrote:

why don't you try to fix the path so it points to the correct location of analyzer.cpp?

Hi hlitz: Thank for your reply! In fact I did this modification which points to the correct location of analyzer.cpp according to my DynamoRIO(#include "/home/taya/dynamorio/clients/drcachesim/analyzer.cpp" ).But it still report "undefined reference to `directory_iterator_t::is_directory",which truly make me have no idea and here to ask for your help. :(

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/s5z/zsim/issues/226#issuecomment-478199946, or mute the thread https://github.com/notifications/unsubscribe-auth/ADZKfleS-bwycNEsf_uGbohVl6MdoQ5Qks5vbtI4gaJpZM4cDrLo .

john-Ly commented 5 years ago

No, check out the git log we completely rewrote the frontend. Our changes are relatively self contained so you might be able to revise your changes on top of ours On Sat, Mar 23, 2019, 5:56 AM Taya @.**> wrote: check out our memtrace fork: https://github.com/stanford-mast/zsim/tree/memtrace … <#m-8454921154833846007> On Fri, Mar 22, 2019 at 7:20 AM Taya @.**> wrote: Hi guys! I was wondering whether Zsim could not be driven by trace file. If it support that,what format the trace file need? and how could I use trace driven? Thanks for help! — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#226 <#226>>, or mute the thread https://github.com/notifications/unsubscribe-auth/ADZKfp0uEYmmoAB1_0VoPuxPYThlStP3ks5vZOaPgaJpZM4cDrLo . Thank you very much for your reply! Because I have made a series of modifications to this repository's zsim, I would like to ask if I could use trace driven simulation in this repository's zsim by only using the trace.cfg that in your mentioned fork? — You are receiving this because you commented. Reply to this email directly, view it on GitHub <#226 (comment)>, or mute the thread https://github.com/notifications/unsubscribe-auth/ADZKfuzU-ukEHUgFuKw6xYMOThAWfoULks5vZiSFgaJpZM4cDrLo .

I found that some source code in the original ZSIM(this repository) talk about the trace driven.Is is that the original ZSIM can use trace driven in certain way? I suppose can appoint in config file where let "traceDriven" =true inside the "sim{ }",can it?

I can't figure out why I can't build the memtrace with DynamoRIO7.1.0 :( Because the linking problem: #include "/home/hlitz/dynamorio/clients/drcachesim/analyzer.cpp"

Thank you so much.

Hi, Taya. I have the same need, which zsim should support trace replay. So, have you solved it? And some tips to share? Thx~ (I find that you forked HSCC from hust github site, actually I am studing in the lab and using HSCC. So, maybe we can take a talk via email or qq? :smiley:

hlitz commented 5 years ago

Well you need a trace to simulate. Use memtrace to capture traces then simulate them with zsim_trace

On Fri, May 17, 2019, 9:17 AM Taya notifications@github.com wrote:

Maybe the memtrace API changed. Fix it or try to revert to an older version of memtrace. … <#m-4110804385057413406> On Fri, Mar 29, 2019, 7:55 PM Taya @.***> wrote: why don't you try to fix the path so it points to the correct location of analyzer.cpp? Hi hlitz: Thank for your reply! In fact I did this modification which points to the correct location of analyzer.cpp according to my DynamoRIO(#include "/home/taya/dynamorio/clients/drcachesim/analyzer.cpp" ).But it still report "undefined reference to `directory_iterator_t::is_directory",which truly make me have no idea and here to ask for your help. :( — You are receiving this because you commented. Reply to this email directly, view it on GitHub <#226 (comment) https://github.com/s5z/zsim/issues/226#issuecomment-478199946>, or mute the thread https://github.com/notifications/unsubscribe-auth/ADZKfleS-bwycNEsf_uGbohVl6MdoQ5Qks5vbtI4gaJpZM4cDrLo .

Hi professor: I have been fixed the API problem and build zsim-memtrace successfully.But I can't run the test/trace.cfg, cause I don't have /mnt/sda/traces/XSBench.memtrace . I wonder if you could provide this trace file, or give me some help to generate this trace file (what the format it is).

Thank you so much!

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/s5z/zsim/issues/226?email_source=notifications&email_token=AA3EU7X4KGAXIFGDAVTMIQTPVZLYNA5CNFSM4HAOWLUKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVT6RWI#issuecomment-493349081, or mute the thread https://github.com/notifications/unsubscribe-auth/AA3EU7QMSIG6F5WRT4LE4CTPVZLYNANCNFSM4HAOWLUA .

john-Ly commented 5 years ago

Well you need a trace to simulate. Use memtrace to capture traces then simulate them with zsimtrace On Fri, May 17, 2019, 9:17 AM Taya @.***> wrote: Maybe the memtrace API changed. Fix it or try to revert to an older version of memtrace. … <#m-4110804385057413406_> On Fri, Mar 29, 2019, 7:55 PM Taya @.***> wrote: why don't you try to fix the path so it points to the correct location of analyzer.cpp? Hi hlitz: Thank for your reply! In fact I did this modification which points to the correct location of analyzer.cpp according to my DynamoRIO(#include "/home/taya/dynamorio/clients/drcachesim/analyzer.cpp" ).But it still report "undefined reference to `directory_iterator_t::is_directory",which truly make me have no idea and here to ask for your help. :( — You are receiving this because you commented. Reply to this email directly, view it on GitHub <#226 (comment) <#226 (comment)>>, or mute the thread https://github.com/notifications/unsubscribe-auth/ADZKfleS-bwycNEsf_uGbohVl6MdoQ5Qks5vbtI4gaJpZM4cDrLo . Hi professor: I have been fixed the API problem and build zsim-memtrace successfully.But I can't run the test/trace.cfg, cause I don't have /mnt/sda/traces/XSBench.memtrace . I wonder if you could provide this trace file, or give me some help to generate this trace file (what the format it is). Thank you so much! — You are receiving this because you commented. Reply to this email directly, view it on GitHub <#226?email_source=notifications&email_token=AA3EU7X4KGAXIFGDAVTMIQTPVZLYNA5CNFSM4HAOWLUKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVT6RWI#issuecomment-493349081>, or mute the thread https://github.com/notifications/unsubscribe-auth/AA3EU7QMSIG6F5WRT4LE4CTPVZLYNANCNFSM4HAOWLUA .

Thx~

I just don't know which version dynamorio you build zsim_memtrace?

ts/lib64/release -Ldynamo/dynamorio/build/ext/lib64/release -lconfig++ -lpthread -lhdf5 -lhdf5_hl -lz -lxed -ldrmemtrace -ldrmemtrace_analyzer /usr/bin/ld: cannot find -ldrmemtrace collect2: error: ld returned 1 exit status scons: *** [build/opt/zsim_trace] Error 1 scons: building terminated because of errors.

but i checked two dirs above, these .so/.a files exists.

libdrmemtrace.so libdrmemtrace_static.a