什么是平台无关的算法,它返回一个可衡量的值来测试摩尔定律?

时间:2011-08-31 09:48:01

标签: algorithm moores-law

只是因为好奇......

是否存在可产生可比较值的平台无关算法;所以我可以

在每两年推出一次市场的不同机器上实施算法

通过检查算法的返回值

来了解它如何与Moore's Law匹配

在那些机器上?

2 个答案:

答案 0 :(得分:3)

英特尔和AMD将大多数放在CPU上的晶体管放在那里,目的是以某种方式加速它,因此有可能代表“那里有多少个晶体管?”是,“它有多快?”。通常当人们谈论与CPU相关的摩尔定律时,他们正在讨论的是性能,即使这不是摩尔所说的。

然而,

对CPU进行基准测试是非常随意的。你对各种速度测试有什么权重?假设明年,英特尔发明了20条新的SIMD指令,并在其芯片中添加了相应的芯片来实现它们。除非你的代码使用这些指令,否则它们不会注意到它们在那里,所以它们不会影响你的结果,你也不会报告性能/晶体管指数的增加。由于它们是在您编写代码后发明的,因此您无法显式执行它们,因此它们将被使用的唯一方法是使用最新的编译器,并选择以新版本的CPU为目标,在您的基准测试中找到它认为将从新指令中受益的一些代码。不太可靠,如果找不到使用它们的方法,就无法检测到新的晶体管。

在过去几年中,简单基准测试中单个CPU核心的性能无论如何都会遇到障碍。 CPU制造商正在添加内核,并添加专用指令和芯片,因此如果程序知道如何使用它们,程序可以利用更多资源,但无聊的旧算法并没有快得多。很难知道CPU制造商在5年或10年后会添加晶体管的特殊用途,但是如果你能做到这一点,那么你现在就可以编写基准来告诉你他们何时完成它。

我对GPU知之甚少,但如果你能以某种方式检测机器上GPU核心的数量(计算并行着色器和诸如此类的东西),这实际上可能是原始晶体管数量的最佳代理。我猜每个核心中的晶体管数量也会随着时间的推移而上升,但现代显卡的核心数量正在急剧上升,实际上这可能占据了与处理相关的大量新晶体管。无论是5年还是10年仍然如此,谁知道呢。

另一个大的晶体管数量是RAM - 可能对于给定类型的RAM,晶体管的数量与容量成正比,并且至少可以使用特定于OS的功能来轻松测量。

如果你将SSD固定在一台机器上,我打赌你也会把晶体管数量计算在内。那是你感兴趣的那种吗?真正的摩尔定律是关于单个IC,而不是给定价格点上的米色(井,白或银)的总内容。

答案 1 :(得分:-1)

井算法可能非常简单,比如计算flops(每秒浮点运算)。只需获得系统时间,让1kk浮点运算再次获得时间并获得差异(或使用LINPACK基准测试,用于评估超级计算机)。然而,以独立于平台的方式实现这一点将是棘手的。