java项目的大小衡量标准:
微型:只是一个人,甚至是半日工作在几天内完成的软件;
小型:一个人半年内完成的 2000 行以内的程序;
中型: 5 个人在 1 年多的时间内完成的 5000-50000 行的程序;
大型: 5-10 人在两年内完成的 50000-100000 行的程序;
甚大型: 100-1000 人参加用 4-5 年完成的具有 100 , 0000 行的软件项目;
极大型: 2000-5000 人参加, 10 年内完成的 1000 万行以内的程序;
以上摘自:《软件工程概论》 郑人杰、殷人民编
这样的观点是以代码行作为计量标准的,认为代码行多的自然项目也就大了。
经验表明,在类似的程序中,单位长度里的错误数近似为常数。美国的一些统计数字告诉我们通常这个比值在0.005~0.02之间,也就是说,测试之前每1000条指令中大约有5~20个错误。假设测试之前每1000条指令中有10个错误,则估计对它进行测试期间将发现的错误数为:
5000*10/1000=50
这题纯为了考书上的式子。。。
2)Fortran77、6个空格的是fixed格式,不是Free格式。强烈推荐你使用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,运行之即可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)