gem5-users@gem5.org

The gem5 Users mailing list

View all threads

Support of SSE, MMX, X87, CMOV in gem5

AS
Abdelrahman S. Hussein
Tue, Jul 26, 2022 6:05 AM

Hello,

I am trying to run SPEC OMP 2012 in Full System mode on gem5. When I try to
run it, I get the following error:

Please verify that both the operating system and the processor support

Intel(R) X87, CMOV, MMX, FXSAVE, SSE, SSE2, SSE3, SSSE3, SSE4_1, SSE4_2 and
POPCNT instructions.

The image has Ubuntu 18 and the kernel is vmlinux-5.4.49 downloaded from
gem5 website. CPU is AtomicCPU and all the implementation is for x86.

My question is: does gem5 support the above Intel extensions  for SIMD and
Vectorization? I tried to look into the gem5 resources, but I couldn't find
something clear on this.

Thanks!

--

Best,Abdelrahman Hussein
MSc. Student -- Graduate RA/TA
School of Computing Sciences
Simon Fraser University, Canada

--

Best,Abdelrahman Hussein
MSc. Student -- Graduate RA/TA
School of Computing Sciences
Simon Fraser University, Canada

Hello, I am trying to run SPEC OMP 2012 in Full System mode on gem5. When I try to run it, I get the following error: Please verify that both the operating system and the processor support > Intel(R) X87, CMOV, MMX, FXSAVE, SSE, SSE2, SSE3, SSSE3, SSE4_1, SSE4_2 and > POPCNT instructions. > The image has Ubuntu 18 and the kernel is vmlinux-5.4.49 downloaded from gem5 website. CPU is AtomicCPU and all the implementation is for x86. My question is: does gem5 support the above Intel extensions for SIMD and Vectorization? I tried to look into the gem5 resources, but I couldn't find something clear on this. Thanks! -- *Best,Abdelrahman Hussein* MSc. Student -- Graduate RA/TA School of Computing Sciences Simon Fraser University, Canada -- -- *Best,Abdelrahman Hussein* MSc. Student -- Graduate RA/TA School of Computing Sciences Simon Fraser University, Canada
JL
Jason Lowe-Power
Tue, Jul 26, 2022 2:45 PM

Hello,

We support some of those instructions, but not all of them. I suggest
running your workloads and watching out for unimplemented instruction
warnings.

Cheers,
Jason

On Mon, Jul 25, 2022 at 11:08 PM Abdelrahman S. Hussein <
abdelrahman.sobeih@gmail.com> wrote:

Hello,

I am trying to run SPEC OMP 2012 in Full System mode on gem5. When I try
to run it, I get the following error:

Please verify that both the operating system and the processor support

Intel(R) X87, CMOV, MMX, FXSAVE, SSE, SSE2, SSE3, SSSE3, SSE4_1, SSE4_2 and
POPCNT instructions.

The image has Ubuntu 18 and the kernel is vmlinux-5.4.49 downloaded from
gem5 website. CPU is AtomicCPU and all the implementation is for x86.

My question is: does gem5 support the above Intel extensions  for SIMD and
Vectorization? I tried to look into the gem5 resources, but I couldn't find
something clear on this.

Thanks!

--

Best,Abdelrahman Hussein
MSc. Student -- Graduate RA/TA
School of Computing Sciences
Simon Fraser University, Canada

--

Best,Abdelrahman Hussein
MSc. Student -- Graduate RA/TA
School of Computing Sciences
Simon Fraser University, Canada


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

Hello, We support some of those instructions, but not all of them. I suggest running your workloads and watching out for unimplemented instruction warnings. Cheers, Jason On Mon, Jul 25, 2022 at 11:08 PM Abdelrahman S. Hussein < abdelrahman.sobeih@gmail.com> wrote: > Hello, > > I am trying to run SPEC OMP 2012 in Full System mode on gem5. When I try > to run it, I get the following error: > > Please verify that both the operating system and the processor support >> Intel(R) X87, CMOV, MMX, FXSAVE, SSE, SSE2, SSE3, SSSE3, SSE4_1, SSE4_2 and >> POPCNT instructions. >> > > The image has Ubuntu 18 and the kernel is vmlinux-5.4.49 downloaded from > gem5 website. CPU is AtomicCPU and all the implementation is for x86. > > My question is: does gem5 support the above Intel extensions for SIMD and > Vectorization? I tried to look into the gem5 resources, but I couldn't find > something clear on this. > > Thanks! > > -- > > *Best,Abdelrahman Hussein* > MSc. Student -- Graduate RA/TA > School of Computing Sciences > Simon Fraser University, Canada > -- > > -- > > *Best,Abdelrahman Hussein* > MSc. Student -- Graduate RA/TA > School of Computing Sciences > Simon Fraser University, Canada > _______________________________________________ > gem5-users mailing list -- gem5-users@gem5.org > To unsubscribe send an email to gem5-users-leave@gem5.org >
AS
Abdelrahman S. Hussein
Wed, Jul 27, 2022 11:58 PM

Hi,

Thanks a lot for your reply.

I got the CPU info by printing the /proc/cpuinfo file on the image while on
full system mode on gem5. Can we safely assume that the following flags are
fully implemented and functional? For example, as per this page from gem5
documentation
https://www.gem5.org/documentation/general_docs/architecture_support/,
only SSE is implemented and x87 is partially implemented, however, the
following flags say something a bit different that SSE2 is supported.

So, again, my question is: Can I safely rely on these flags being fully
implemented?

flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat

pse36 clflush acpi mmx fxsr sse sse2 ss tm ia64 pbe syscall nx mmxext
fxsr_opt rdtscp lm 3dnowext 3dnow nopl cpuid pni monitor ssse3 lahf_lm cpb
proc_feedback pti clflushopt clwb overflow_recov

Thanks.

--

Best,Abdelrahman Hussein
MSc. Student -- Graduate RA/TA
School of Computing Sciences
Simon Fraser University, Canada

On Tue, Jul 26, 2022 at 7:53 AM Jason Lowe-Power jason@lowepower.com
wrote:

Hello,

We support some of those instructions, but not all of them. I suggest
running your workloads and watching out for unimplemented instruction
warnings.

Cheers,
Jason

On Mon, Jul 25, 2022 at 11:08 PM Abdelrahman S. Hussein <
abdelrahman.sobeih@gmail.com> wrote:

Hello,

I am trying to run SPEC OMP 2012 in Full System mode on gem5. When I try
to run it, I get the following error:

Please verify that both the operating system and the processor support

Intel(R) X87, CMOV, MMX, FXSAVE, SSE, SSE2, SSE3, SSSE3, SSE4_1, SSE4_2 and
POPCNT instructions.

The image has Ubuntu 18 and the kernel is vmlinux-5.4.49 downloaded from
gem5 website. CPU is AtomicCPU and all the implementation is for x86.

My question is: does gem5 support the above Intel extensions  for SIMD
and Vectorization? I tried to look into the gem5 resources, but I couldn't
find something clear on this.

Thanks!

--

Best,Abdelrahman Hussein
MSc. Student -- Graduate RA/TA
School of Computing Sciences
Simon Fraser University, Canada

--

Best,Abdelrahman Hussein
MSc. Student -- Graduate RA/TA
School of Computing Sciences
Simon Fraser University, Canada


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


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

Hi, Thanks a lot for your reply. I got the CPU info by printing the /proc/cpuinfo file on the image while on full system mode on gem5. Can we safely assume that the following flags are fully implemented and functional? For example, as per this page from gem5 documentation <https://www.gem5.org/documentation/general_docs/architecture_support/>, only SSE is implemented and x87 is partially implemented, however, the following flags say something a bit different that SSE2 is supported. So, again, my question is: Can I safely rely on these flags being fully implemented? flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat > pse36 clflush acpi mmx fxsr sse sse2 ss tm ia64 pbe syscall nx mmxext > fxsr_opt rdtscp lm 3dnowext 3dnow nopl cpuid pni monitor ssse3 lahf_lm cpb > proc_feedback pti clflushopt clwb overflow_recov Thanks. -- *Best,Abdelrahman Hussein* MSc. Student -- Graduate RA/TA School of Computing Sciences Simon Fraser University, Canada On Tue, Jul 26, 2022 at 7:53 AM Jason Lowe-Power <jason@lowepower.com> wrote: > Hello, > > We support some of those instructions, but not all of them. I suggest > running your workloads and watching out for unimplemented instruction > warnings. > > Cheers, > Jason > > On Mon, Jul 25, 2022 at 11:08 PM Abdelrahman S. Hussein < > abdelrahman.sobeih@gmail.com> wrote: > >> Hello, >> >> I am trying to run SPEC OMP 2012 in Full System mode on gem5. When I try >> to run it, I get the following error: >> >> Please verify that both the operating system and the processor support >>> Intel(R) X87, CMOV, MMX, FXSAVE, SSE, SSE2, SSE3, SSSE3, SSE4_1, SSE4_2 and >>> POPCNT instructions. >>> >> >> The image has Ubuntu 18 and the kernel is vmlinux-5.4.49 downloaded from >> gem5 website. CPU is AtomicCPU and all the implementation is for x86. >> >> My question is: does gem5 support the above Intel extensions for SIMD >> and Vectorization? I tried to look into the gem5 resources, but I couldn't >> find something clear on this. >> >> Thanks! >> >> -- >> >> *Best,Abdelrahman Hussein* >> MSc. Student -- Graduate RA/TA >> School of Computing Sciences >> Simon Fraser University, Canada >> -- >> >> -- >> >> *Best,Abdelrahman Hussein* >> MSc. Student -- Graduate RA/TA >> School of Computing Sciences >> Simon Fraser University, Canada >> _______________________________________________ >> gem5-users mailing list -- gem5-users@gem5.org >> To unsubscribe send an email to gem5-users-leave@gem5.org >> > _______________________________________________ > gem5-users mailing list -- gem5-users@gem5.org > To unsubscribe send an email to gem5-users-leave@gem5.org >
JL
Jason Lowe-Power
Thu, Jul 28, 2022 2:44 PM

Hello,

No, I would not count on all of the instructions being fully implemented.
However, every time gem5 encounters an unimplemented instruction it will
print a warning. You can use those warnings to decide if the unimplemented
instructions are important for your workload or not.

Cheers,
Jason

On Wed, Jul 27, 2022 at 5:02 PM Abdelrahman S. Hussein <
abdelrahman.sobeih@gmail.com> wrote:

Hi,

Thanks a lot for your reply.

I got the CPU info by printing the /proc/cpuinfo file on the image while
on full system mode on gem5. Can we safely assume that the following flags
are fully implemented and functional? For example, as per this page from
gem5 documentation
https://www.gem5.org/documentation/general_docs/architecture_support/,
only SSE is implemented and x87 is partially implemented, however, the
following flags say something a bit different that SSE2 is supported.

So, again, my question is: Can I safely rely on these flags being fully
implemented?

flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat

pse36 clflush acpi mmx fxsr sse sse2 ss tm ia64 pbe syscall nx mmxext
fxsr_opt rdtscp lm 3dnowext 3dnow nopl cpuid pni monitor ssse3 lahf_lm cpb
proc_feedback pti clflushopt clwb overflow_recov

Thanks.

--

Best,Abdelrahman Hussein
MSc. Student -- Graduate RA/TA
School of Computing Sciences
Simon Fraser University, Canada

On Tue, Jul 26, 2022 at 7:53 AM Jason Lowe-Power jason@lowepower.com
wrote:

Hello,

We support some of those instructions, but not all of them. I suggest
running your workloads and watching out for unimplemented instruction
warnings.

Cheers,
Jason

On Mon, Jul 25, 2022 at 11:08 PM Abdelrahman S. Hussein <
abdelrahman.sobeih@gmail.com> wrote:

Hello,

I am trying to run SPEC OMP 2012 in Full System mode on gem5. When I try
to run it, I get the following error:

Please verify that both the operating system and the processor support

Intel(R) X87, CMOV, MMX, FXSAVE, SSE, SSE2, SSE3, SSSE3, SSE4_1, SSE4_2 and
POPCNT instructions.

The image has Ubuntu 18 and the kernel is vmlinux-5.4.49 downloaded
from gem5 website. CPU is AtomicCPU and all the implementation is for x86.

My question is: does gem5 support the above Intel extensions  for SIMD
and Vectorization? I tried to look into the gem5 resources, but I couldn't
find something clear on this.

Thanks!

--

Best,Abdelrahman Hussein
MSc. Student -- Graduate RA/TA
School of Computing Sciences
Simon Fraser University, Canada

--

Best,Abdelrahman Hussein
MSc. Student -- Graduate RA/TA
School of Computing Sciences
Simon Fraser University, Canada


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


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


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

Hello, No, I would not count on all of the instructions being fully implemented. However, every time gem5 encounters an unimplemented instruction it will print a warning. You can use those warnings to decide if the unimplemented instructions are important for your workload or not. Cheers, Jason On Wed, Jul 27, 2022 at 5:02 PM Abdelrahman S. Hussein < abdelrahman.sobeih@gmail.com> wrote: > Hi, > > Thanks a lot for your reply. > > I got the CPU info by printing the /proc/cpuinfo file on the image while > on full system mode on gem5. Can we safely assume that the following flags > are fully implemented and functional? For example, as per this page from > gem5 documentation > <https://www.gem5.org/documentation/general_docs/architecture_support/>, > only SSE is implemented and x87 is partially implemented, however, the > following flags say something a bit different that SSE2 is supported. > > So, again, my question is: Can I safely rely on these flags being fully > implemented? > > flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat >> pse36 clflush acpi mmx fxsr sse sse2 ss tm ia64 pbe syscall nx mmxext >> fxsr_opt rdtscp lm 3dnowext 3dnow nopl cpuid pni monitor ssse3 lahf_lm cpb >> proc_feedback pti clflushopt clwb overflow_recov > > > Thanks. > > -- > > *Best,Abdelrahman Hussein* > MSc. Student -- Graduate RA/TA > School of Computing Sciences > Simon Fraser University, Canada > > > On Tue, Jul 26, 2022 at 7:53 AM Jason Lowe-Power <jason@lowepower.com> > wrote: > >> Hello, >> >> We support some of those instructions, but not all of them. I suggest >> running your workloads and watching out for unimplemented instruction >> warnings. >> >> Cheers, >> Jason >> >> On Mon, Jul 25, 2022 at 11:08 PM Abdelrahman S. Hussein < >> abdelrahman.sobeih@gmail.com> wrote: >> >>> Hello, >>> >>> I am trying to run SPEC OMP 2012 in Full System mode on gem5. When I try >>> to run it, I get the following error: >>> >>> Please verify that both the operating system and the processor support >>>> Intel(R) X87, CMOV, MMX, FXSAVE, SSE, SSE2, SSE3, SSSE3, SSE4_1, SSE4_2 and >>>> POPCNT instructions. >>>> >>> >>> The image has Ubuntu 18 and the kernel is vmlinux-5.4.49 downloaded >>> from gem5 website. CPU is AtomicCPU and all the implementation is for x86. >>> >>> My question is: does gem5 support the above Intel extensions for SIMD >>> and Vectorization? I tried to look into the gem5 resources, but I couldn't >>> find something clear on this. >>> >>> Thanks! >>> >>> -- >>> >>> *Best,Abdelrahman Hussein* >>> MSc. Student -- Graduate RA/TA >>> School of Computing Sciences >>> Simon Fraser University, Canada >>> -- >>> >>> -- >>> >>> *Best,Abdelrahman Hussein* >>> MSc. Student -- Graduate RA/TA >>> School of Computing Sciences >>> Simon Fraser University, Canada >>> _______________________________________________ >>> gem5-users mailing list -- gem5-users@gem5.org >>> To unsubscribe send an email to gem5-users-leave@gem5.org >>> >> _______________________________________________ >> gem5-users mailing list -- gem5-users@gem5.org >> To unsubscribe send an email to gem5-users-leave@gem5.org >> > _______________________________________________ > gem5-users mailing list -- gem5-users@gem5.org > To unsubscribe send an email to gem5-users-leave@gem5.org >