测量算法的计算时间(使用MPI,并行计算)
http://pastebin.com/Xb6GLv8Y
我的代码执行以下操作:
它将在集群中并行执行。主级别将生成一个包含很多元素(最多1.6M个元素)的后代顺序数组,将该数组划分为较小的数组,并将这些部分的每一个发送到群集中的每台计算机。群集中的每台计算机都将在阵列的一部分中执行快速排序算法,并将此(按升序排列)的阵列发送回主级。然后,主等级将使用修改后的冒泡排序算法对从子等级收到的每个部分进行排序,并构建新的有序数组。 (目标是在并行计算中执行快速排序算法)。
一切工作都很好,唯一的问题是我需要测量算法的计算时间。这是大学的工作,因此PDF表示“仅计算订购算法的时间”。所以我认为不考虑网络等之间的阵列传输。
我在代码中所做的是测量每个儿童等级的快速排序经过时间。最大的时间将是计算时间。我对吗?但有一个问题。查看输出:
Array final, first 1, last 800000
Vetor de 800000 elementos ordenado com quicksort em paralelo (99 threads).
Dentre o tempo de processamento de cada node, o maior foi 140000, 0.14 seconds.
Array final, first 1, last 1600000
Vetor de 1600000 elementos ordenado com quicksort em paralelo (99 threads).
Dentre o tempo de processamento de cada node, o maior foi 560000, 0.56 seconds.
它说,一个孩子进行快速分类的最大时间是0.56秒。但是我等了30秒钟才打印出最后一个结果。那荒谬的区别正常吗?我是否正确测量时间?
谢谢您的帮助
没有找到相关结果
已邀请:
2 个回复
播匣扦阔食
舶啥戚