作者muto52 (囧)
看板Fortran
标题Re: [问题] 关於64位元和多核心运算的问题
时间Fri Jul 10 23:51:27 2009
※ 引述《bjorn607 (比用)》之铭言:
: ※ 引述《happyadam (大白熊狗)》之铭言:
: : 我目前使用的fortran版本为6.5
: : 所用的电脑为四核心
: : 每次跑程式时,只有单核心跑到百分之百
: : 而我最大的问题就是程式跑太慢了
: : 所以想尝试把fortran灌到XP64位元
: : 但是电脑却显示此版本无法相容
: : 请问有什麽版本的fortran可以灌在64位元或可以多核心运算
: : 谢谢
: 6.5是指compaqe visual fortran吗?
: 要利用四核心的话,可以搜一下版上文章
: 基本上必须要你的程式码演算法作改写,才能以多核心作运算,
: 否则fortran一样只会从头算到尾!
: xp64bit我知道的intel fortran 11 64bit有支援,也支援MP(multi processes)的语法
: 但要装对版本,link或build要注意compiler设定对不对,是不是用x64
: 会装64bit主要都是为了记忆体使用问题,演算法需要大量记忆体,
其实我遇到跟笔者一样的问题。
我的程式也是需要大量的运算时间跟记忆体
所以我老板支援我买了一台 Inter(R) Core(TM) i7 CPU + 12 G RAM
但我的程式也是没有支援平行运算(code没平行化)
改程式似乎就是个好大好大的工程了
所以我只能一次丢好几个下去跑,然後看三四个cpu同时交替使用
似乎灌64 bits的电脑也无法增加计算速度....
不过昨天我学长跟我说现在是不是有某些特定的compiler方式可以支援
不用改写code,但他可以帮助你做平行计算的程式?
不知道版上有没有大大有这方面的经验的......
--
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.175.218.53
1F:→ agody:不改写code理论上不能平行运算,因为程式某些区域可以平行化 07/11 00:07
2F:→ agody:某些部份不行,他无法判断,乱平行化会出问题. 不过我也是有 07/11 00:08
3F:→ agody:听过Matlab新版有运用多核心在运算,只是我认为(凭空想)应该 07/11 00:08
4F:→ agody:不是指你自己写数值运算那部份吧,应该是他的内部toolbox拉成 07/11 00:09
5F:→ agody:的计算,不过纯粹计算我觉得Matlab太慢了 07/11 00:09
7F:→ chaoscat:不改code的话 可以用intel的complier加上-fast的参数 07/30 14:05
8F:→ chaoscat:让complier对程式在做回圈的部份做向量化以改善程式效率 07/30 14:08