并行处理-查找Beowulf集群中每个处理器的执行时间



我从以下链接下载了一个LU分解程序http://www.cs.nyu.edu/wanghua/course...el/h3/mpi_lu.c程序运行得很好。。。我编写这个线程的原因是,任何人都可以帮助我获取在集群中连接的节点的处理器上执行的时间,从而帮助我从集群中获取统计值。

请帮帮我,因为我对MPI编程了解不多,我只想为上面的程序在集群中的每个节点处理器上花费时间。

至少有两种方法可以获得您所寻求的时间,或者至少接近它们。

如果您在集群上安装了作业管理系统(如果没有,则应该安装),那么我希望它会记录计算中涉及的每个进程在每个节点上花费的时间。当然,网格引擎将这些数据保存在其accounting文件中,并提供用于检查该文件的实用程序qacct。如果我知道其他广泛使用的工作管理系统没有提供类似的数据和功能,我会感到非常惊讶。

您可以编辑程序并在关键点插入mpi_wtime调用。当然,像所有MPI例程一样,这只能在mpi_init之后和mpi_finalize之前调用;对于MPI范围之外的代码部分,您将不得不做出其他安排来计时。(在大多数不支持对mpi_wtime的时钟同步调用的MPI实现中,在调用mpi_init之前和之后都可以调用CCD_6,因为mpi_wtime只是系统定时器例程的包装器,但不能保证是可移植的)

最新更新