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

Reply via email to