主题:[原创]【求助】有关fortran77使用OpenMP并行编程的问题
大家好,由于一些原因,本人非IT专业但需要接触Fortran,有如下疑问。
请问:
1)在XP下使用Visual Fortran 6.0编译器编写Fortran 77程序,电脑是双核的,想支持OpenMP多线程编程,该怎么做呢?
程序中是不是需要添加头文件或者运行时链接库什么的。,可以拿简单的程序示例讲解哈。
2)Fortran77好像有个编程格式叫Free格式,每行程序前面必须要有6个空格,一行程序长度超过多少列来着就得换行,之后要在第六列添加‘&’符号才行。那么,如果使用OpenMP声明一些private 、public等变量太多,需要换行,是不是也这么处理?请有经验的讲解下。
3)如果在Linux下编译Fortran 95程序,程序包含主程序文件和多个子程序文件,这种情况该怎么编译呢?
4)之前看了个帖子,说的是多个线程访问共享变量造成竞争使程序运行时间变长,那么如果我有多个数组是共享变量,但不同的线程读写的是数组不同的元素部分,就是说线程根据不同的下标来访问数组,还会有竞争吗?
5)如果对同一个共享变量,多个线程都是同时读而非写,这样会产生竞争吗?会影响并行效率么?
问题待补充中......
有大家的帮助,不胜感激。