2016-06-08 86 views
0

我想在Linux中用mpif90編譯pgplot。我可以用gfortran和g77編譯pgplot。但是,我需要它與用mpif90編譯的另一個程序兼容。不幸的是,我不可能用gfortran重新安裝其他程序(不是pgplot)。有沒有辦法用mpif90編譯pgplot?是否可以用mpif90編譯pgplot?

編輯:我用mpif90 -v來檢查編譯器。這是pgf90。我不知道mpif90是一個包裝...對不起。我會嘗試用pgf90編譯它。

+1

嘗試鍵入'mpif90 --version',這會告訴你什麼編譯器+版本實際上被使用時你用'mpif90'編譯。如果這匹配你最初編譯pgplot的東西,那麼你應該沒問題。如果您運行'mpif90 -show',那麼您將看到實際使用的命令(例如,您可以想象在任何地方都可以用該命令替換mpif90)。 –

+0

我不明白你的問題。您是否在執行'configure'時詢問如何更改編譯器。正如@ d_1999所說,這是一個很好的選擇,「mpif90」在你的計算機上只是一點點,儘管它可能是其他的東西,然後只是使用那個來做pgplot。 –

+0

@VladimirF我沒有意識到,mpif90是一個包裝。如果我不能解決這個問題,我會嘗試使用「under hood」下的編譯器,並提出另一個問題。謝謝~~ –

回答

2

mpif90(和mpifort)編譯器實際上只是包裝器,它調用帶有一組額外標誌的「標準」編譯器,以確保正確的mpi庫等被自動鏈接。您通常可以運行mpif90 -show以查看實際正在使用的命令。例如此運行在本地機器上我看到

> mpif90 -show 
/usr/bin/gfortran -I/path/to/openmpi/include -fexceptions -pthread -I/path/to/openmpi/lib64 \ 
    -Wl,-rpath -Wl,/path/to/openmpi/lib64 -Wl,--enable-new-dtags -L/path/to/openmpi/lib64 -lmpi_usempi -lmpi_mpifh -lmpi 

指示mpif90是使用系統gfortran編譯器「下引擎罩」。

要明確回答你的問題,只要你可以用編譯器編譯pgplot,mpif90使用「under-the-hood」,那麼你通常應該也可以用mpif90編譯pgplot。 但是只要編譯器認爲mpif90與您用來構建pgplot的內容相匹配,那麼您可能不需要再次使用mpif90再次明確編譯pgplot。

要真正用mpif90構建pgplot,需要查看pgplot構建系統以及如何設置編譯器。從快速查看看來,您似乎需要設置出現在sys_<type>/*.conf文件內的FCOMPL變量。 (如果這實際上是你的問題的主要觀點,那麼你可能希望編輯它以使其清晰明瞭

相關問題