主题:[原创]IMSL在IVF中的安装和应用(Windows系统)
IMSL在IVF中的安装和应用 (Windows系统)
-----------------------------------------------------
1. IMSL在IVF中的安装
2. IMSL在IVF中的调用
3. 其它程序库的调用
-----------------------------------------------------
1. IMSL在IVF中的安装
1) 如果是IVF pro版本自带的IMSL,直接安装就OK.可以直接阅读第2部分。
2) 如果是手动安装,IVF与IMSL版本不同,要注意以下问题
a) 首先,安装IMSL到缺省目录 (不同的版本,目录可能不同)
例如,IMSL5.0的安装路径是C:\Program Files\VNI\CTT6.0\
b)如果是在IDE环境下调用IMSL,那么需要首先设置IMSL在IVF中
的搜索路径,其设置方法为:
设置步骤:
(1) 打开IVF9.*/10.* in Visual studio .net 2003/2005 IDE;
(2) 打开菜单 Tools|options...
(3) 选择左侧的 ”Intel(R) Fortran“ ,再选”Gerneral“或是”compiler“,
然后在右侧找到 "Project Directories"或是“compiler Selection”.
然后在下面你可以看到 "Libraries" 和 "Includes".
点击右侧的 "..." 在Includes打开窗口中输入IMSL的include搜索路径,
在Libraries打开的窗口中输入IMSL的lib搜索路径
对于IMSL5.0,其include路径为:
C:\Program Files\VNI\CTT6.0\include\IA32
C:\Program Files\VNI\CTT6.0\include\IA32_s
其lib路径是:
C:\Program Files\VNI\CTT6.0\lib\IA32
如果是其他版本,也请查找类似目录。在include和lib目录下的某个目录,
一般说,include某个目录下应该有很多*.mod文件,在lib的某个目录下有很多
*.lib或*.dll文件,这就是正确的路径所在。
(4)选择“ok”,完成设置。
c)如果需要在命令行的方式下调用IMSL,且IVF的版本与IMSL的版本不一致,
则需要手动进行如下修改:
(1) 首先找到ifortvars这个IVF的设置文件,例如:
C:\Program Files\Intel\Compiler\Fortran\10.1.011\IA32\Bin\ifortvars.bat
(2) 用文本编辑器打开这个文件,你会找到类似的一行:
if exist "%FNL_DIR%\IA32\bin\fnlsetup.bat" call "%FNL_DIR%\IA32\bin\fnlsetup.bat"
这个句子的目的是查找IMSL的目录下是否有fnlsetup.bat这个文件,如果有的话,就执行它。
当然,不同的IVF版本,这一行可能有差别,我这里给出的是10.1.011版本的内容。
如果你不是对应的IMSL版本,可能不存在fnlsetup.bat这个文件,例如在IMSL5.0的安装目录下存在
C:\Program Files\VNI\CTT6.0\ctt\bin\cttsetup.bat 这个文件。那么你就需要更改ifortvars.bat
里面的内容,从而调用正确的bat文件。例如,IMSL5.0在IVF10.1.011下,要在ifortvars.bat文件中
加入下面一行
if exist "C:\Program Files\VNI\CTT6.0\ctt\bin\cttsetup.bat" call "C:\Program Files\VNI\CTT6.0\ctt\bin\cttsetup.bat " IA32
这样就可以正确在命令行方式下调用IMSL了。
---------------------------------------------------------------------------------------------------------------------------------------------------------------
2. IMSL在IVF中的调用
1)找到IMSL中合适的函数或子程序(在开始菜单中,安装IMSL的目录下会找到一个pdf文件,里面是IMSL的说明文件,包括函数和子程序的
详细信息,并有例子)
2)在自己的程序中调用IMSL. 首先在IVF的帮助文档中“index”选项卡下输入IMSL,就可以看到
Using from the Command Line
Using from IDE
这两项主要内容,请仔细阅读这个部分。一般情况下,调用IMSL需要注意两个地方:
a) 加入 INCLUDE 'link_fnl_static.h' 或是类似的语句在你的主程序中,不同的库函数选用不同的*.h文件
b) 加入合适的use 语句,例如
use IMSL
use lin_sol_gen_int
use rand_gen_int
use error_option_packet
等,你可以在IMSL的帮助文档中看到如何应用合适的use 语句
c) 在主程序中call IMSL中的functions或是subroutines
d) 编译,链接,得到执行程序。
3)在命令行中调用和编译:
首先在command窗口中执行ifortvars这个命令,如果不能执行,请直接从开始菜单中的IVF目录下面直接运行这个程序(Build Environment for applications running on IA-32),
或是将此文件所在的目录写入path环境变量,使其可以执行。
然后用ifort命令对你的主程序进行编译即可。
---------------------------------------------------------------------------------------------------------------------------------------------------------------
3. 其它程序库的调用
学会了IMSL的调用,其实其他的程序库如CXML,LAPACK, BLAS, WFL等在IVF下的调用都是类似过程,即主要要设置好include和lib的路径,使得编译器
可以找到需要包含的mod文件和链接的lib文件,这个过程大同小异。
-----------------------------------------------------
Good Luck!
Addison
2008.01.05
注意:上述内容可以自由转载,请保持信息完整,并不做任何修改。
Qusetions and Suggestions: addison0220_cn .AT. sina.com
-----------------------------------------------------
1. IMSL在IVF中的安装
2. IMSL在IVF中的调用
3. 其它程序库的调用
-----------------------------------------------------
1. IMSL在IVF中的安装
1) 如果是IVF pro版本自带的IMSL,直接安装就OK.可以直接阅读第2部分。
2) 如果是手动安装,IVF与IMSL版本不同,要注意以下问题
a) 首先,安装IMSL到缺省目录 (不同的版本,目录可能不同)
例如,IMSL5.0的安装路径是C:\Program Files\VNI\CTT6.0\
b)如果是在IDE环境下调用IMSL,那么需要首先设置IMSL在IVF中
的搜索路径,其设置方法为:
设置步骤:
(1) 打开IVF9.*/10.* in Visual studio .net 2003/2005 IDE;
(2) 打开菜单 Tools|options...
(3) 选择左侧的 ”Intel(R) Fortran“ ,再选”Gerneral“或是”compiler“,
然后在右侧找到 "Project Directories"或是“compiler Selection”.
然后在下面你可以看到 "Libraries" 和 "Includes".
点击右侧的 "..." 在Includes打开窗口中输入IMSL的include搜索路径,
在Libraries打开的窗口中输入IMSL的lib搜索路径
对于IMSL5.0,其include路径为:
C:\Program Files\VNI\CTT6.0\include\IA32
C:\Program Files\VNI\CTT6.0\include\IA32_s
其lib路径是:
C:\Program Files\VNI\CTT6.0\lib\IA32
如果是其他版本,也请查找类似目录。在include和lib目录下的某个目录,
一般说,include某个目录下应该有很多*.mod文件,在lib的某个目录下有很多
*.lib或*.dll文件,这就是正确的路径所在。
(4)选择“ok”,完成设置。
c)如果需要在命令行的方式下调用IMSL,且IVF的版本与IMSL的版本不一致,
则需要手动进行如下修改:
(1) 首先找到ifortvars这个IVF的设置文件,例如:
C:\Program Files\Intel\Compiler\Fortran\10.1.011\IA32\Bin\ifortvars.bat
(2) 用文本编辑器打开这个文件,你会找到类似的一行:
if exist "%FNL_DIR%\IA32\bin\fnlsetup.bat" call "%FNL_DIR%\IA32\bin\fnlsetup.bat"
这个句子的目的是查找IMSL的目录下是否有fnlsetup.bat这个文件,如果有的话,就执行它。
当然,不同的IVF版本,这一行可能有差别,我这里给出的是10.1.011版本的内容。
如果你不是对应的IMSL版本,可能不存在fnlsetup.bat这个文件,例如在IMSL5.0的安装目录下存在
C:\Program Files\VNI\CTT6.0\ctt\bin\cttsetup.bat 这个文件。那么你就需要更改ifortvars.bat
里面的内容,从而调用正确的bat文件。例如,IMSL5.0在IVF10.1.011下,要在ifortvars.bat文件中
加入下面一行
if exist "C:\Program Files\VNI\CTT6.0\ctt\bin\cttsetup.bat" call "C:\Program Files\VNI\CTT6.0\ctt\bin\cttsetup.bat " IA32
这样就可以正确在命令行方式下调用IMSL了。
---------------------------------------------------------------------------------------------------------------------------------------------------------------
2. IMSL在IVF中的调用
1)找到IMSL中合适的函数或子程序(在开始菜单中,安装IMSL的目录下会找到一个pdf文件,里面是IMSL的说明文件,包括函数和子程序的
详细信息,并有例子)
2)在自己的程序中调用IMSL. 首先在IVF的帮助文档中“index”选项卡下输入IMSL,就可以看到
Using from the Command Line
Using from IDE
这两项主要内容,请仔细阅读这个部分。一般情况下,调用IMSL需要注意两个地方:
a) 加入 INCLUDE 'link_fnl_static.h' 或是类似的语句在你的主程序中,不同的库函数选用不同的*.h文件
b) 加入合适的use 语句,例如
use IMSL
use lin_sol_gen_int
use rand_gen_int
use error_option_packet
等,你可以在IMSL的帮助文档中看到如何应用合适的use 语句
c) 在主程序中call IMSL中的functions或是subroutines
d) 编译,链接,得到执行程序。
3)在命令行中调用和编译:
首先在command窗口中执行ifortvars这个命令,如果不能执行,请直接从开始菜单中的IVF目录下面直接运行这个程序(Build Environment for applications running on IA-32),
或是将此文件所在的目录写入path环境变量,使其可以执行。
然后用ifort命令对你的主程序进行编译即可。
---------------------------------------------------------------------------------------------------------------------------------------------------------------
3. 其它程序库的调用
学会了IMSL的调用,其实其他的程序库如CXML,LAPACK, BLAS, WFL等在IVF下的调用都是类似过程,即主要要设置好include和lib的路径,使得编译器
可以找到需要包含的mod文件和链接的lib文件,这个过程大同小异。
-----------------------------------------------------
Good Luck!
Addison
2008.01.05
注意:上述内容可以自由转载,请保持信息完整,并不做任何修改。
Qusetions and Suggestions: addison0220_cn .AT. sina.com