EVS

EVS性能测试报告

本测试是在2016年7月进行的,使用的是早期的64位版本,以确定网格模型大小的限制和根据您的硬件确定实际的克里金插值参数设置。测试是在一台装有以下硬件和操作系统的台式电脑上进行的:

  • Windows 10 Pro      64 bit

  • Intel Core      i7-5820k CPU @ 3.30 GHz: 6 Cores, 12 Logical Processors

  • 32 GB of 2800      MHz RAM

  • NVIDIA GeForce      GTX 980Ti Graphics

一般来说,对于一个给定的网格,很难准确估计克里金插值特定数据集的时间。数据的空间分布确实会影响计算时间,就像您的计算机硬件和运行在其上的其他软件一样。然而,下面这些图不仅提供了一些关于预期计算时间的参考,而且还提供了硬件需求与网格分辨率以及克里格设置之间关系的参考。

测试考察了两个主要的指标:

1、    由节点数量决定的模型大小

2、    采用“use all points”选项后,克里金插值的最大数据集规模

我们记录了针对这两个指标的计算时间,另外也记录了需要的内存大小。

结果表明,除了硬件限制和耐心之外,软件对模型大小或数据集规模没有任何实际限制。

 

我们开始第一个问题,模型大小(即网格节点数规模)。

我们一直有用户希望创建比我们的32位版本软件更好更精细的模型。想要一个更好的网格的第一个原因是能够创建一个三维的体积模型,它可以从DEMs & grid(数字高程面网格)继承二维地形的高网格分辨率。过去,不需要高分辨率来体现数据的细微差别,然而,最近一段时间,通过MIP技术或者诸如3d电阻率探测器之类的地质仪器来收集高分辨率数据的趋势愈加显著,导致需要更高精度的模型,来更好的契合数据。

下面第一张图展示了9次测试的结果,其中克里金插值的节点数量从1,000,000至160,000,000 。测试的插值模块是krig 3d,勾选“use all points”选项,插值数据使用的是railyard.apdv文件,里面有273个采样点数据。

image.png


上图展示的结果相当令人鼓舞。我们的测试系统具有32G的内存,看起来一旦模型节点数超过8千万,所有可用内存都用上了。但是当采用1亿6千万节点插值时,我们发现速度并没有显著下降,看起来软件还使用了部分虚拟内存。

对于我们的这个具有273个采样点数据集,克里金插值时间为 3 微秒每节点,或者3s每百万节点,他们之间是线型关系。线型关系很重要,(等下我们会发现另外一个指标就不是这样了),这意味着随着模型的规模变大,消耗的时间也是等比例增大,直到计算机硬件的极限。

当然,必须指出的是,如果你仅仅具有的是一个273个采样点的数据集,那么完全不需要一个2千万节点的网格模型。你需要更好的理解这一点。

image.png

下一张图考察的是,当使用“use all points”选项时,软件到底能处理多大的数据集。解释这个问题的重要性超出了本次主题的范围,但是对于在EVS中使用MIP数据的人来说很重要。在我们的32位软件中,这个极限是3500~4000个采样点,就像上图中你看到的。当然时间消耗也是很明显的。

我们测试了50000个采样点的数据集,上图显示的是初始化时间,不包括克里金插值时间。因为勾选“Use All Points”选项耗费大量的初始化时间,因此这是一个关键参数,并且初始化时间和样本数的三次方成正比。所以,尽管我们可以使用12倍数据量的数据集,但是所消耗的初始化时间将是12的三次方1728倍,也就是48000个采样点对比4000的采样点的情况。

 

image.png

最后一张图展示了每百万节点计算耗时与数据集采样点数量的函数关系。可以粗略的认为在勾选“Use All Points”的情况下是2.2次方成正比关系。但是如果我们转到50个节点(最大200个节点)的八分搜索(勾选“Octant Search”),那么这种关系更加线性化并且时间显著减少。此外八分搜索没有明显的初始化时间。使用这些图可以预测总计算时间,其中克里金插值的情况如下:

CASE 1

  • 20,000,000个节点的网格

  • 8,000个采样点数据集

  • 勾选“Use All      Points Option”

    • 初始化时间:实际15秒左右

    • 660秒 = 11 分钟       每百万节点

    • 3.67小时 总克里金插值时间

CASE 2

  • 15,000,000个节点网格

  • 14000个采样点数据集

  • 勾选“Use All      Points Option”

    • 初始时间:58秒

2350秒 = 39.2分钟 每百万节点

    • 9.8小时总克里金插值时间

CASE 3

最后一个例子,我们参照了第二个例子,但是采用了50个节点的八分搜索:

  • 15,000,000节点网格

  • 14000个采样点数据集

  • 50个节点的八分搜索:即勾选“Octant Search”,并且“Points in reach”设置为50

    • 290秒= 4.83分钟  每百万节点

    • 1.2小时总插值时间


0 个评论

要回答文章请先登录注册