Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

OpenMP on iOS/Android

OpenMP is supported in GCC which is cross-platform... but does that mean OpenMP is supported on all target platforms? Specifically, iOS and Android**... as phones/tablets move to quad-core, not using all the cores in games will be a huge disadvantage.

** As a non mobile-developer I don't know if you can write C++ apps for Android in the first place?

like image 552
Mr. Boy Avatar asked Feb 28 '12 09:02

Mr. Boy


1 Answers

This is not necessarily the case. Example: http://groups.google.com/group/android-ndk/browse_thread/thread/a547eac5446035b4?pli=1

OMP is not supported on all target GCC platforms. It's certainly not available for Gameboy Advance, e.g., even though GCC can target ARM/Thumb architectures.

On the iOS side, I'm not sure if OMP is supported or not, but Apple would probably strongly encourage the use of their Grand Central Dispatch library with focus on asynchronous task queuing (Apple really pushes that one with the ideal being that applications should never stall and show a loading icon which is quite different from just parallel loops to speed up sequential processing).

As a non mobile-developer I don't know if you can write C++ apps for Android in the first place?

Yes, C and C++ with the Android NDK are the two languages supported for building native Android applications, while iOS focuses on C, C++, and Objective-C.

like image 123
stinky472 Avatar answered Oct 23 '22 04:10

stinky472