Hello, I am currently trying to parallelize the m5 sim ( o3/cpu.cc ) with pthreads. In a first stage I am trying to have the various stages of the pipeline run in parallel, ( decode.tick() fetch.tick() .... ). Currently I have 5 pthreads each executing one of the stages.
However ( yes you saw it comming ), It seems to be crashing relatively randomly when cleaning up cleanUpRemovedInsts(); and in that on: InstList.erase(removeList.front()); because of an invalid free. Or an assertion in the commit stage build/ALPHA_SE/cpu/o3/commit_impl.hh:1139: bool DefaultCommit<Impl>::commitHead(typename Impl::DynInstPtr&, unsigned int) [with Impl = O3CPUImpl]: Assertion `!thread[tid]->inSyscall' failed. So I am wondering if there are some dependencies between stages that I am unaware of . Greetings, Jos Ewert _______________________________________________ m5-users mailing list [email protected] http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
