Hi Brian, You can try the patch linked below if you want x86 + multicore + classic. There is a download button on that page. However, this isn't "officially" supported.
Some Ruby protocols have been tested with x86 and multiple cores. The details on the gem5-resources website and/or repo should describe what's been tested. Cheers, Jason On Thu, Dec 16, 2021 at 10:36 AM Brian Schwedock via gem5-users < gem5-users@gem5.org> wrote: > Hi Jason, > > Thanks for the response. > > I will give full system mode a try. Will x86 + classic cache + multicore > work with full system mode? Or do I also need to use, e.g., ruby caches? > > Thanks, > Brian > > On Thu, Dec 16, 2021 at 9:23 AM Jason Lowe-Power <ja...@lowepower.com> > wrote: > >> Hi Brian, >> >> A few quick thoughts: >> 1. x86 + classic cache + multicore is not supported. There is a changeset >> on gerrit (https://gem5-review.googlesource.com/c/public/gem5/+/52303) >> which may fix this, but it has not been tested widely. >> 2. SE mode + pthreads will likely not work in all circumstances. The >> system calls required for pthreads are complex and we may not have >> implemented them to perfectly match their behavior on Linux >> 3. Which leads to this: If you want to investigate multicore performance, >> I would strongly suggest using full system mode. With gem5-resources ( >> https://resources.gem5.org/) it should be straightforward to set up. See >> also the new gem5 standard library coming in gem5-21.2 (released next week) >> as well. >> >> Cheers, >> Jason >> >> On Wed, Dec 15, 2021 at 7:28 PM Brian Schwedock via gem5-users < >> gem5-users@gem5.org> wrote: >> >>> Hi, >>> >>> I'm trying to run a simple multithreaded C++ application in SE mode, but >>> I seem to be getting deadlock when running with DerivO3CPU. TimingSimpleCPU >>> does not deadlock. I'm running on the develop branch without modification. >>> >>> Here is the configuration I'm running: >>> ./build/X86/gem5.opt configs/example/se.py >>> --cmd=/path/to/app --num-cpus=16 --cpu-type=DerivO3CPU --caches --l2cache >>> --l1d_size=64kB --l1i_size=16kB --l2_size=4MB --mem-type=DDR3_1600_8x8 >>> >>> My application spawns 16 pthreads, and the threads perform atomic >>> arithmetic operations and use pthread barriers. From what I can tell, the >>> issue is that on one of the barriers only one or two threads are ever woken >>> up once all threads are ready. >>> >>> When running with the above configuration, the simulation just hangs. >>> When I run with ruby caches, the simulation eventually terminates from the >>> Sequencer panicking on "Possible Deadlock detected." >>> >>> Are pthread barriers not currently supported? I tried using m5threads, >>> but as per this issue (https://github.com/gem5/m5threads/issues/2), I >>> can't compile it with my gcc and kernel versions. >>> >>> I would greatly appreciate any help with this issue. >>> >>> Thanks, >>> Brian >>> _______________________________________________ >>> gem5-users mailing list -- gem5-users@gem5.org >>> To unsubscribe send an email to gem5-users-le...@gem5.org >>> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s >> >> _______________________________________________ > gem5-users mailing list -- gem5-users@gem5.org > To unsubscribe send an email to gem5-users-le...@gem5.org > %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
_______________________________________________ gem5-users mailing list -- gem5-users@gem5.org To unsubscribe send an email to gem5-users-le...@gem5.org %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s