【发布时间】:2023-03-04 18:12:02
【问题描述】:
我在 C(openMP 环境)中使用 time_t 变量来保持 cpu 执行时间...我定义了一个浮点值 sum_tot_time 来对所有 cpu 的时间求和...我的意思是 sum_tot_time 是 cpu 的 time_t 值的总和。问题是打印值 sum_tot_time 它显示为整数或长整数,顺便说一下没有小数部分!
我尝试了以下方法:
- 将 printf sum_tot_time 作为双精度值作为双精度值
- printf sum_tot_time as float 是一个浮点值
- 将 printf sum_tot_time 作为双精度值作为 time_t 值
- 将 printf sum_tot_time 作为浮点数作为 time_t 值
【问题讨论】:
-
你为什么假设你的 time_t 的总和会有小数部分?
-
各位,非常感谢你们的帮助。我也会回答不。我正在使用具有共享内存的并行 cpu 编写例程。我需要检查一个两个或多个 cpu 或内核的执行时间。考虑到毫秒对于区分效率非常重要。我在并行区域之前和之后使用了 2 omp_get_wtime() 之间的差异。该函数返回一个双精度浮点值,该值等于自某个“过去时间”以来经过的挂钟时间(以秒为单位),在应用程序执行期间不会更改。
标签: c time parallel-processing openmp time-t