强烈推荐你使用fortran90 free格式,并行效率更高。fortran77 fixed格式已是old-fashion。你可以在这方面做些功课。
每行限度为72列,一般都不够用的,不过在编译时加上,-extend-source选项就可以把72列的限制扩展到132列,你查查看。非并行的程序使用使用普通的编译器如ifort、gfortran等,不过既然是使用OMP,编译时就应该用mpiifort。
程序中声明private变量迟指手时,应该是用到时再声明,一般不会太长吧。
!$OMP PARALLEL DO PRIVATE (K,J,I)
DO K = 1,KM
DO J = 1,JMT
DO I = 1,IMT
variables (I,J,K)= 0.0
END DO
END DO
END DO
3)linux下,你这是一个主程序调用多个F90程序,推荐你使用make编译、链逗游接,这里是一个例子,比如你有main.F90 其中使用MOD模块mymod,并调用了test1.F90和 test2.F90,那么你的make文件(Makefile)可以这样写:
INCLDIR = -I. -I/usr/include -I/码嫌your/mpi/include
CPPFLAGS = -P -traditional
CPP = /usr/bin/cpp $(CPPFLAGS) $(INCLDIR)
NLIB = -L/your/mpi/bin64
###your mpi compile options
FFLAGS = -O2 -no-vec -r8 -i4 -convert big_endian -assume byterecl -save
FC = /your/mpi/bin64/mpiifort $(FFLAGS)
OBJS = mymod.o test1.o test2.o main.o
##########################################################################
###the executive file---run.exe will be created
run.exe: $(OBJS)
$(FC) -o ./run.exe $(OBJS) $(NLIB)
.SUFFIXES : .F90
.F90.o:
$(CPP) $<>$*.f90 $(FC) -c $*.f90
clean:
rm -f *.o *.il *.f90 *.f *.mod *.d run.exe
依次执行
$ make clean
$ make
即可编译成可执行文件run.exe,运行之即可。
c51头文件的作用与c头文件的作用类似。absacc.h---包含允许直接访问8051不同存储区的宏定义
assert.h---文件定洞行义assert宏,可以用来建立程序的测试条件
ctype.h---字符转换和分类程序
intins.h---文件包含指示编译器产生嵌入式固有代码的程序的原型
math.h---数学程序
reg51.h---51的特殊寄存器
reg52.h---52的特殊寄存器
setjmp.h---定义jmp_buf类型和setjmp和longjmp程序的原型
stdarg.h---可变长度参数列表程序闷颤首
stdlib.h---存储器分配程序
stdio.h---流蚂数输入和输出程序
string.h---字符转 *** 作程序,缓冲区 *** 作程序
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)