Hi Duc Anh, Can you please confirm that this change, https://gem5-review.googlesource.com/c/public/gem5/+/36296, fixes the stats error?
Regards, Hoa Nguyen On 11/12/20, Hoa Nguyen <hoangu...@ucdavis.edu> wrote: > Hi Duc Anh, > > I think the stats error is related to this change, > https://gem5-review.googlesource.com/c/public/gem5/+/36296. > > The stats bug should be resolved when you cherry-pick that change. > > Hopefully we can add the SMT feature and fix the multicore DerivO3 bug by > the next release. > > Regarding the SMT feature, I don't know whether it works correctly (we > don't know how the actual hardware the apic id) for X86, but I remember > that this relation chain ( > https://gem5-review.googlesource.com/c/public/gem5/+/35837) does work. > > Regards, > Hoa Nguyen > > On Thu, Nov 12, 2020, 2:39 AM Đức Anh <daut...@gmail.com> wrote: > >> Hi Hoa Nguyen, >> >> A bit sad when some features I want will only be supported from 20.2 >> version (SMT, multicore DerivO3CPU). Do the gem5 team have any plan on >> when >> the next version will be released? >> >> About the stats error, I use the same version and cmd as the first email. >> I will retype it here for convenience. >> Cmd: `./build/X86/gem5.opt configs/tutorial/two_core.py` >> gem5 version 20.1 >> gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04) >> python 2.7.17 >> >> The error log: >> gem5.opt: build/X86/base/stats/group.cc:115: void >> Stats::Group::addStatGroup(const char*, Stats::Group*): Assertion >> `statGroups.find(name) == statGroups.end()' failed. >> Program aborted at tick 0 >> --- BEGIN LIBC BACKTRACE --- >> ./build/X86/gem5.opt(_Z15print_backtracev+0x2c)[0x5565d4f4958c] >> ./build/X86/gem5.opt(_Z12abortHandleri+0x4a)[0x5565d4f5c0aa] >> /lib/x86_64-linux-gnu/libpthread.so.0(+0x128a0)[0x7f51a53c58a0] >> /lib/x86_64-linux-gnu/libc.so.6(gsignal+0xc7)[0x7f51a39a1f47] >> /lib/x86_64-linux-gnu/libc.so.6(abort+0x141)[0x7f51a39a38b1] >> /lib/x86_64-linux-gnu/libc.so.6(+0x3042a)[0x7f51a399342a] >> /lib/x86_64-linux-gnu/libc.so.6(+0x304a2)[0x7f51a39934a2] >> >> ./build/X86/gem5.opt(_ZN5Stats5Group12addStatGroupEPKcPS0_+0x16f)[0x5565d526a44f] >> ./build/X86/gem5.opt(_ZN5Stats5GroupC2EPS0_PKc+0xe8)[0x5565d526a908] >> >> ./build/X86/gem5.opt(_ZN11ThreadState16ThreadStateStatsC2EP7BaseCPUPS_+0x65)[0x5565d5335fc5] >> >> ./build/X86/gem5.opt(_ZN11ThreadStateC1EP7BaseCPUsP7Process+0x44)[0x5565d5336324] >> >> ./build/X86/gem5.opt(_ZN13O3ThreadStateI9O3CPUImplEC2EP9FullO3CPUIS0_EiP7Process+0x2f)[0x5565d515ed7f] >> >> ./build/X86/gem5.opt(_ZN9FullO3CPUI9O3CPUImplEC1EP16DerivO3CPUParams+0x1a48)[0x5565d516d0d8] >> ./build/X86/gem5.opt(_ZN16DerivO3CPUParams6createEv+0x44)[0x5565d5137f94] >> ./build/X86/gem5.opt(+0xda6583)[0x5565d55bc583] >> ./build/X86/gem5.opt(+0x6ac8b9)[0x5565d4ec28b9] >> >> /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyCFunction_FastCallDict+0x20a)[0x7f51a57e558a] >> /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x17bec8)[0x7f51a574dec8] >> >> /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyEval_EvalFrameDefault+0x4ec3)[0x7f51a5754303] >> /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x17a803)[0x7f51a574c803] >> /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x17c2be)[0x7f51a574e2be] >> >> /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyEval_EvalFrameDefault+0x4ec3)[0x7f51a5754303] >> /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x17a803)[0x7f51a574c803] >> /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x17c2be)[0x7f51a574e2be] >> >> /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyEval_EvalFrameDefault+0x4ec3)[0x7f51a5754303] >> /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x17a803)[0x7f51a574c803] >> /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x17c2aa)[0x7f51a574e2aa] >> >> /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(_PyEval_EvalFrameDefault+0x4ec3)[0x7f51a5754303] >> /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x17ba0f)[0x7f51a574da0f] >> >> /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(PyEval_EvalCodeEx+0x3e)[0x7f51a574e4ce] >> >> /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(PyEval_EvalCode+0x1b)[0x7f51a574f24b] >> /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0(+0x18855d)[0x7f51a575a55d] >> --- END LIBC BACKTRACE --- >> Aborted (core dumped) >> >> Best regards, >> Duc Anh >> >> Vào Th 4, 11 thg 11, 2020 vào lúc 23:32 Hoa Nguyen < >> hoangu...@ucdavis.edu> đã viết: >> >>> Hi Duc Anh, >>> >>> I assume you want to enable SMT for X86. SMT for X86 has yet to be >>> supported, but there is progress on this recently. You can keep track >>> of the development via JIRA ticket >>> (https://gem5.atlassian.net/browse/GEM5-332) and via this relation >>> change (https://gem5-review.googlesource.com/c/public/gem5/+/35837). >>> >>> Regarding the stats error, can you be a little bit more specific about >>> the version of gem5 that you're using and the command that you used? >>> Are they the same as the ones in the first email >>> (https://www.mail-archive.com/gem5-users@gem5.org/msg18678.html)? >>> >>> Regards, >>> Hoa Nguyen >>> >>> On 11/10/20, Đức Anh via gem5-users <gem5-users@gem5.org> wrote: >>> > Hi Ayaz, >>> > >>> > Thanks for the help. I guess if we don't share anything between the >>> cores >>> > then it will be the multi-processor platform, right? Btw, how to >>> > enable >>> > SMT? I looked through the se.py then look like you only need to use >>> > DerivO3CPU and just pass an array of the process in. However, I got >>> > this >>> > error >>> > `gem5.opt: build/X86/base/stats/group.cc:115: void >>> > Stats::Group::addStatGroup(const char*, Stats::Group*): Assertion >>> > `statGroups.find(name) == statGroups.end()' failed.` >>> > What is the correct way to do this? >>> > >>> > Best regards, >>> > Duc Anh >>> > >>> > Vào Th 3, 10 thg 11, 2020 vào lúc 00:01 Ayaz Akram < >>> yazak...@ucdavis.edu> >>> > đã viết: >>> > >>> >> Hi Duc, >>> >> >>> >> By passing a list of CPUs to the system.cpu (as in the attached >>> >> Python >>> >> script), you are creating a multicore CPU (CPU here refers to a >>> >> core). >>> >> Secondly, if your CPU has SMT enabled, you should be able to pass >>> >> multiple >>> >> processes to the workload option. >>> >> >>> >> Btw, there is already a JIRA issue created for the problem you are >>> >> running >>> >> into: https://gem5.atlassian.net/browse/GEM5-803 >>> >> >>> >> -Ayaz >>> >> >>> >> On Mon, Nov 9, 2020 at 2:18 AM Đức Anh via gem5-users >>> >> <gem5-users@gem5.org> >>> >> wrote: >>> >> >>> >>> Hello all, >>> >>> >>> >>> I am trying to create a system having multiple CPUs by passing a >>> >>> list >>> of >>> >>> CPU to the system.cpu. So far it works with TimingSimpleCPU, but for >>> the >>> >>> DerivO3CPU it crashes. I include the crash log, the python config >>> file, >>> >>> and >>> >>> the C workload file. I am using gem5 20.1, pulled from the stable >>> >>> branch, gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04), python >>> 2.7.17. >>> >>> The >>> >>> command line I use is: >>> >>> ./build/X86/gem5.opt configs/tutorial/two_core.py >>> >>> The 2 binary files for 2 workloads are almost the same, I just >>> >>> change >>> >>> the >>> >>> text in printf, and the number of loops. >>> >>> >>> >>> I also wonder that by passing a list of CPU to the system.cpu, am I >>> >>> creating a system is 1 multicore CPU or a system with multiple >>> separate >>> >>> CPU? And how to pass multiple workloads on 1 CPU? I saw it accept a >>> >>> list, >>> >>> but it throws an error if I pass a list with more than 1 workload. >>> >>> >>> >>> Best regards, >>> >>> Duc Anh >>> >>> _______________________________________________ >>> >>> 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