當前位置:首頁 » 編程軟體 » ifort編譯

ifort編譯

發布時間: 2022-08-15 03:35:36

⑴ 如何刪除ifort編譯

下載FreeNon-Commercial(非商業版)的ifort,icc以及MKL。很簡單,只需要提供郵箱,然後按照步驟一步步來就行了,intel會把序列號和一個licence文件發到你郵箱里。這里以64位版本l_fc_p_10.1.015_intel64.tar.gz,l_cc_p_10.1.015_intel64,以及數學庫l_mkl_p_1.0..1.014.tgz為例。2)安裝:a)以root身份登陸linux,tar-zxvfl_fc_p_10.1.015.tar.gz,解壓縮.b)#cdl_fc_p_10.1.015#./install.shc)選擇1,進入安裝,然後有輸入序列號的選擇,如果直接輸入序列號,就選1(推薦使用),然後輸入序列號,如果不能上網,或網路認證太慢,可以提供licence文件的路徑的話,選2,然後根據提示輸入licence文件的全部路徑及文件名(以.lic結尾)。d)選擇Typicalinstall典型安裝(推薦使用),如果是高級用戶,可以選擇advanced.e)閱讀協議,一路回車,到最後根據提示輸入accept。f)然後都是默認安裝,一路回車就安裝完畢。l_cc_p_10.1.015_intel64,以及數學庫l_mkl_p_1.0..1.014.tgz的安裝步驟同上。3)配置:進入安裝目錄下才/bin,默認路徑為/opt/intel/fce/10.0.008/bin,/opt/intel/cce/10.0.015/bin。sourceifortvars.sh(.csh)sourceiccvars.sh到此安裝設置完畢。分別輸入whichifort,whichicc如果能看到/opt/intel/fce/10.0.008/bin/ifort,/opt/intel/cce/10.0.015/bin/icc,那麼就安裝設置成功了,趕緊用個fortran程序去測試吧。另外,還有一種定義環境變數的方法,切換到root用戶下,vi/etc/profile/,在該文件中定義環境變數如下所示:#intelcompilersource/opt/intel/cce/10.1.015/bin/iccvars.shsource/opt/intel/fce/10.0.008/bin/ifortvars.sh然後,保存退出,source/etc/profile,到此為止,intel編譯器安裝完畢。Note:exportCC=iccCXX=icpcLD=xildAR=xiar

⑵ ifort命令怎麼編譯mpi

1、icc

Intel C/C++編譯器接受遵守ANSI C/C++ , ISO C/C++ standards,GNU inline ASM for IA-32 architecture標準的輸入。與linux下常用的gcc兼容並支持更大的C語言擴展,包括源文件、命令行參數、目標文件。不支持gcc的inline方式的匯編。例,f.c

#include<stdio.h>

int main(int argc, char* argv[]){

printf("Hello\n");

return 0;

}

編譯:icc -c f.cpp -o f.o

鏈接:icc f.o -o f

運行:./f

注意,編譯與鏈接都由icc來完成,icc常用命令行參數:

-o 輸出文件命名

-I include路徑

-L lib路徑

-l 包含的lib名

-c 僅生成目標文件(*.o),不鏈接

-On n=0,1,2,3 編譯器優化選項,n=0關閉編譯器優化,n=3使用最激進的優化

-c99[-] 打開/關閉 c99規范的支持

詳細的請參照icc的manpage.

2、ifort

Intel Fortran編譯器支持F77/90/95標准並與CFV(Compaq Visual Fortran)兼容。例,f.f90

program f

print *, "Hello"

stop

end

編譯:ifort -c f.f90 -o f.o

鏈接:ifort f.o -o f

運行:./f

編譯與連接同樣由ifort來完成,ifort常用命令行參數:

-o 輸出文件命名

-I include路徑

-L lib路徑

-l 包含的lib名

-c 僅生成目標文件(*.o),不鏈接

-On n=0,1,2,3 編譯器優化選項,n=0關閉編譯器優化,n=3使用最激進的優化

-std90 使用F90標准編譯

-std95 使用F 95標准編譯

-f77rtl 編譯使用F77運行方式的代碼(用於解決特殊問題)

These options optimize application performance for a particular Intel? processor or family of processors. The compiler generates code that takes advantage of features of the specified processor.

Option

Description
tpp5 or G5 Optimizes for Intel? Pentium? and Pentium? with MMX? technology processors.
tpp6 or G6 Optimizes for Intel? Pentium? Pro, Pentium? II and Pentium? III processors.
tpp7 or G7 Optimizes for Intel? Pentium? 4, Intel? Xeon?, Intel? Pentium? M processors, and Intel? Pentium? 4 processors with Streaming SIMD Extensions 3 (SSE3) instruction support.
On Intel? EM64T systems, only option tpp7 (Linux) or G7 (Windows) is valid.

About tpp:

http://www.ncsa.illinois.e/UserInfo/Resources/Software/Intel/Compilers/9.0/main_for/mergedProjects/copts_for/common_options/option_tpp567_g567.htm

https://wiki.ke.e/display/SCSC/Compilers+and+Libraries

Intel Fortran Compiler Options: http://geco.mines.e/guide/ifort.html

Intel(R) Fortran Compiler Options: http://www.rcac.pure.e/userinfo/resources/common/compile/compilers/intel/man/ifort.txt

ifort編譯器提供了非常多的優化參數

$ ifort --help | more 查看就可以
也可以定位到某個參數

$ifort --help | grep -5 '-mkl'
-5表示顯示查找到的行及下面5行的內容。

3、Intel MKL數學庫針對Intel系列處理器進行了專門的優化,主要包含的庫有:

基本線形代數運算(BLAS)

向量與向量、向量與矩陣、矩陣與矩陣的運算

稀疏線形代數運算

快速傅立葉變換(單精度/雙精度)

LAPACK(求解線形方程組、最小方差、特徵值、Sylvester方程等)

向量數學庫(VML)

向量統計學庫(VSL)

高級離散傅立葉變換

編譯:

icc multi.c -I/opt/intel/mkl/include –L/intel/mkl/lib –lmpi_ipf –o multi

4、MPI程序編譯

消息傳遞介面(MPI)並行程序設計模型程序的編譯命令。例,f.c

include<stdio.h>

#include<mpi.h>

main(argc,argv)

int argc;

char *argv[];

{

char name[BUFSIZ];

int length;

MPI_Init(&argc,&argv);

MPI_Get_processor_name(name, &length);

printf("%s: hello world\n", name);

MPI_Finalize();

}

編譯與連接均使用mpicc,參數與mpicc中定義的編譯器相同,這里與icc相同。

mpicc –c hello.c –o hello.o

mpicc hello.o –o hello

運行使用mpirun 命令,將運行需要的節點定義在文件中並在-machinfile中制定。

文件: nodelist

node1

node1

node2

node3

運行:

$mpirun –machefile nodelist –np 4 ./hello

node1: hello world

node1: hello world

node2: hello world

node3: hello world

5、32位向64位的移植

32位程序到64位移植中應注意的常見問題:

數據截斷:

由於long類型變數的運算(賦值、比較、移位等)產生。long定義在x86上為32bits,而在ia64上為64bits.容易在與int型變數運算時出現異常。

處理方法:盡量避免不同類型變數間的運算,避免將長度較長的變數賦值到較短的變數中,統一變數長度可以解決這個問題。簡單的對於32位轉移到64位可以將所有long定義轉換為int定義。

⑶ VTST vasp.5.2.12 mpiifort 編譯報錯求助

1.用intel編譯mpi 2.設置好編譯器和數學庫的路徑,source使生效 3.在makefile里,修改編譯器,打開mpi部分並注釋掉前面的串列部分 4.make吧

⑷ 請教ifort和pgf90編譯差別的問題

方法一:
假如現在有兩個Fortran程序1.f90和2.f90,其中1.f90是主程序,2.f90是在主程序中調用的子程序,將這兩個程序傳到Linux的一個目錄下,使用fortran編譯命令,如PGI的pgf90,Intel的ifort,命令如下:
pgf90 -o exe_name 1.f90 2.f90
ifort -o exe_name 1.f90 2.f90
方法二:
在主程序1.f90中加入include '2.f90'語句,然後在Linux下用fortran命令編譯,命令如下:
pgf90 -o exe_name 1.f90
ifort -o exe_name 1.f90

⑸ 為什麼Fortran90的程序在ifort 和gfortran兩種編譯器下結果不同

出現這種情況一般原因是程序不嚴謹,比如說定義數組之後沒有初期化,判斷倆實數是否相等,用了一些不通用的函數(各個版本的編譯器都可能會有一些獨特的函數),數值精度不統一等等。輸入數據也可能造成這種影響,比如說4.0和4.0d0在計算機看來是兩個不同的數。
就算是同一個編譯器編譯的程序,在不同電腦上跑甚至在相同電腦跑結果都可能不相同。這又涉及到CPU位數的問題了。
避免此類情況發生的時候,寫代碼要養成良好的習慣。定義real的時候順便明確一下kind,定義數組之後馬上就初始化一下,判斷兩實數是否相等不要直接判斷,輸入數據的時候要考慮到輸入數據的類型等等

⑹ 如何在命令提示符下編譯fortran

常用的Compaq Visual Fortran或者Intel Fortran都可以用命令行編譯方式。
Compaq用df.exe命令編譯,Intel用ifort命令編譯(如果用集成環境會自動調用),最簡單的方式是「df或ifort fortran源程序名稱」,比如
df a.f90

如果不在編譯程序的路徑下編譯,需要把編譯程序放入搜索路徑,並在編譯時指定頭文件和庫文件的位置。
如果是Compaq的Fortran會有一個DFVARS.BAT的批處理,是為命令行編譯設置環境變數的,Intel的Fortran是ifortvars.bat。

⑺ linux下面怎麼裝ifort和icc編譯器

執行sudo apt-get install libstdc++5時,可能出現「無法找到軟體包libstdc++5」,自己在網上搜索下載這個文件,得到一個compat-libstdc++-33_3.2.3-48.3_i386.deb安裝包,然cd 到deb包所在的位置,執行
sudo dpkg -i compat-libstdc++-33_3.2.3-48.3_i386.deb即可

⑻ 如何在ubuntu下安裝intel ifort編譯器

Intel Fortan Compiler簡稱ifort, Windows下的ifort是收費的,但是Linux系統下提供免費的ifort,可以在下面的鏈接中下載需要的版本(必須先注冊,隨後會收到官網發來的郵件,裡面提供了接下來安裝需要的series-number)http://software.intel.com/en-us/articles/non-commercial-software-download/
在Ubuntu下安裝ifort之前,需要先安裝一些軟體包
sudo apt-get install build-essential
sudo apt-get install g++
sudo apt-get install gcc-multilib
sudo apt-get install rpm
sudo apt-get install openjdk-6-jre-headless
sudo apt-get install libstdc++6
將下載下來的文件解壓 tar -zxvf l...tgz
安裝
進入上面解壓過後的文件夾,sudo install.sh
安裝一共分六步,根據自己的需要選擇設置信息,一般一路enter下去即可。
修改運行環境信息
將source /opt/intel/bin/ifortvars.sh ia32 添加到 ~/.bashrc文件里
檢測安裝是否成功
ifort -v 或 ifort -V

⑼ linux上面如何編譯fortran源代碼

格式:ifort 要編譯的文件名 -0 指定生成的文件名
如我要把123.f文件編譯
ifort 123.f -o 123.e
如果不加指定生成的文件名,系統會自動生成一個a.out的文件

⑽ makefile 里ifort 是什麼意思 大概查了下 好像是什麼編譯器 可以說下它和gcc與gfortran 有什麼差別

ifort是intel出的fortran的編譯器,和Gfortran一個意思

熱點內容
ceph緩存變慢 發布:2025-02-07 11:46:52 瀏覽:923
python做什麼用的 發布:2025-02-07 11:46:46 瀏覽:563
o2o與資料庫設計 發布:2025-02-07 11:35:27 瀏覽:928
ftp伺服器推薦 發布:2025-02-07 11:35:16 瀏覽:700
吉利星瑞豪華加6000是有哪些配置 發布:2025-02-07 11:25:18 瀏覽:971
李字加工編程 發布:2025-02-07 11:23:50 瀏覽:881
linux安全運維 發布:2025-02-07 11:14:19 瀏覽:737
阿里雲集群伺服器 發布:2025-02-07 11:12:38 瀏覽:453
如何選擇家庭最佳配置 發布:2025-02-07 11:06:50 瀏覽:89
javatomcat伺服器搭建伺服器 發布:2025-02-07 10:55:22 瀏覽:624