簡體   English   中英

如何在Mac OS X 10.5和Ubuntu 10.4上使用OpenMP?

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

我正在看一個開源庫( DDS ,一個雙虛擬橋解算器),它在最新版本(2.1.1)中添加了一些非常有用的多任務功能,需要Windows系統 OpenMP(實際上,最新版本)如果沒有完整的OpenMP支持,版本甚至根本不會在非Windows系統上編譯! - )。 Ubuntu 10.4有一個可用於舊版本(1.1.9)的軟件包,其中包括庫的Python接口( pydds )。 我很久以前就為上游做出了貢獻,但我真的很想使用(並提供一個Python接口;-)新功能...但是,為此,我需要一個C編譯器和支持庫,它將為我提供OpenMP功能...!

另外,我需要在Ubuntu 10.4 我仍然運行Mac OS X 10.5的舊款Intel Mac上使用它們(以避免失去與我的舊版PowerPC Mac的兼容性 - 但我並不贊成如何獲得OpenMP支持那些PowerPC Mac也是如此,當然我只是喜歡......基於英特爾的那些就足夠了! - )。

我完全打算根據需要進行攻擊(並且當我讓它們正常工作時,在上游提供補丁,因為我已經對我已經攻擊的所有開源代碼做了很長時間,包括過去的DDS本身;-)在DDS上本身,pydds,以及他們的任何輔助功能, ......正因為如此,我只是希望避免為了獲得OpenMP支持(對於C)而不得不做更多的“初步”黑客攻擊我需要它的平台! - )。

那么,有沒有(理想情況下! - )我可以為Ubuntu 10.4 apt-get install任何東西,以及至少在英特爾處理器上用於Mac OS X 10.5的磁盤映像或Darwinport等等,我可以用來開始...... ? 我當然准備建設,從來源,補丁源等,如需要,但我寧願沒有 ,如果我能避免它... ;-)。

在Mac OSX 10.5上,看起來-fopenmp不是有效選項(gcc版本4.0.1)。

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

但是,我能夠在10.6(gcc版本4.2.1)上編譯和運行。 所以,看起來你唯一的選擇是1)升級到10.6,或2)自定義編譯一個版本的gcc。

旁注: 10.5上gcc的手冊頁沒有提到-fopenmp ,其中10.6就是這樣。)

正如Garrett Hyde所建議的那樣,Mac OS 10.5附帶的gcc版本太舊而無法獲得OpenMP支持。 但沒問題。

安裝MacPorts(http://trac.macports.org/wiki/InstallingMacPorts) - 你需要安裝Xcode,然后安裝X11,如果你不安裝它們,你仍然可以從蘋果網站獲得還有你的安裝媒體。 然后一旦設置了macports,“sudo port install gcc45”(或至少44)並等待一段時間,以便構建gcc及其所有依賴項。 任何gcc 4.4.x或更高版本都將擁有非常可靠的OpenMP 3.0支持。 然后你應該好好去。

正如評論中指出的那樣,Ubuntu 10.4附帶的股票gcc也可以開箱即用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM