gpt4 book ai didi

c++ - clock() 和 MPI_Wtime() 之间的区别

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:24:34 24 4
gpt4 key购买 nike

快速提问。对于我的代码的 MPI 实现,我在这两个方面都有很大的不同。我知道 MPI_Wtime 是每个处理器经过的实时时间,而 clock() 给出了预期时间的粗略概念。有人想添加一些断言吗?

最佳答案

clock 函数完全没用。它测量 cpu 时间,而不是实时/墙上时间,而且它有以下严重问题:

  1. 在大多数实现中,分辨率都非常差,例如 1/100 秒。 CLOCKS_PER_SECOND 不是分辨率,只是比例。

  2. 使用 CLOCKS_PER_SECOND 的典型值(例如,Unix 标准要求它为 100 万),clock 将在 32- 分钟内溢出位系统。溢出后返回-1。

  3. 大多数历史实现实际上并不像 C 标准要求的那样在溢出时返回 -1,而是换行。由于 clock_t 通常是有符号类型,因此尝试使用包装值执行算术运算将产生无意义的结果或未定义的行为。

  4. 在 Windows 上,它做了完全错误的事情并测量了实际耗时,而不是 cpu 时间。

关于c++ - clock() 和 MPI_Wtime() 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17349703/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com