[gem5-users] Re: Deadlock with pthread and DerivO3CPU in SE mode

2021-12-17 Thread Portero, Antonio via gem5-users
Sehr geehrte Herren/Frauen,
ich bin nicht im Büro und habe keine Internetverbindung. Erwarten Sie, dass 
sich meine Antwort bis zum 3. Januar verzögert.
Mit freundlichen Grüßen,
Antonio


Dear Sir/Madam,
I am out of office with low connection to internet. Expect delays in my answer 
till 3 January.
Best regards,
Antonio

On Dec 17, 2021, at 11:57, Portero, Antonio via gem5-users 
 wrote:

Sehr geehrte Herren/Frauen,
ich bin nicht im Büro und habe keine Internetverbindung. Erwarten Sie, dass 
sich meine Antwort bis zum 3. Januar verzögert.
Mit freundlichen Grüßen,
Antonio


Dear Sir/Madam,
I am out of office with low connection to internet. Expect delays in my answer 
till 3 January.
Best regards,
Antonio

On Dec 16, 2021, at 17:33, Brian Schwedock via gem5-users  
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  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 
 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




Forschungszentrum Juelich GmbH
52425 Juelich
Sitz der Gesellschaft: Juelich
Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498
Vorsitzender des Aufsichtsrats: MinDir Volker Rieke
Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang Marquardt (Vorsitzender),
Karsten Beneke (stellv. Vorsitzender), Prof. Dr. Astrid Lambrecht,
Prof. Dr. Frauke Melchior



___
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] Re: Deadlock with pthread and DerivO3CPU in SE mode

2021-12-17 Thread Portero, Antonio via gem5-users
Sehr geehrte Herren/Frauen,
ich bin nicht im Büro und habe keine Internetverbindung. Erwarten Sie, dass 
sich meine Antwort bis zum 3. Januar verzögert.
Mit freundlichen Grüßen,
Antonio


Dear Sir/Madam,
I am out of office with low connection to internet. Expect delays in my answer 
till 3 January.
Best regards,
Antonio

On Dec 17, 2021, at 11:57, Portero, Antonio via gem5-users 
 wrote:

Sehr geehrte Herren/Frauen,
ich bin nicht im Büro und habe keine Internetverbindung. Erwarten Sie, dass 
sich meine Antwort bis zum 3. Januar verzögert.
Mit freundlichen Grüßen,
Antonio


Dear Sir/Madam,
I am out of office with low connection to internet. Expect delays in my answer 
till 3 January.
Best regards,
Antonio

On Dec 16, 2021, at 18:12, Jason Lowe-Power via gem5-users 
 wrote:

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 
 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  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 
 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




Forschungszentrum Juelich GmbH
52425 Juelich
Sitz der Gesellschaft: Juelich
Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498
Vorsitzender des Aufsichtsrats: MinDir Volker Rieke
Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang Marquardt (Vorsitzender),
Karsten Beneke (stellv. Vorsitzender), Prof. Dr. Astrid Lambrecht,
Prof. Dr. Frauke Melchior



___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org

[gem5-users] Re: Deadlock with pthread and DerivO3CPU in SE mode

2021-12-17 Thread Portero, Antonio via gem5-users
Sehr geehrte Herren/Frauen,
ich bin nicht im Büro und habe keine Internetverbindung. Erwarten Sie, dass 
sich meine Antwort bis zum 3. Januar verzögert.
Mit freundlichen Grüßen,
Antonio


Dear Sir/Madam,
I am out of office with low connection to internet. Expect delays in my answer 
till 3 January.
Best regards,
Antonio

On Dec 16, 2021, at 15:22, Jason Lowe-Power via gem5-users 
 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 
 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




Forschungszentrum Juelich GmbH
52425 Juelich
Sitz der Gesellschaft: Juelich
Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498
Vorsitzender des Aufsichtsrats: MinDir Volker Rieke
Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang Marquardt (Vorsitzender),
Karsten Beneke (stellv. Vorsitzender), Prof. Dr. Astrid Lambrecht,
Prof. Dr. Frauke Melchior



___
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] Re: Deadlock with pthread and DerivO3CPU in SE mode

2021-12-17 Thread Portero, Antonio via gem5-users
Sehr geehrte Herren/Frauen,
ich bin nicht im Büro und habe keine Internetverbindung. Erwarten Sie, dass 
sich meine Antwort bis zum 3. Januar verzögert.
Mit freundlichen Grüßen,
Antonio


Dear Sir/Madam,
I am out of office with low connection to internet. Expect delays in my answer 
till 3 January.
Best regards,
Antonio

On Dec 16, 2021, at 02:25, Brian Schwedock via gem5-users  
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




Forschungszentrum Juelich GmbH
52425 Juelich
Sitz der Gesellschaft: Juelich
Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498
Vorsitzender des Aufsichtsrats: MinDir Volker Rieke
Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang Marquardt (Vorsitzender),
Karsten Beneke (stellv. Vorsitzender), Prof. Dr. Astrid Lambrecht,
Prof. Dr. Frauke Melchior



___
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] Re: Deadlock with pthread and DerivO3CPU in SE mode

2021-12-17 Thread Portero, Antonio via gem5-users
Sehr geehrte Herren/Frauen,
ich bin nicht im Büro und habe keine Internetverbindung. Erwarten Sie, dass 
sich meine Antwort bis zum 3. Januar verzögert.
Mit freundlichen Grüßen,
Antonio


Dear Sir/Madam,
I am out of office with low connection to internet. Expect delays in my answer 
till 3 January.
Best regards,
Antonio

On Dec 16, 2021, at 17:33, Brian Schwedock via gem5-users  
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  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 
 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




Forschungszentrum Juelich GmbH
52425 Juelich
Sitz der Gesellschaft: Juelich
Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498
Vorsitzender des Aufsichtsrats: MinDir Volker Rieke
Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang Marquardt (Vorsitzender),
Karsten Beneke (stellv. Vorsitzender), Prof. Dr. Astrid Lambrecht,
Prof. Dr. Frauke Melchior



___
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] Re: Deadlock with pthread and DerivO3CPU in SE mode

2021-12-17 Thread Portero, Antonio via gem5-users
Sehr geehrte Herren/Frauen,
ich bin nicht im Büro und habe keine Internetverbindung. Erwarten Sie, dass 
sich meine Antwort bis zum 3. Januar verzögert.
Mit freundlichen Grüßen,
Antonio


Dear Sir/Madam,
I am out of office with low connection to internet. Expect delays in my answer 
till 3 January.
Best regards,
Antonio

On Dec 16, 2021, at 18:12, Jason Lowe-Power via gem5-users 
 wrote:

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 
 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  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 
 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




Forschungszentrum Juelich GmbH
52425 Juelich
Sitz der Gesellschaft: Juelich
Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498
Vorsitzender des Aufsichtsrats: MinDir Volker Rieke
Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang Marquardt (Vorsitzender),
Karsten Beneke (stellv. Vorsitzender), Prof. Dr. Astrid Lambrecht,
Prof. Dr. Frauke Melchior



___
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] Re: Deadlock with pthread and DerivO3CPU in SE mode

2021-12-16 Thread Jason Lowe-Power via gem5-users
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 
> 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

[gem5-users] Re: Deadlock with pthread and DerivO3CPU in SE mode

2021-12-16 Thread Brian Schwedock via gem5-users
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 
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] Re: Deadlock with pthread and DerivO3CPU in SE mode

2021-12-16 Thread Jason Lowe-Power via gem5-users
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