在基于英特爾處理器的新一代 Mac* 硬件上,提高了計算密集型應用程序的性能。“英特爾 Fortran 編譯器 Mac OS* 標準版”支持多線程應用程序的開發(fā)、同 Xcode 2.2.1 相集成,并支持 Apple 框架。“英特爾 Fortran 編譯器 Mac OS 標準版”完全符合各項標準,包括支持 Fortran 95、Fortran 90、Fortran 77、Fortran 66 (FORTRAN IV) 以及 Fortran 2003 中所選的新增功能。
         
                在基于英特爾處理器的新一代 Mac* 硬件上,提高了計算密集型應用程序的性能。“英特爾 Fortran 編譯器 Mac OS* 標準版”支持多線程應用程序的開發(fā)、同 Xcode 2.2.1 相集成,并支持 Apple 框架。“英特爾 Fortran 編譯器 Mac OS 標準版”完全符合各項標準,包括支持 Fortran 95、Fortran 90、Fortran 77、Fortran 66 (FORTRAN IV) 以及 Fortran 2003 中所選的新增功能。
Mac 與多核心功能概述
 
	- 以下特性專門講述基于英特爾® 處理器的新 Mac 機的體系結構功能。這里只對每項功能作簡要的介紹,同時提供指向更完整說明的鏈接。
	
		- 多線程應用程序支持(包括 OpenMP* 與自動并行功能)讓您可以充分利用多核心技術(如英特爾酷睿雙核處理器)的優(yōu)勢。
- Xcode* 2.2.1 集成讓開發(fā)人員可以繼續(xù)使用自己熟悉的這個環(huán)境,同時還能從英特爾編譯器先進的功能中獲益匪淺。
- 包含與 GCC 4.0 互操作的功能:同 GCC 在源代碼、二進制代碼以及命令行等方面保持著優(yōu)異的兼容性。
- 對 Apple 框架的支持使得這個強大的 Apple 編程模型可以在基于英特爾酷睿雙核處理器的平臺上很好地工作。
 
先進的優(yōu)化功能概述 
 
 
	- 基于英特爾處理器的 Mac 硬件同樣可以從各項先進的優(yōu)化功能中獲益,這里只簡要介紹其中的一小部分,同時提供指向更完整說明的鏈接。
	
		- 過程間優(yōu)化 (IPO) 對于包含常用中、小函數的程序,特別是循環(huán)內包含調用的程序,可以極大地提高其性能。
- 檔案導引優(yōu)化 (PGO) 通過減少指令緩存反覆、重新組織代碼布局、縮減代碼長度以及減少分支預測失誤,來幫助提高應用程序的性能。
- 自動矢量器可以將代碼并行化,并進行數據對齊(包括進行循環(huán)剝離),以生成對齊的加載,進行循環(huán)展開以匹配整個緩存線的預取。
- 高級別優(yōu)化 (HLO) 通過使用循環(huán)變換和預取功能來實現(xiàn)主動優(yōu)化。
- 英特爾® 調試器對于已針對英特爾® 體系結構進行過優(yōu)化的代碼,可以提高其調試過程的效率。
 
深入介紹 Mac* 與多核心功能
 
 
	- 這部分詳細介紹上文“Mac 與多核心功能概述”部分簡要介紹的各項功能。
多線程應用程序支持:
 
 
	- OpenMP 與自動并行功能幫助將串行應用程序轉換成并行應用程序,使您可以充分利用多核心技術(如英特爾® 酷睿™ 雙核處理器)以及對稱多處理系統(tǒng)的優(yōu)勢:
	
		- OpenMP* 是可移植多線程應用程序開發(fā)的行業(yè)標準。它在細粒度(循環(huán)級別)與粗粒度(函數級別)線程技術上都非常有效。
- 對于將串行應用程序轉換成并行應用程序,OpenMP 指令是一種簡單但是卻很強大的手段,通過這種轉換,由于在多核心與對稱多處理器系統(tǒng)上并行執(zhí)行,性能可能會有很大幅度的提升。
- 自動并行通過自動將循環(huán)線程化來提高應用程序在多處理器系統(tǒng)上的性能。此選項檢測能安全地并行執(zhí)行的并行循環(huán),然后自動生成多線程代碼。
- 自動并行功能使得用戶不必去處理迭代劃分、數據共享、線程調度以及同步等細枝末節(jié)。它還能夠利用多處理器系統(tǒng)與支持“超線程技術”的系統(tǒng)所帶來的性能優(yōu)勢。
- 如需有關多線程應用程序支持的詳細信息,請訪問英特爾的線程技術開發(fā)人員中心。
 
Xcode 2.2.1 集成
 
 
	- “英特爾 C++ 編譯器 Mac OS 標準版與專業(yè)版”同 Xcode 2.2.1 兼容,使得開發(fā)人員可以在使用這個主流 IDE 的同時,還可以充分利用英特爾提供的各項先進的優(yōu)化功能。
- 通過使用“英特爾 C++ 編譯器 Mac OS 版”與 GCC for PowerPC*,可以從 Xcode 環(huán)境中生成“C/C++ 通用二進制代碼”,保持與 GCC 4.0 的兼容性。按照設計,“通用二進制代碼”在一個編譯后的軟件包中綜合了 PowerPC 與英特爾這兩種體系結構的本機代碼,簡化了這兩種體系結構之間的轉換。
- 對于不含處理器相關內容的高級代碼,只需極少量的更改(如果有),便可以創(chuàng)建“通用二進制代碼”。對于包含硬件相關內容的底層代碼,挑戰(zhàn)性要更大一些。
GCC 4.0 互操作性 
 
 
	- GNU C/C++ 兼容性功能可以確保同 GNU C 在源代碼與目標代碼方面保持兼容。“英特爾 C++ 編譯器 Mac OS 標準版與專業(yè)版”支持 GCC 擴展,可以幫助輕松移植應用程序,使得您只要重新編譯現(xiàn)有的軟件,便能改善應用程序的性能。另外,您也不用徹底換掉編譯器,而只需在構建應用程序時,使用“英特爾 C++ 編譯器 Mac OS 版”編譯特定的模塊,然后將它們鏈接到 GNU C 編譯的模塊即可。 “英特爾 C++ 編譯器 Mac OS 版”還符合 C++ ABI 標準,與 GCC 4.0 在二進制代碼方面的兼容性更為強大。
對 Apple 框架的支持
 
 
	- Apple 框架是用于分發(fā)共享資源的一種特殊形式的軟件包,這些共享資源包括庫代碼、資源文件、頭文件以及參考文檔。它們在使用動態(tài)共享庫方面非常靈活,這一點常常很受歡迎。如需有關 Apple 框架的詳細信息,請訪問 Apple 網站*。
深入介紹先進的優(yōu)化功能
 
 
	- 過程間優(yōu)化 (IPO) 
 這部分詳細介紹上文“Mac 與多核心功能概述”部分簡要介紹的各項功能。
 圖 1. 過程間優(yōu)化的過程。
  
 如“圖 1”所示,IPO 過程要求首先使用 IPO 選項編譯源文件,然后創(chuàng)建包含供編譯器使用的中間語言 (IL) 的目標 (.o) 文件。進行鏈接時,編譯器合并所有的 IL 信息,并通過分析找出其中有待優(yōu)化的地方。IPO 過程中所采取的典型優(yōu)化措施包括:過程內嵌與重新排序、消除死(執(zhí)行不到的)代碼以及常數傳播,也就是使用已知的值代替常數。由于添加了多個過程的上下文,可以安全地執(zhí)行更進一步的優(yōu)化,因此IPO 可以在過程內級別上執(zhí)行進一步的優(yōu)化。
- 檔案導引優(yōu)化 (PGO)  
 圖 2. 檔案導引優(yōu)化的過程。
 “檔案導引優(yōu)化”(PGO) 編譯過程使“英特爾 C++ 編譯器”可以更好地利用處理器微體系結構,更有效地使用指令調度與高速緩存,并可以更好地執(zhí)行分支預測。通過重新組織代碼布局以減少指令緩存反覆、縮減代碼長度并減少分支預測失誤,它可以幫助提高應用程序性能。
 如“圖 2”所示,PGO 過程分為三個階段。這些步驟包括:1) 應用程序編譯階段,此時進行指令插入;2) 檔案生成階段,此時執(zhí)行并監(jiān)視應用程序;3) 重新編譯階段,此時使用第一次運行期間采集的數據幫助進行優(yōu)化。下面介紹多個影響檔案導引優(yōu)化的代碼長度:
		- 基本指令塊與函數排序 - 將經常執(zhí)行的指令塊與函數放在一起,以充分利用指令緩存的區(qū)域性。
- 輔助內嵌決策 - 內嵌經常執(zhí)行的函數,這樣雖然會增加代碼長度,但在對性能影響最大的地方卻可以得到很好的補償。
- 輔助矢量化決策 - 對遍歷計數高且經常執(zhí)行的循環(huán)進行矢量化處理,這樣雖然會增加代碼長度,但性能的提高卻可以減輕其負面影響。
 
- 自動矢量器 
 矢量化功能自動對代碼進行并行處理,以最大限度發(fā)揮處理器的潛能。這種先進的優(yōu)化技術通過利用 MMX™ 技術、SSE、SSE2 以及 SSE3 指令來分析循環(huán),并確定何時可以安全有效地并行執(zhí)行多個循環(huán)迭代。“圖 3”用圖形表示經過矢量化的循環(huán),它在一次 SSE2 運算中計算四個迭代。使用矢量化功能可以優(yōu)化應用程序代碼,在英特爾處理器上運行時,可以充分利用這些新的擴展功能。提供的功能包括支持各種先進的動態(tài)數據對齊策略,其中有可以生成對齊加載的循環(huán)剝離技術,可以匹配整個緩存線預取的循環(huán)展開技術等。
 圖 3. 矢量器工作原理
  
- 高級別優(yōu)化 (HLO)  
 數據預取是規(guī)避內存訪問延遲的有效技術,可以在許多計算密集型應用中顯著提高性能。數據預取在程序中的特定點上為所選數據引用插入預取指令,使引用的數據項在實際使用之前就已盡可能地移近處理器(放入高速緩存)。
 循環(huán)展開將兩個或更多個循環(huán)迭代合并到一起,以減少循環(huán)計數。循環(huán)展開雖然常常會導致代碼長度增加,但它可以減少必須執(zhí)行的指令數。下面是一個非常簡單的循環(huán)展開示例,它從循環(huán)中刪除了一個分支:
  
- 英特爾® 調試器 
 “英特爾調試器”支持對優(yōu)化過的代碼進行調試(也就是說,對為了在特定的硬件體系結構上取得最佳執(zhí)行效果而大幅改動過的代碼進行調試)。對于優(yōu)化過的代碼的調試,英特爾編譯器產生符合多項標準的調試信息,支持英特爾編譯器的所有調試器均可使用這些信息。“英特爾調試器”支持多核心體系結構,能夠調試多線程應用程序,并提供以下相關的功能:
		- 全部停止/全部執(zhí)行模型(即,一個線程停止時所有的線程都停止,一個線程恢復執(zhí)行時所有的線程也都恢復)。
		
			- 列出創(chuàng)建的所有線程。
- 在各個線程之間切換焦點。
- 檢查詳細的線程狀態(tài)。
 
- 設置斷點(包括所有的停止、跟蹤及觀察形式),并顯示所有線程或一部分線程的堆棧回溯
- 內置的圖形用戶界面提供一個“線程”面板(在“當前源代碼”窗格中),創(chuàng)建線程時激活該面板,供操作員選擇線程焦點并顯示相關的細節(jié)
- 最近改進過的“GNU 項目調試器”(GDB 調試器)也可用于并行應用程序中。如需有關詳細信息,請參閱英特爾調試器技術白皮書 (PDF 211KB)。
 
- 兼容性與靈活性
 符合多項標準
 “英特爾 C++ 編譯器 Mac OS 標準版與專業(yè)版”完全符合多項標準,其中包括對以下標準的支持:
		- ANSI C/C++ 標準
- ISO C/C++ 標準
- GNU 內嵌匯編代碼
- C++ ABI 目標模型
 
- 高級別優(yōu)化 (HLO) 
	
		- 數字家庭、游戲及娛樂應用得到了“英特爾 C++ 編譯器 Mac OS 標準版與專業(yè)版”很好地支持,多核心平臺上的并行處理功能在下載、安全性及后臺其它任務的處理方面表現(xiàn)出色,不會給用戶體驗造成任何負面影響。
- 移動計算軟件從英特爾編譯器的功能中受益匪淺:在多核心移動計算平臺(如基于英特爾酷睿雙核處理器的平臺)上,它不僅可以提高性能,而且生成的應用程序功耗很低,從而可以延長電池使用時間。
- 圖形設計一直以來都是 Macintosh 平臺表現(xiàn)最為突出的關鍵領域。通過使用英特爾編譯器來縮短延遲與渲染時間,同時還允許軟件架構師來添加其它的功能,而不會對性能造成無法接受的影響,因此它能帶來顯著的性能優(yōu)化。
 
系統(tǒng)要求
主機系統(tǒng)

目標系統(tǒng)
