| 查看: 801 | 回复: 8 | ||||
| 当前主题已经存档。 | ||||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | ||||
dellus木虫 (职业作家)
|
[交流]
【求助】Fortran中有什么好方法计算CPU时间?【已完结】
|
|||
|
Fortran中SECOND子程序(or function)是怎么用的? 大家有什么好的办法计算CPU时间? 我试过secnds和CPU_Time,好象都有BUG 比如把一个运算放在一个do循环里运行,分别在循环前和循环后记录时间,最后写出时间 如果最后的write语句中加上循环中运行的结果,需要7、8秒,如果只输出时间,只有10(-5)秒 [ Last edited by 余泽成 on 2010-1-27 at 22:20 ] |
» 猜你喜欢
参与限项
已经有3人回复
假如你的研究生提出不合理要求
已经有7人回复
实验室接单子
已经有4人回复
全日制(定向)博士
已经有4人回复
对氯苯硼酸纯化
已经有3人回复
求助:我三月中下旬出站,青基依托单位怎么办?
已经有12人回复
不自信的我
已经有12人回复
所感
已经有4人回复
要不要辞职读博?
已经有7人回复
北核录用
已经有3人回复

dellus
木虫 (职业作家)
- 应助: 0 (幼儿园)
- 贵宾: 0.08
- 金币: 5305.6
- 散金: 35
- 红花: 1
- 沙发: 2
- 帖子: 3469
- 在线: 285.9小时
- 虫号: 92581
- 注册: 2005-09-10
- 性别: GG
senlia(金币+0,VIP+0):我算出来都是5.156左右 每次运行时间都不完全一样 但都差不过十几毫秒 12-18 08:43
|
两段程序几乎一样,除了输出语句略有差别,但t1的运行结果一个是1.999999767576810E-006,一个是7.15873999999985。有谁知道怎么回事吗?还是只有我用的系统有这样的问题? program main integer :: i double precision :: f0, f1, t0, t1 f0 = 0 f1 = 0 t0 = secnds (0.0d0) do i = 1, 100000000 f1 = f1 + dcos(f1) end do t1 = secnds(t0) write(*,*) t1 end program main program main integer :: i double precision :: f0, f1, t0, t1 f0 = 0 f1 = 0 t0 = secnds (0.0d0) do i = 1, 100000000 f1 = f1 + dcos(f1) end do t1 = secnds(t0) write(*,*) t1, f1 end program main |

7楼2009-12-18 06:27:24
nono2009
超级版主 (文学泰斗)
No gains, no pains.
-

专家经验: +21105 - 应助: 28684 (院士)
- 贵宾: 513.911
- 金币: 2555220
- 散金: 27828
- 红花: 2147
- 沙发: 66666
- 帖子: 1602255
- 在线: 65200.9小时
- 虫号: 827383
- 注册: 2009-08-13
- 性别: GG
- 专业: 工程热物理与能源利用
- 管辖: 科研家筹备委员会
2楼2009-12-17 17:25:03
nono2009
超级版主 (文学泰斗)
No gains, no pains.
-

专家经验: +21105 - 应助: 28684 (院士)
- 贵宾: 513.911
- 金币: 2555220
- 散金: 27828
- 红花: 2147
- 沙发: 66666
- 帖子: 1602255
- 在线: 65200.9小时
- 虫号: 827383
- 注册: 2009-08-13
- 性别: GG
- 专业: 工程热物理与能源利用
- 管辖: 科研家筹备委员会
3楼2009-12-17 18:14:36
nono2009
超级版主 (文学泰斗)
No gains, no pains.
-

专家经验: +21105 - 应助: 28684 (院士)
- 贵宾: 513.911
- 金币: 2555220
- 散金: 27828
- 红花: 2147
- 沙发: 66666
- 帖子: 1602255
- 在线: 65200.9小时
- 虫号: 827383
- 注册: 2009-08-13
- 性别: GG
- 专业: 工程热物理与能源利用
- 管辖: 科研家筹备委员会
从我N年以前的程序中摘了点给你看,也不知行不行
★ ★ ★ ★ ★ ★ ★ ★ ★
波不动(金币+2,VIP+0):感谢应助! 12-17 19:30
dellus(金币+3,VIP+0):谢谢!很热心的版主 12-18 06:16
dellus(金币+4,VIP+0): 12-23 14:05
波不动(金币+2,VIP+0):感谢应助! 12-17 19:30
dellus(金币+3,VIP+0):谢谢!很热心的版主 12-18 06:16
dellus(金币+4,VIP+0): 12-23 14:05
|
... INTEGER(4) int_time0,int_time1 character*8 char_time ! show the starting time of this calculation call TIME(char_time) print *, 'Starting time on the PC is ', char_time ... int_time0=TIME( ) ... int_time1=TIME( ) print *, 'This calculation lasts ',int_time1-int_time0,'(s)' |
4楼2009-12-17 18:19:10












回复此楼