现在,我正在使用多核机器中的OpenMP进行并行编程。我是并行编程的新手。
直到现在我做了以下事情:
使用OpenMP的100万x 1百万次矩阵乘法程序
计算执行时间,改变不同机器上的线程数(如corei5,corei3)
我已经看到当没有thread = 4时,它需要执行我的代码的最短时间。 (我不知道为什么)
总体而言,它是一项绩效分析。现在我想去gem5。现在我能做什么或者对我来说什么是正确的方式?我想知道,我能从这里做些什么。我需要一个想法。
答案 0 :(得分:0)
我已经看到当没有线程= 4时,它需要的最短时间 执行我的代码。 (我不知道为什么)
程序的性能和运行时间取决于计算机的体系结构。所以,如果你运行PC的技术规范,你可以推断出来。我猜它是四核处理器 ......
它还可能取决于实际控制流,线程创建开销和类似的其他方面。
您可能采取的后续步骤可能是: