Intel® System Studio
Ask questions and share information with other users of the Intel® System Studio.
Announcements
Intel® System Studio components are now transitioned to several Intel® oneAPI toolkits and can be found under Intel oneAPI Base Toolkit and Intel oneAPI IoT Toolkit. Use the respective forums for questions related to these components. Getting Started questions can be asked in the Registration, Download, Licensing and Installation forum. If you have Priority Support you can submit your question in the Online Service Center.
346 Discussions

OpenMP on an Embedded System & A support for SSE on Atom CPUs

SergeyKostrov
Valued Contributor II
189 Views

These are general questions regarding Embedded Platforms with Atom CPUs:

- Is there an Intel C++ compiler that supports OpenMP on an Embedded System?

- Does the Atom CPU(s) support SSE instructions set or some subset of SSE?
If No, Any plans to support SSE in the future?

Thank you in advance!

0 Kudos
1 Solution
Robert_M_Intel1
Employee
189 Views
Hi Sergey,

1)
The Intel C++ Compiler that is included in the Intel Parallel Studiuo XE products as well as the Intel Embedded Software Development Tool Suite 2.3 for Intel Atom Processor that we will release shortly, does indeed haven OpenMP support.

The Intel C++ Compiler does link in support libraries if you use the -openmp option switch, thus you may need to copy some support shared objects to the target device and theer are thus some footprint conmsideratiosn, but else nothing speaks against using OpenMP for Embedded.

The one additional caveat I would like to make is that different OpenMP versions tend to play nicely together, but it cannot always be guaranteed. Thus, use or non-use of OpenMP can becme a consideration when you are mixing IntelCompiler and GNU Compiler generated binaries.

2)
TheIntel Atom Processors in their current generation supportIntel Streaming SIMD Extensions (SSE) up to and includingSupplemental Streamng SIMD Extensions 3 (SSSE3). The targeted optimization switch for Intel Atom Procesors in our Intel C++ Compiler is called -xSSE3_ATOM to indicate this.

Thanks, Rob

View solution in original post

6 Replies
Robert_M_Intel1
Employee
190 Views
Hi Sergey,

1)
The Intel C++ Compiler that is included in the Intel Parallel Studiuo XE products as well as the Intel Embedded Software Development Tool Suite 2.3 for Intel Atom Processor that we will release shortly, does indeed haven OpenMP support.

The Intel C++ Compiler does link in support libraries if you use the -openmp option switch, thus you may need to copy some support shared objects to the target device and theer are thus some footprint conmsideratiosn, but else nothing speaks against using OpenMP for Embedded.

The one additional caveat I would like to make is that different OpenMP versions tend to play nicely together, but it cannot always be guaranteed. Thus, use or non-use of OpenMP can becme a consideration when you are mixing IntelCompiler and GNU Compiler generated binaries.

2)
TheIntel Atom Processors in their current generation supportIntel Streaming SIMD Extensions (SSE) up to and includingSupplemental Streamng SIMD Extensions 3 (SSSE3). The targeted optimization switch for Intel Atom Procesors in our Intel C++ Compiler is called -xSSE3_ATOM to indicate this.

Thanks, Rob

View solution in original post

SergeyKostrov
Valued Contributor II
189 Views
Hi Rob,

Thank you! Right now I can see on http://software.intel.com/en-us/articles/intel-tools-for-intel-atom-processors/Embedded Software Development Tool Suitefor Intel Atom Processor without a version number 2.3.

You mentioned that version 2.3 will be released later. So, what I see now is a differentnot 2.3 version, right?

Best regards,
Sergey
Robert_M_Intel1
Employee
189 Views
Hi Sergey,

correct - what you see at the moment is v2.2 Update 2. This version is still based on a slightly older C/C++ Compiler. The release of the version I mentioned is however scheduled to happen this month, so it may be well worth waiting for it if you can.

Rob
SergeyKostrov
Valued Contributor II
189 Views
Hi Rob,

At the moment the biggest obstacle ( in my case )with Intel's SDK for Embedded systemsis aLinux as a host environment.

I really expected to see an SDK for Windows with as better as possible integrationwith MS Visual Studios 2005/2008/2010.I don't see any possibility to move the development to Linux from Windows.

Best regards,
Sergey
Robert_M_Intel1
Employee
189 Views

Hi Sergey,

is your intended target platform also Windows* based? If so the Intel C++ Studio XE or Intel Parallel Studio XE products may work for. These are tightly integrated into Visual Studio* and the performance analyzer and the compiler included in it do have full IntelAtom Processor support.

You may want to make sure to pick the "XE" product lines for full OpenMP support. You also may want to be aware that these products are primarily intended for native development instead of the more common cross-development in embedded settings. If both host and target are Windows* based in your development use case, that should however still be a good fit for you.

Thanks, Rob

SergeyKostrov
Valued Contributor II
189 Views
>>...is your intended target platform also Windows* based?...

Yes. But things are very interesting here:

There is some "dissatisfaction" with Windows Mobile platforms, and because of this acouple of more platforms are under review.

Best regards,
Sergey
Reply