24小时热门版块排行榜    

查看: 2085  |  回复: 4
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

1357246

铁杆木虫 (职业作家)

壮士

[交流] 【转帖】IMSL在IVF中的安装和应用 (Windows系统)【搜索无重复】 已有3人参与

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
回复此楼
✟耶稣爱你我也爱你✟【林前13:4-8】爱是恒久忍耐,又有恩慈。爱是不嫉妒。爱是不自夸。不张狂。不作害羞的事。不求自己的益处。不轻易发怒。不...
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ajex

木虫 (小有名气)


小木虫(金币+0.5):给个红包,谢谢回帖交流
好东东啊,非常有用。
4楼2010-08-22 15:41:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 5 个回答

fkess1113

铜虫 (小有名气)


小木虫(金币+0.5):给个红包,谢谢回帖交流
好贴  有没有for linux的啊
最近安装imsl ifort -c能生成*.o
但ifort -o时报错了 难道是license的问题 具体什么错记不清了 反正我没弄lic
一套就急一急就割一割就飙一飙就傻一傻就套
2楼2010-08-21 15:18:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fkess1113

铜虫 (小有名气)


小木虫(金币+0.5):给个红包,谢谢回帖交流
引用回帖:
Originally posted by fkess1113 at 2010-08-21 15:18:33:
好贴  有没有for linux的啊
最近安装imsl ifort -c能生成*.o
但ifort -o时报错了 难道是license的问题 具体什么错记不清了 反正我没弄lic

当时填了个99999
一套就急一急就割一割就飙一飙就傻一傻就套
3楼2010-08-21 15:23:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hustchenwei

新虫 (小有名气)


小木虫: 金币+0.5, 给个红包,谢谢回帖
请问一下刚安装了最新版的IVF,是学生版的,里面有没有自带IMSL呀?

发自小木虫Android客户端
5楼2020-08-09 14:59:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见