Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How best do I get to use OpenMP on Mac OS X 10.5 and Ubuntu 10.4?

I'm looking at an open-source library (DDS, a double-dummy bridge solver) which in its latest release (2.1.1) adds some very useful multi-tasking functionality requiring either a Windows system or OpenMP (indeed, that latest version won't even compile at all on a non-Windows system without full OpenMP support!-). Ubuntu 10.4 has a package available for an older version (1.1.9), which includes the Python interface to the library (pydds). I contributed to upstream long ago, but I'd really like to use (and contribute a Python interface to;-) the new functionality... but, for that, I need a C compiler and supporting libraries that will give me OpenMP functionality...!

Plus, I need them on both Ubuntu 10.4 and my good old Intel Macs which still run Mac OS X 10.5 (to avoid losing compatibility with my good old PowerPC Macs -- but I'm not holding out for a way to get OpenMP support on those PowerPC Macs too, though of course I'd just love to... the Intel-based ones would suffice!-).

I fully plan to hack as much as needed (and contribute patches upstream of course once I have them working, as I've long done on all open source code I've hacked on, including DDS itself in the past;-) on DDS itself, pydds, and any ancillary functionality for them, but... exactly because of that, I'd just love to avoid having to do a lot more "preliminary" hacking to get OpenMP support (for C) in the first place on the platforms I need it on!-).

So, is there (ideally!-) anything I could just apt-get install for Ubuntu 10.4, and a disk image or Darwinport or whatever for Mac OS X 10.5 at least on Intel processors, that I could use to get started...? I'm of course ready to build-from-sources, patch sources, etc., as needed, but I'd much rather not have to, if I can avoid it...;-).

like image 961
Alex Martelli Avatar asked Sep 04 '10 19:09

Alex Martelli


1 Answers

On Mac OSX 10.5, it looks like -fopenmp is not a valid option (gcc version 4.0.1).

$ gcc -fopenmp foo.c 
cc1plus: error: unrecognized command line option "-fopenmp"

However, I was able to compile and run on 10.6 (gcc version 4.2.1). So, it looks like your only options are 1) upgrade to 10.6, or 2) custom compile a version of gcc.

(Side Note: The man page for gcc on 10.5 does not mention -fopenmp, where 10.6 does.)

like image 198
Garrett Hyde Avatar answered Sep 21 '22 15:09

Garrett Hyde