科學計算軟體編譯安裝
方法說明 --- castep 篇 (提供免費test qq 178068275)
1. 什麼是 castep ?
castep(cambridge sequential total energy package 的縮寫)是乙個基於密度泛函方法的從頭算量子力學程式。
2. lammps編譯環境
intel compiler /gnu compiler + mpi compiler
3. 安裝 intel compiler 編譯器,設定編譯環境
如果使用的是intel的cpu,建議使用intel的編譯器。
例如使用th-1a的intel 2011編譯器編譯,可以載入如下環境變數:
source /opt/intel/compiler/11.1/059/bin/intel64/iccvars_intel64.sh
source /opt/intel/compiler/11.1/059/bin/intel64/ifortvars_intel64.sh
source /opt/intel/compiler/11.1/059/mkl/tools/environment/mklvarsem64t.sh
4.安裝 mpi compiler,設定編譯環境
編譯並行版的程式需要並行編譯器,例如mpi並行的程式需要mpi編譯器,常用的mpi例如intel mpi 、mpich 、openmpi等。
不同的機器可能針對自身硬體進行mpi優化,天河系統的mpi是基於開源mpich進行的二次開發優化,進而支援效能卓越的天河自主高速網際網路絡。
例如使用th-1a的intel 2011編譯器編譯的mpich,可以載入如下環境:
export path=/vol-th/software/mpi/mpi_1.2.1_intel_11.1/bin:$path
export ld_library_path=/vol-th/software/mpi/mpi_1.2.1_intel_11.1/lib:$ld_library_path
5.編譯castep
在readme.install中有關於安裝方法的詳細介紹,可以參考。
此處列出我編譯安裝時候的一些選項及相關說明。
time make install_dir="$home/software/castep/6.11-icc11-mpich2" \
arch=linux_x86_64_ifort11 comms_arch=mpi subarch=mpi \
mathlibs=mkl10 fft=mkl build=fast -j 4 \
opt="-o3" 2>&1 | tee make.log
time make install install_dir="$home/software/castep/6.11-icc11-mpich2" \
arch=linux_x86_64_ifort11 comms_arch=mpi subarch=mpi \
mathlibs=mkl10 fft=mkl build=fast -j 4 \
opt="-o3" 2>&1 | tee make.log
引數說明:
install_dir安裝目錄
arch 選擇乙個合適自己的,可以前往obj/platforms目錄裡面尋找合適自己機器的引數
comms_arch=mpi subarch=mpi 編譯mpi並行版本
mathlibs=mkl10 fft=mkl 設定mkl數學庫
build=fast 選擇fast型別編譯
-j 4 用4個核編譯
opt="-o3" 新增編譯引數,可以新增各種優化引數,例如-xhost, -ip等等
編譯完成後,就會在$home/software/castep/6.11-icc11-mpich2目錄生成可執行檔案castep.mpi
歡迎交流!
arm linux gcc交叉編譯器安裝說明
arm linux gcc 交叉編譯器安裝使用說明 1.解壓安裝包 tar xvf arm linux gcc 3.4.1.tar.bz2 c 2.進入解壓後的資料夾,將以交叉編譯器版本號命名的資料夾拷貝到 usr local 目錄下,則現在的交叉編譯程式集都在 usr local 3.4.1 bi...
編譯選項說明
g 常用命令選項 選項解釋 ansi c只編譯並生成目標檔案。dmacro 以字串 1 定義 macro 巨集。dmacro defn 以字串 defn 定義 macro 巨集。e只執行 c 預編譯器。g生成除錯資訊。gnu 偵錯程式可利用該資訊。idirectory 指定額外的標頭檔案搜尋路徑di...
編譯選項說明
一 build 執行 編譯的主機,正常的話就是你的主機系統。這個引數一般由config.guess來猜就可以。當然自己指定也可以。二 host 編譯出來的二進位制程式所執行的主機,因為絕大多數是如果本機編譯,本機執行。所以這個值就等於build。只有交叉編譯的時候 也就是本機編譯,其他系統機器執行 ...