我已经从下面的链接http://www.cs.nyu.edu/wanghua/course...el/h3/mpi_lu.c下载了一个LU分解程序,程序运行得非常快,我写这个线程的原因是任何人都可以帮助我获得在集群中连接的节点的处理器上花费的执行时间,以便它帮助我从我的集群中获得统计值。
请帮助我,因为我对MPI编程了解不多,我想要的是上面程序在集群中节点的每个处理器上花费的时间。
发布于 2013-02-12 19:25:30
至少有两种方法可以得到你想要的时间,或者至少接近它们。
如果您在集群上安装了作业管理系统(如果没有,则应该安装),那么我希望它会记录计算中涉及的每个进程在每个节点上花费的时间。当然,网格引擎将这些数据保存在其accounting文件中,并提供实用程序qacct来检查该文件。如果我了解到其他广泛使用的作业管理系统没有提供类似的数据和功能,我会感到非常惊讶。
您可以编辑您的程序并在临界点插入mpi_wtime调用。当然,像所有的MPI例程一样,它只能在mpi_init之后和mpi_finalize之前调用;您必须对位于MPI范围之外的代码部分进行其他安排。(在大多数不支持对mpi_wtime的时钟同步调用的MPI实现中,在mpi_init之前和mpi_finalize被调用之后都是可能的,因为mpi_wtime只是系统计时器例程的包装器,但不能保证它是可移植的)
https://stackoverflow.com/questions/14829765
复制相似问题