Fortran77例程与多CPU?

时间:2015-12-16 13:49:38

标签: multithreading fortran intel-parallel-studio

我想知道是否有可能运行一个用fortran编写的程序,这个程序非常“重”,利用了CPU的所有24个线程。

我正在使用intel parallel studio XE 2011,例程是用fortran 77编写的。

1 个答案:

答案 0 :(得分:0)

当然,那是可能的。有很多方法可以解决这个问题,但是:

我习惯的是将你的“系统逻辑”放在一个更通用的逻辑中,直接支持pthreads或boost thread等内容;很可能是C或C ++之类的东西,然后为计算的不同部分或可并行化的数据部分产生不同的线程等。请注意,现代编译器可以从fortran生成符合正常C调用约定的二进制文件,因此调用fortran函数不会比调用其他C,C ++,...函数有更多的开销。但是你应该确保不要修改fortran函数中的全局状态!

我没有意识到fortran77的并行化框架;有一个few in existence,但据我所知,他们依赖于F77中没有的语言功能。正如@HighPerformanceMark指出的那样,OpenMP可以很好地与英特尔编译器协同工作。