我想在Linux中用mpif90編譯pgplot。我可以用gfortran和g77編譯pgplot。但是,我需要它與用mpif90編譯的另一個程序兼容。不幸的是,我不可能用gfortran重新安裝其他程序(不是pgplot)。有沒有辦法用mpif90編譯pgplot?是否可以用mpif90編譯pgplot?
編輯:我用mpif90 -v來檢查編譯器。這是pgf90。我不知道mpif90是一個包裝...對不起。我會嘗試用pgf90編譯它。
我想在Linux中用mpif90編譯pgplot。我可以用gfortran和g77編譯pgplot。但是,我需要它與用mpif90編譯的另一個程序兼容。不幸的是,我不可能用gfortran重新安裝其他程序(不是pgplot)。有沒有辦法用mpif90編譯pgplot?是否可以用mpif90編譯pgplot?
編輯:我用mpif90 -v來檢查編譯器。這是pgf90。我不知道mpif90是一個包裝...對不起。我會嘗試用pgf90編譯它。
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變量。 (如果這實際上是你的問題的主要觀點,那麼你可能希望編輯它以使其清晰明瞭)
嘗試鍵入'mpif90 --version',這會告訴你什麼編譯器+版本實際上被使用時你用'mpif90'編譯。如果這匹配你最初編譯pgplot的東西,那麼你應該沒問題。如果您運行'mpif90 -show',那麼您將看到實際使用的命令(例如,您可以想象在任何地方都可以用該命令替換mpif90)。 –
我不明白你的問題。您是否在執行'configure'時詢問如何更改編譯器。正如@ d_1999所說,這是一個很好的選擇,「mpif90」在你的計算機上只是一點點,儘管它可能是其他的東西,然後只是使用那個來做pgplot。 –
@VladimirF我沒有意識到,mpif90是一個包裝。如果我不能解決這個問題,我會嘗試使用「under hood」下的編譯器,並提出另一個問題。謝謝~~ –