PETSc在Windows上的安裝與測(cè)試
高大上的代數(shù)求解庫(kù)(冰山一角)PETSc在Linux上的安裝已經(jīng)有不少大佬在網(wǎng)上分享了,但在Windows上怎么裝卻沒(méi)有較為新進(jìn)的教程,這里我就分享下近期“摸爬滾打”之后成功安裝的經(jīng)驗(yàn)。

前置環(huán)境配置
Visual Studio
2019或2022版的,自己整。

MPI
PETSc支持MPI、OpenMP、異構(gòu)等不同的并行實(shí)現(xiàn)方式,但按照官方說(shuō)法,其對(duì)MPI的支持還是相對(duì)更完善的,PETSc并行上手的話也是以MPI并行開始的,所以先配置好MPI環(huán)境。這里選擇Intel的MPI(而不是MS-MPI,別問(wèn),問(wèn)就是踩過(guò)坑)。

把這倆下載了,先安裝上面的基礎(chǔ)包,再安裝下面的高性能計(jì)算包,安裝路徑不要有中文,也(最好)不要有空格。記住你的安裝路徑。

Cygwin
接下來(lái)就是Cygwin了,bing一下到官網(wǎng)下載:

Cygwin的后續(xù)配置網(wǎng)上可以找到一大堆,但為了安裝PETSc,我們必須確保安裝了Python3和make:

下載完后打開一下Cygwin,它會(huì)自動(dòng)配置本地文件,然后關(guān)掉。

PETSc的安裝
首先去PETSc官網(wǎng)下載壓縮包,然后解壓。
然后以管理員身份啟動(dòng)Intel oneAPI command prompt for Intel 64 for Visual Studio 2022/2019
命令行輸入icl,看看是否識(shí)別此命令
上一步icl有反應(yīng)的話,輸入mintty的路徑,如D:/Cygwin/Bin/mintty
正常情況下就會(huì)有一個(gè)窗口彈出來(lái),然后按照這個(gè)視頻做
注意啦,在configure的時(shí)候,這么輸入
--prefix=/cygdrive/(你想要的windows路徑) --with-cc-std-c99='win32fe icl' --with-fc=ifort --with-cxx-std-c++11='win32fe icl' --download-fblaslapack --with-shared-libraries=0 --with-mpi-include=/cygdrive/(mpi包含路徑) --with-mpi-lib=/cygdrive/(mpi庫(kù)路徑) --with-mpiexec=/cygdrive/(mpiexec所在路徑)?
那么這些路徑怎么找呢,在Intel oneAPI command prompt里用命令wheris搜索,比如說(shuō)mpicc,他就會(huì)打印:

那么include、lib、mpiexec路徑就是
/cygdrive/d/Intel/oneAPI/mpi/2021.9.0/Include
/cygdrive/d/Intel/oneAPI/mpi/2021.9.0/lib/release/impi.lib
/cygdrive/d/Intel/oneAPI/mpi/2021.9.0/bin/mpiexec
后面就按提示做就行。(順帶一提,這么做最后的PETSc是release版的)

基于Visual Studio的官方算例測(cè)試
先配置好環(huán)境和指令(也可以生成exe文件再手動(dòng)輸入),看圖(petsc的路徑取決于你的prefix),編譯器要選成Intel的,工程右鍵菜單有個(gè)compiler的選項(xiàng),看自己喜好選。





另外就是,PETSc是c語(yǔ)言寫的,相關(guān)文件如果是.cpp后綴的話編譯器會(huì)不認(rèn)一些C的東西,所以建議使用.c。(extern "C"應(yīng)該也成,沒(méi)試過(guò)。)
不出意外的話,就可以運(yùn)行了。