科学的规划

PDF
科学的规划/2019年/文章
特殊的问题

小说的发展进步科学编程机器学习解决方案

把这个特殊的问题

研究文章|开放获取

体积 2019年 |文章的ID 9195845 | https://doi.org/10.1155/2019/9195845

西蒙·r·吉拉德Legault文森特,木香,让博兰, 航空电子设备与机器学习图形硬件性能预测”,科学的规划, 卷。2019年, 文章的ID9195845, 15 页面, 2019年 https://doi.org/10.1155/2019/9195845

航空电子设备与机器学习图形硬件性能预测

客座编辑:韦森特Garcia-Diaz
收到了 2018年12月21日
修改后的 2019年4月15日
接受 2019年5月06
发表 2019年6月3日

文摘

在强烈的监管航电工程领域,传统图形化桌面硬件和软件应用程序编程接口(API)不能使用,因为他们不符合航电认证标准。我们观察的需要更好的航电图形硬件,但是系统工程师缺乏相关图形硬件系统设计工具。最优的硬件架构的支持,估计一个图形软件的性能,当一个稳定的渲染引擎尚未存在,代表着一个重大的挑战。证明之前的硬件仿真工具,也有发展潜力降低成本,通过允许开发人员有一个第一估计性能的图形引擎在开发周期的早期。在本文中,我们提出以取代昂贵的开发平台,预测运行在桌面电脑上的软件。更准确地说,我们提出一个系统设计工具,帮助预测基于OpenGL图形硬件的渲染性能安全关键API。首先,我们创建非参数模型的底层硬件,机器学习,通过分析瞬时帧每秒(FPS)合成3 d渲染的场景,通过多次与不同的特征,通常是发现在合成视觉应用。使用的特征组合数量在这监督训练阶段是所有可能的组合的一个子集,但是可以任意外推性能预测。来验证我们的模型,我们呈现一个工业现场与特征组合不习惯在训练阶段和我们比较预测真实值。我们发现平均预测误差小于4帧。

1。介绍

近年来,已经有兴趣增加航空电子行业实现高性能的图形应用程序像合成视觉系统(SVSs)显示相关的关键特征和环境外部的飞机(1]。这促进了更快的图形处理硬件的出现。因为它是一个高度管制的领域,传统的桌面和嵌入式图形硬件不能使用,因为它们不符合- 178 c和- 254做航电认证标准(国际标准题为“RTCA - 178 c -软件考虑机载系统和设备认证”和“做- 254设计保证指导机载电子硬件”是主要的商业航空电子软件和硬件开发标准)(2,3]。考虑航电的需要较高的硬件性能,我们观察到的图形应用程序开发工具和硬件基准和模拟器用于传统嵌入式或桌面图形应用程序看起来仍然失踪的航空电子设备应用程序。这个事实是明确,特别是当一个快速搜索最著名的工具,如Nvidia的规范Nsight [4],AMD PerfStudio [5),或SPECViewPerf [6导致相同的结论。尽管有一些所见即所得(“你所看到的就是你得到的”)GUI工具箱用于arinc - 661标准(7,8),似乎没有性能基准测试,性能预测工具,或正确性模拟器用于图形航电硬件。有这样的工具的兴趣尤其重要,因为大多数的开发过程包括设计阶段之前的实际实现。在经典的v模型的例子(9),设计师必须做出选择的购买或内部图形硬件的发展。但当他们想要评估这些硬件的性能有关的选择,他们需要某种性能指标和基准。这个基准测试工具应该提供的软件开发团队,但随着项目仍在设计阶段,他们还没有必要实现图形引擎,使性能测试。性能预测可以有用(1)进一步推断任何图形数据量的基准性能结果发送到硬件和(2)减少所需的基准来评估各种用例。更进一步,生成的性能模型可以用于开发一个正确性硬件模拟器,开发者可以使用他们的工作站,为了有一个一般的预览效果的软件,在执行之前真实系统。因为这是最硬件仿真工具一样,这减少了开发成本通过促进系统的功能验证(10]。

在这项工作中,我们演示了两个原型工具,可以用作管道评估,然后预测图形硬件的性能。第一个工具是一个基准,可以生成,然后根据一组自定义程序场景渲染场景特征如顶点的数量、大小的纹理,以及更多。它评估和输出的数量生成帧/秒(FPS)。第二个工具需要一定数量的执行的输出的基准并生成一个非参数性能模型,利用机器学习算法的性能数据。这些性能模型可以推断预测的性能对于任何密度3 d场景呈现在这个硬件。我们评估预测误差分布的实验发现,大多数预测误差不会超过4 FPS。

在本文的其余部分,部分2提出的主要问题使上述航空电子设备行业的现有工具不足。它还介绍了各种算法和工作方法的标准工具。部分3提出了第一个贡献就是图形航电应用程序基准测试工具。然后,部分4提出了第二个贡献性能模型生成工具。部分5介绍了实验方法用于评估这些模型的预测能力。部分6提出分析和讨论了实现预测误差分布。最后,部分7提供信息给那些想重复实验。

2。背景

在传统市场(消费者)之间的差异和航空电子设备图形硬件开发,三是表示当尤其是站了出来。第一个是使用OpenGL SC代替OpenGL ES或完整的OpenGL API与硬件通信(11]。第二是使用一个固定的图形管道而不是让使用着色器或自定义程序的可能性,可以发送到图形硬件修改渲染管道的某些领域的功能12]。最后,还有研究兴趣- 254兼容的图形硬件的发展,以软件的形式GPU, fpga和CPU / GPU芯片等等(2]。硬件的性质就不一定一个处理器,和某些特定指标,自然不能应用,如指令数。同时,航空电子设备的图形硬件通常是一个非常安全的黑盒,实际上不能侵入对内部程序执行指令的数量指标。因此,性能指标和预测工具的航空电子设备上下文应该占这些特异性。只使用OpenGL SC中可用的功能评估硬件的性能,我们要确保以下两点:(1)使用标准的固定管道伴随这个版本的API和(2)是独立于自然之外的底层硬件接口。

我们所知,图形硬件性能预测在航空电子设备上下文中不存在的文学。寻找方法密切相关的领域将是最好的方法。然后有趣看文献找的方法用于传统的桌面和嵌入式环境。也是有趣的扩大综述一般计算机硬件和微体系结构,以及图形硬件性能预测。无数的标准图形硬件存在在传统背景下,如SPECViewPerf或Basemark [6,13),等等。即使他们不满足航空电子设备需要的特殊问题,他们的工作流可以灵感的源泉。例如,SPECViewPerf允许用户创建测试列表,每个不同的场景或渲染状态的不同特点,如局部光照模型,扑杀,纹理过滤器,简单,或双缓冲。然后返回平均FPS获得在每个测试场景的渲染。使用平均FPS为用户可能更重要,但因为FPS分布不是正常它就失去了大量的统计学意义。至于性能预测工具,他们倾向于可用的图形硬件制造商英伟达等®Nsight™(4)或AMD GPU PerfStudio (5]。这些工具的问题在于,他们只是用于桌面和嵌入式领域和不适应航空电子设备的需求,正如前面所解释的那样。它仍然是有趣的文献回顾内部更好地理解这些分析工具可能是如何工作的。有三种主要的方法来生成模型:分析建模、参数化建模和机器学习。分析模型试图创建代表性能的数学模型为一组描述硬件的功能。他们经常使用指标如指令数和属性,如时钟频率的处理器(14- - - - - -17]。这些方法的主要问题在于,它们需要很好地了解硬件的内部运作,这是困难的在一个航空电子设备上下文,因为他们是保护黑盒实体。同时,由于固定管道的显卡,系统工程师不能获得管道内部项目运营,因此不能使用分析指令数等指标。同时,文学似乎表明,很难真正识别所有影响性能的因素,因此数学模型。然而,有一个分析模型,有可能被用于一个航电上下文。它是一个函数估计的数据传输时间从主图形内存(18]。

参数模型的建立意味着使用参数回归线性或多项式回归等。它已经被用于微体系结构和CPU设计空间探索(19- - - - - -22),但因为我们只有访问硬件的接口,很难识别所有影响性能的因素。因此,这些方法难以解释大多数性能数据的方差和可以表现不佳。这通常是通过使用非参数回归模型解决了机器学习。

尽管有大量的机器学习,可以用来创建性能模型,我们确定了四种算法主要应用在整个文学产生性能的处理器模型在特定的情况下,微体系结构探索,或并行应用程序:回归树,随机森林,多种添加剂回归树(集市)和人工神经网络。预测性能和功耗的设计空间探索通用cpu实现了随机森林(23和集市24,25]。回归树(26)已被用于GPU的性能和功率预测。人工神经网络已成功地用于并行应用程序的性能预测(21),而且对工作负载特性的通用处理器(27,28),超标量体系结构的处理器(29日),和微体系结构30.]。集市的一种变体方法也被用于预测的分布式系统(31日]。回归树通常不准确,其更健壮的版本,随机森林,通常是首选。Madougou et al。25)使用nvprof,视觉分析器,收集性能指标(缓存错过、吞吐量等)和事件的CUDA NVIDIA gpu上运行的内核。数据存储在一个数据库,进一步用于建模。这种方法看起来非常有前途但不容易适应航空电子设备的需要,正如前面所解释的那样。

基于树的方法的另一个问题是他们的低性能预测值预测的范围的值观察用于培训(外推)。最近的工作在混合模型生成的机器学习和第一原理模型也为类似的应用程序(取得了好的结果32- - - - - -34]。

3所示。航空电子设备图形硬件性能基准测试

有两个主要步骤的创建我们的性能模型。首先,必须执行一个基准来为各种现场收集性能数据的特征。GPU基准由本身的生成一个可定制的合成3 d场景和在分析每一帧的渲染时间。第二,性能模型生成性能数据的机器学习获得的第一步。对于我们的实验目的,我们添加一个模型验证阶段评估这些性能模型的预测能力进行比较预测呈现时的一个可定制的3 d场景和不同的验证。图1提出了数据流。本节的其余部分将我们提出的需求和实现航空电子设备GPU基准测试工具。

性能数据采集的硬件实现我们的基准测试工具,如下所示。首先,根据各种参数合成生成场景。然后,现场呈现和探索遵循一个特定的相机运动模式。最后,最后分析步骤执行评估每一帧的顶点数的百分比的场景呈现。我们使用一项研究从一个工业合作伙伴使我们列举的各种特征图形的数据可能会影响呈现航电图形应用程序的性能。基于题目的研究案子sv使用地形渲染。

可以以几种方式系统性能测试的长椅。对于3 d图形系统,最有效的方法之一是试图重现真实系统的行为(35]。因此,我们为我们的工业合作伙伴的研究案例中提取一个详尽的清单的所有图形功能来考虑而实施我们的基准测试工具。我们的工具测试这些功能,通过输入一组值来测试每个特性。然后输出结果给一个精确的每个图形特性如何影响渲染性能。图形特征参与我们的工业合作伙伴的研究情况和我们测试我们的工具如下:(1)每个3 d对象的顶点数(地形瓷砖)(2)每个场景的3 d对象数量(3)纹理应用于3 d对象的大小(4)当地的光照模型,要么per-vertices(平)或每个片段(光滑)(5)雾效应的存在与否(6)维度的相机平截头体(7)场景中的物体遮挡的程度

这些参数按照假设影响性能的主要因素是直接关系到通过图形管道发送的数据量。所需的图形硬件的工作量将会与需要的数据量呈现,因为所需的操作整个管道发送这些数据。

相比在当代图形基准测试列表的功能,让我们回到这组列表3 d图形时代的开端。为什么这个列表是由基本图形特性是因为重要的OpenGL图形航电软件使用版本剥夺了其最简单的形式:OpenGL安全关键(SC) [36]。这个简单的API是专门为安全性至关重要的环境,因为它是更容易、更快捷认证。OpenGL SC也为嵌入式系统设计的硬件资源和处理能力有限。

如今,图形基准是为新一代设计的图形卡,游戏机,或智能手机。这些平台是为了拿一个不重要的环境中提供一个巨大的图形处理能力。因此正常,这种产品都有自己的一组基准测试工具。Basemark®ES 2.0 [37](现在Basemark ES 3.0 [13]),其中最流行的图形基准套件gpu用于移动设备行业,提供了基准,不适合航空电子平台有几个原因:(1)它使用OpenGL ES 2.0的API也丰富和复杂的是一个合理的全面发展候选人可确认的司机安全至上的平台上(12]。(2)复杂的照明方法测试像逐照明(用于创建凹凸贴图效果),lightmap(用于创建静态阴影效果),或阴影映射(用于创建动态阴影效果)。虽然这些照明方法提供了丰富的视觉效果,他们仍然毫无意义的航电上下文内,渲染精度是主要关心的3 d图形。(3)各种图像处理效果检测倾斜和转移效应,布鲁姆的效果,或变形镜头耀斑的效果。更复杂的闪电如冯氏插值模型和粒子效果也测试(通常通过实现着色器)。再一次,这些视觉效果不会提高渲染的准确性,以及着色器不支持OpenGL SC。(4)这些产生的结果和度量标准通常是无证的分数。这些分数是有用的,当我们想比较他们之间的gpu,但他们不能帮助当系统架构师要算出如果一个特定的硬件满足图形软件处理的要求。当设计安全性至关重要的系统,指标如GPU的RAM加载时间(带宽、延迟),图像细节水平(多边形和3 d对象的最大数量/现场),和最大尺寸的纹理或每帧的处理时间更重要的数据。

因为当前的图形基准测试工具并不为安全性至关重要的环境而设计的,因此我们决定实施专门的航电行业的基准测试工具。

在此基础上分析,从这7个因素,我们将一个基于题目的合成场景,基于这些因素评估渲染性能。基准工具需要一个列表的“测试”作为输入。每个测试影响程序的生成3 d场景通过控制这些因素的结合。基准测试工具的输出是一个文件,根据输入时间性能特征。每个测试的目的是评估的性能场景呈现的不同特点并保持固定其他之一。例如,瓷砖分辨率测试,为每一个值,将执行基准,将输出一个向量的性能。在这个测试其他特征(例如,瓷砖的数量或大小的纹理)固定。一定要提到基于题目场景被存储为高度地图甚至密集的3 d场景,消除需要分析三角形的数量或脸,因为它总是可以派生或近似顶点的数量。

3.1。合成场景生成

每个瓷砖的合成场景包含单个pyramidal-shaped网。我们使用这个形状,因为它可以通过不同的各种地面地形模型金字塔的高度。此外,它使这种可能性有物体遮挡时,相机在低海拔,面向垂直地在地上。同时,这个形状很容易生成的数学模型。其余小节介绍如何程序的可视化组件生成3 d场景以及它们如何有助于产生更多代表性能数据。

3.1.1。瓷砖的尺寸

在OpenGL单位瓷砖有固定的尺寸,但顶点它可以包含的数量取决于相应的基准输入值。为了简化模型的顶点数,我们使用一个per-dimension计数c方体基座的金字塔,这意味着每个瓷砖的分辨率 顶点。当没有应用透视畸变,每个顶点的金字塔是相同距离的邻国在XZ平面(图2)。

3.1.2。噪音

进一步复制现实的地面地形,我们添加随机噪声金字塔不平滑的脸。噪声应用的数量或多或少10%的金字塔的高度和只是应用到Y坐标(归因于高),如图3。这个比例有助于保持一般的金字塔的形状,无论它的高度。

3.1.3。网格生成

瓷砖的网格生成根据相应的基准输入值。至于瓷砖决议,网格的大小是衡量一个per-dimension值 ,这意味着总网格大小 ,因此电网一个正方形的形状。在一个真正的背景下,LOD功能通常是实现,最远的瓷砖负载较低分辨率和最近的瓷砖在一个完整的决议。然而,由于我们评估最坏执行硬件的性能,每个瓷砖都有完整的决议。

3.1.4。金字塔的高度

金字塔的高度不同瓷砖瓷砖,瓷砖网格根据他们的立场,但最大高度不会超过季度现场的长度。这种约束使对象阻塞的可能性有不同程度同样的场景,这取决于相机的位置和姿态。因为相机的定位和运动模式(解释之前),平铺网格越大,越高的金字塔。获得一致的场景为每个基准测试拓扑,金字塔的高度指数的计算网格中的瓷砖(图4),总是最大金字塔高度的两倍。

3.1.5。纹理生成

OpenGL SC API需要使用纹理的两个维度。为简单起见,我们创建RGB-24过程纹理由交替的白人和黑人texel。每个顶点的瓷砖,纹理本身和纹理坐标计算帧渲染计时器开始前。在现实情况下,这些信息通常是可用的数据库和实时生成,所以它不应该考虑通过定时器测量期间画的框架。

3.2。摄像机运动模式

根据案例研究中,有三个典型的用例,摄像机运动和位置模式:(1)低海拔:一小部分现场呈现的可能性多物体遮挡(2)中档高度:大约一半的3 d对象呈现有可能减少物体遮挡(3)高海拔:整个场景可能呈现较低的物体遮挡的机会

为每个测试的基准,相机位置经过每一个用例。为了达到这个目标,相机总是开始在其最大高度的瓷砖在中间网格。相机然后执行的360度旋转XZ飞机,同时不同的倾向Y设在取决于它的高度。每次旋转360度后,相机的高度降低,有八个可能值为每个测试。的倾角Y设在不是常数在各种高度的相机,为了覆盖场景的最高数量的观点。最大高度时,倾角倾向于网格的边缘,和最低的高度相机垂直向地面。每个相机的摄像头倾向高度与倾向之间的线性插值计算,在最大和最小高度。总的来说,每一个360度的旋转相机将产生总计320帧32帧为每个基准测试运行。

创建相机平截头体模拟使用的一个研究案例sv。它实现了一个45度水平的视野和一个垂直的视野对应4:3屏幕的比例,根据OpenGL标准角度矩阵。同时,为了最大化深度缓冲的精度,需要显示顶点的最大与最小的平截头体。最后一个重要的参数是定义相机的最大高度。我们设置的值限制在OpenGL的长度单位,因为现场将小于屏幕的大小通过这个长度。因此,遥远的平面截头必须仔细选择关于场景的长度的最大深度场景很可能会有相应变化。

3.3。加载数据到图形的记忆

以减少图形硬件的性能的随机性,由于大多数渲染管道的内部属性,我们应用tipsify算法(38)顶点索引缓冲区,然后再把它传递给图形管线。这应该减少平均缓存错过比标准的内部顶点程序固定管道。所有的3 d数据加载到图形内存之前渲染和性能计时器。因为现场是静态的,没有进一步的数据需要发送到硬件,因此加载时间并不影响整体性能。这种情况不会在实际环境中,但在部分2至少,文献提出了一种方法来估计数据加载在渲染过程的影响。如果需要,基准工具可以恢复所需的时间来加载这个静态数据从内存到图形的记忆。

3.4。分析场景绘制的百分比

呈现的数据发送到图形硬件通常包含3 d对象在渲染过程中可能被忽略,因为他们是看不见的或隐藏的其他3 d对象,由于他们的空间定位。因此,筛选方法是常用的避免这些物体的呈现。这些方法(1)三角形的截头扑杀而忽略了渲染相机以外的平截头体,(2)背面扑杀而忽略了渲染的三角形面对远离照相机的方向,和(3)Z以及,忽略了每个片段顺利照明等操作。

如前所述,基准测试过程的最后一步是顶点的百分比的分析场景的渲染过程中使用。要做到这一点,我们计算顶点的数量的摄像头截头也前置表面的一部分。我们使用几何方法通过比较每个顶点的位置的六架飞机平截头体为了确定顶点是否在里面。如果是,下一步是确定前或后面对。要做到这一点,我们首先将正常的表面的顶点是一个部分,从世界到摄像机空间。然后,我们比较正常和摄像机空间视线向量之间的夹角,即一个单位向量指向Z设在。如果90年和270年之间的角是度,那么顶点被认为是前置。最后,我们可以评估的百分比顶点绘制顶点的集合的大小,通过这两个测试,除以总数量的顶点。

3.5。渲染性能指标

返回的性能指标的基准是瞬时帧每秒(ifp来说),由反相的测量对于每一帧时间呈现框架。更可取的比移动平均FPS多个帧,因为我们可以应用更多的专业平滑操作进一步消除异常值。另一方面,使用垂直同步基准标准的两倍北美屏幕刷新率:120 Hz。我们发现没有使用垂直同步收益率对ifp来说非常高的离群值大于120。同时,使用vsync 60 FPS可能会产生不准确的模型作为大多数场景特征将产生最大的帧速率。最后,以确保适当的计算每一帧的ifp来说,我们使用glFinish命令来同步的高分辨率计时器结束的呈现。

4所示。航空电子设备图形硬件性能建模

3 d场景的性能建模通过使用后者的特点是具有挑战性的,因为很难考虑随机事件所产生的噪音使抽象硬件(处理器管道摊位,分支,等等)。建立性能模型的第一步是评估的基准场景特征最好FPS的方差解释道。在初步的测试中,我们运行基准不同的值的一个特点,同时保持固定其他。这是对每个特征重复,直到所有被评估。我们的结论是,网格的大小在每个瓷砖瓷砖和顶点的决议是最显著预测特点的机器学习算法。屏幕的大小和质地的大小也有助于FPS的变异,但他们很难使用我们的方法模型。预测ifp来说的纹理大小和屏幕尺寸,必须为每个生成不同的性能模型的组合,通过培训的每一个可能的组合的一个子集网格大小,瓷砖的决议和顶点渲染的百分比。这个限制是在为未来的贡献。基于题目的概括场面密集voxelized场景没有固定的决议各体素,可以取代瓷砖决议意味着每个体元的顶点数。

此外,创建好的模型的另一个关键因素是他们可以有效地生成而不需要喂FPS获得所有可能的组合场景特征的学习算法。这个数字已经计算约5800万的组合网格大小和数量的顶点。这个数字相比,组合的结构尺寸(10)和屏幕尺寸(5)相对较小。为每个组合产生不同的性能模型的纹理和屏幕尺寸将是一个更简单的任务,如果组合网格的数量大小,瓷砖的决议,顶点渲染可以减少百分比。组织这些性能模型,我们创建一个三级树,前两个层次代表结构的组合和网格大小。第三层包含一个叶指着一个非参数模型与机器学习训练,预测ifp来说网格大小和瓷砖的决议。这些非参数模型是由喂养只有一小部分的机器学习算法的性能的整体组合网格大小、瓷砖决议,和比例的顶点,同时保持固定的纹理和屏幕尺寸特征根据叶的父母。子集的选择总网格大小和瓷砖的分辨率组合使用选择通过选择这些诱导最坏的渲染性能。我们只有两次运行基准运行瓷砖决议和网格大小变异测试和连接的输出性能向量。训练数据集的特征评价指标如表所示1


变异测试 值的瓷砖决议 网格大小的值

瓷砖的决议 7;9;13;17;21;25;31日;37;45 25
网格大小 25 7;9;13;17;21;25;31日;37;45

4.1。机器学习算法配置

如上所述节2的特殊利益三个机器学习算法性能预测的任务在处理器和并行应用程序的情况下:随机森林,集市和人工神经网络。我们提供的比较非参数模型的预测能力训练的这些算法为了确定哪一个是最适合这个应用程序。我们选择这些算法,以反映科学编程社区的以前的工作我们觉得他们是最适合GPU的预测。其他机器学习方法在文献中存在如贝叶斯网络和梯度增加机器,等等,但没有考虑在目前的实验。这些算法使用前必须配置:隐藏层的数量和每层节点的数目在人工神经网络,引导树木的数量在随机森林,或者弱学习者的集市。大多数时候,没有单一的最优参数。通常需要一系列的值的形式。这些范围被发现在初步实验,给出了表2。在人工神经网络的情况下,我们使用一个基于Levenberg-Marquardt多层前馈感知器与反向传播训练算法。我们也试图提高泛化,减少过度拟合的问题使用早期停止方法和扩展的输入性能值范围(−1,1)。早期停止方法在于过早停止训练的神经网络在某些条件得到满足。它可以经过一定数量的时代(1000在我们的例子中),当性能指标已达到某一阈值(均方误差是0.0)。但最常用的早期停止的方法是把训练数据集两个子集:训练子集(70%的初始数据集)和一个验证子集(剩下的30%)。每个时代后,神经网络预测所使用的验证数据集和训练时停止这些预测不够准确(例如,错误度量之间的预测和预报值低于某一阈值)。


算法 参数性质 最佳射程

人工神经网络 数量的隐藏层 1
隐层的节点数 [5;15)
集市 许多薄弱的学习者 (500;1000]
随机森林 引导的树 [50;150]

因为一个参数的最优值的随机性质,我们创建三个每台机器学习算法的性能模型。第一个模型使用的最低参数值,第二个模型使用中间范围,最后上使用一个模型。在验证阶段,我们保留收益率最低的预测误差的模型。

4.2。性能数据平滑

性能数据输出的基准本身是随机有偏见,因为它无法解释的方差ifp来说,即使对于不同场景具有类似特征。事实上,我们只分析图形硬件的输入和输出黑盒部分解释了方差,因为许多内部因素可以影响相同的输入输出:缓存未命中比率,处理器流水线指令,指令分支不可预测性等等。因为程序运行在硬件上是固定的,我们可以假设这些因素并不是足够的随机输入/输出的分析无法使用性能预测。减少噪音的基准输出数据,我们应用一个outlier-robust局部加权散点图平滑。这种方法,称为黄土,比移动平均法,但需要更大的数据集产生一个更准确的平滑。类似于移动平均法,这种平滑过程将平均数据点通过分析它的价值再点。黄土的方法,为每个数据集,一个当地的线性多项式回归计算的一个或两个度k最近的点,利用加权最小二乘法给予更多重视分析初始点附近的数据点。然后分析数据点值修正回归模型预测的价值。更多的信息可以在[39]。在我们的例子中,k最近的点对应的ifp来说6帧之前和之后的6帧分析框架。的使用k最近的框架是有可能的,因为现场相邻帧之间的特点是空间相关的。这可以推广到大多数图形应用程序,因为相机的运动通常是连续的。

4.3。量化场景特征相等

为了进一步帮助机器的性能建模,我们变换基准的输出格式(ifp来说方面,点的数量、现场或网格大小和比例的场景),格式更类似于现场特征将由系统设计师(ifp来说而言,点和场景或网格大小的数量)。也,该工具可以更容易地使用如果场景绘制的百分比参数可以省略:必须选择一个百分比的场景绘制时查询工具,预测可能会导致混乱。因此,有必要在内部找到一个比例因子,可以帮助评估性能的等效性训练数据中各点之间。一个场景的基本假设是,ifp来说有一定的特征( )将某种程度上相当于ifp来说同一场景的绘制与另一组特征( )如果这两个场景按照一定比例的特点。第一个特征是场景的大小没有占深度:( 第一组特征和 对于其他)在OpenGL单位或网格体素的大小或基于题目的瓷砖的应用程序。另一个特点是在每个瓷砖瓷砖决议或体素 正如前面提到的,那些浓度和尺寸对于我们的基准表示为一个per-dimension值。因此,他们总是相等的2 d(长度和宽度)。为简单起见,我们使用以下符号:

这意味着

考虑到一个场景画在一定比例 一组特色 代表总数的比例 绘制区域

在这种情况下, 取自同一场景,我们有吗 因此, 在哪里 是比例系数。

这个例子使用一个场景和一个组特征来帮助找到比例因子,但公式也可以用来比较不同初始特色场景,这是一个强大的度量来推断。期间的典型用例的设计我们的工具,我们假设设计师想要请求一个性能估算的渲染场景时完全吸引,而不仅仅是画在一定比例(最坏的情况)。被发现使用了一种方式 因素在训练阶段,但将需要使用它在性能查询,一旦生成模型。

从方程(5),我们得到

然后,我们发现,如果机器学习可以创建更精确的模型 表达的三角形的浓度而不是用顶点的浓度。考虑到基于题目的在我们的应用程序的数量facesPerTile得到如下:

从比例函数(6)和(7),我们推断

左边的一部分方程(8)可以通过现场特点,和基准输出性能指标提供一个值 进而可以找到值吗 我们因此能够获得近似等于ifp来说值之间的那个场景呈现 100%,在同一场景绘制 百分比。然后机器学习算法训练的一个向量包含一定数量的元组(ifp来说而言, 和点的数量)

设计师可以创建一个查询输入的预测K和点的数量他欲望来呈现,而不必介意关于场景的比例 该工具将输出一个ifp来说预测输入参数。

4.4。识别空间的比例参数评估

预测性能的最佳方法是评估场景的渲染速度每相结合的特点。在这种情况下,我们甚至不需要创建非参数模型,但这可能需要数以百万计的可能性的评价,以太长时间计算(一年左右)。这个性能预测工具从而评估一个很小的子集的组合在合理的时间(约半小时)。在下面,我们确定的数量的比例组合,我们需要评估的工具。

考虑到:(我) ,离散的屏幕尺寸进行了研究(2) ,研究了纹理的大小(3) ,的所有可能的点的数量(iv) ,等研究了瓷砖网格大小的设置,每个瓷砖在OpenGL坐标尺寸相同

我们广义的概念基于题目场景对于任何密集场景通过移除瓷砖分辨率概念,取代任何数量的顶点的浓度低于 除以任何网格大小 我们选择这个最大顶点数和最大网格大小随意,因为它应该能覆盖大多数硬件的数据量在大多数用例。我们可以评估的特征组合的总数影响研究点的密度每屏幕大小和质地 作为

该工具只需要测试所有这些组合的一小部分生产足够的性能模型。正如前面提到的,该工具只需要运行两个测试基准的构建适当的模型为一个固定的屏幕和纹理尺寸。执行每个测试配置最初9个不同的基准测试参数如表所示1

考虑到:(我) ,总数的组合特征分析的工具(2) ,任何训练数据集的大小输出的基准网格尺寸和瓷砖分辨率测试与固定结构和屏幕尺寸对应的数量为基准测试框架呈现

然后,我们假设每一帧渲染在基准测试期间代表一个数十亿美元的独特组合,找到的数量组合测试的工具 作为

然后工具是保证训练成功的模型通过使用只有约0.0098%的总特征的组合。

5。预测误差评价

本节介绍了实验装置和实验考虑用于验证性能模型的预测能力。

5.1。实验装置

我们使用Nvidia QuadroFX570、图形卡模型应该一致的硬件性能与当前武器装备。自OpenGL SC包含完整的OpenGL API的一个子集的功能,这功能非常类似于OpenGL ES的子集1。x规范中,我们缺乏一个OpenGL SC司机使用OpenGL ES 1。x模拟器转换应用程序的OpenGL ES 1。x函数调用OpenGL当前安装的驱动程序。细致的护理已经只使用可用功能,确保在当前OpenGL SC规范除了一个非常重要的方法,命名顶点缓冲对象

实验开始在训练阶段与性能模型的生成提出了部分4。然后验证这些模型的预测能力在一个工业现场的验证阶段根据不同的特征,多次为基准。这些表演然后比较生成的预测模型。下面几节详细解释这个验证阶段。

5.2。性能模型验证

验证性能模型创建,我们使用了一个3 d场景从世界国开行代表一个丘陵位置在魁北克,加拿大。现场子样品在不同程度,使模型的验证在不同的决议。模型首次确认的插值预测能力通过比较预测与验证场景呈现特征类似于那些用来训练模型。外推预测能力的模型被确认使用相同的方法,而是呈现验证场景模型训练期间,未经处理的特点。同样重要的是要选择好这些特征以产生不太容易渲染场景。因为它是更容易的模型来预测最大V-synced FPS,验证场景特征应该选择的方式使帧的渲染操作生成不同的百分比最大ifp来说。我们分析了影响的约0%,50%或100%的帧数据集以最大ifp来说。与合成场景,整个验证场景图形内存中加载之前渲染场景。因此,加载时间在FPS计算不考虑。

验证模型,执行基准,而是显示常用的合成场景,它呈现一个从世界国开行子样品根据各种参数表所示3。图5显示了一个示例的渲染国开行瓷砖在我们的应用程序在不同的决议。然后验证数据集的输出平滑以同样的方式作为训练数据集。每个数据集的大小是5760观察和密切相关的帧数由每次运行基准测试工具的部分3(320帧/运行)。


数据集 的名字 不同的参数 瓷砖的决议 网格大小 % ifp来说最大的帧

验证(国开行的场景) # 1 网格大小 25 7;9;13;17;21;25;31日;37;45 44.38
# 2 网格大小 17 7;9;13;17;21;25;31日;37;45 44.51
# 3 瓷砖的决议 7;9;13;17;21;25;31日;37;45 25 0%
# 4 瓷砖的决议 7;9;13;17;21;25;31日;37;45 17 100%

然后我们比较每一帧的平滑瞬时FPS与以下预测的指标。

5.3。指标的选择和解释

指标来评估预测错误的选择仍然是争论的主题文献[40]。特别是在与机器学习模型生成的情况下,误差分布很少在常规,因此多个指标通常用于帮助理解和量化预测错误的集中趋势。我们使用平均绝对预测误差美在方程(9)和rooted-mean-squared预测误差RMSE在方程(10)。符合文学,我们也给梅的相对预测误差PE在方程(13)。因为误差分布将最有可能不正常,我们也给中位数错误值可能产生最重要的集中趋势。最后一个指标贡献的理解分布表明,50%的预测误差较小的比它的价值。 在哪里 th预测, th测量值 是预测的数量/测量对。

6。结果

结果(例如,数据6- - - - - -9)表明,预测错误不服从正态分布,但即使有一些偏态,他们仍然保留half-bell喜欢外观。最适当的集中趋势指标中位数。此外,人工神经网络有更好的预测比其他两个算法在大多数情况下,紧随其后的是随机森林。表4差距表明,这两种算法的平均预测误差从未超过1帧/秒。另一方面,在所有数据集市的方法表现不佳的差距高达12 FPS。同时,性能与人工神经网络模型训练使不错的预测在一个内插和外推法背景下,如图所示,由中央的错误倾向的所有验证数据集羞愧。基于树的低性能方法的另一种解释来自这样一个事实:他们表现不佳的推断所部分2。集中趋势这两个组之间的差距从来没有超过4 FPS在这个实验中。通过分析最大绝对大多数数据集的预测误差,我们可以看到,有一个小机会产生一个非常高的预测误差。这些高误差可高达43 FPS第三集。尽管一般模型的精度很好,精度可以提高。希望每个误差分布的模式总是第一个本直方图的值(范围),这意味着最高概率的预测误差总是最低的错误。


验证数据集名称 监督学习算法 RMSE (FPS) 相对预测误差(%) 平均绝对预测误差(FPS) 绝对平均预测误差(FPS)

# 1 随机森林 2.71 2.12 1.36 0.45
集市 9.37 10.15 6.85 4.86
神经网络 2.29 1.99 1.26 0.50

# 2 随机森林 10.87 8.74 5.85 2.06
集市 16.53 17.65 12.16 10.39
神经网络 7.90 8.50 5.16 3.51

# 3 随机森林 5.94 5.98 4.10 2.79
集市 9.99 10.60 7.51 6.15
神经网络 2.97 3.03 2.39 2.13

# 4 随机森林 15.80 9.12 10.94 3.98
集市 30.20 18.78 22.53 15.02
神经网络 4.02 2.58 3.10 3.01

数据6- - - - - -9现在每个非参数性能模型的误差分布的四个验证场景。

7所示。讨论

10在某种程度上说明了为什么参数建模会表现不佳,因为它很难假设ifp来说和预测之间的几何关系。前期工作也证明了这些方法的效率低下,因此他们并不包括在这一工作。

因为有一个非常小的机会(少于1%),预测可能有很高的错误,最后提供的预测工具的组合特征应该是一个加权平均或一个健壮的局部回归的一个小的性能相似的场景的特点,以帮助减少这些预测异常值的影响。同时,现场用于训练和验证我们的模型都是密集的,因此我们的实验不能为稀疏场景暗示任何意义。但是,正如大多数图形应用程序在一个航空电子设备上下文使用密集的场景,这应该不是一个大问题。

我们也不使用雾效果的工具是一个功能,可以用于实际工业环境的这一特性将在下个版本的一部分OpenGL SC。

另一方面,由于航空电子设备硬件的高成本,我们不得不抽象的桌面图形硬件在一个OpenGL ES 1。x环境来模拟一个OpenGL SC环境可能会削弱我们的结果的相关性将获得实际的航空电子设备硬件。有关这个问题,我们使用标准的桌面图形硬件出于同样的原因。方法已经发展到抽象的性质硬件底层API,和成熟的航空电子设备的使用图形硬件将改善结果的可信度。然而,这并不意味着我们的方法将为任何用例的工作标准桌面图形硬件。它被设计为特定的航空电子设备行业的问题:固定图形管道,使用OpenGL SC(或同等)和抽象底层硬件。这从根本上是对普通桌面图形硬件的用例。

我们也使用只有一个验证场景子样品分为四个不同的场景。可能感兴趣的繁殖密度更大的数据集的实验场景。考虑我们的结果是可再生的,预测错误由工业使用我们的工具将是足够低。否则,我们确认我们的预测误差分布的集中趋势相似的文献中,当这些方法应用到其他类型的硬件或软件性能预测。

8。复制的结果

作为我们的方法包括两个重要的实验步骤:数据集生成和机器学习,我们预见读者可能想繁殖实验一个或两个实验步骤使用我们的数据集或再生自己的数据集来训练神经网络。

生成我们的训练数据集,我们使用我们的程序生成的3 d场景。读者可以想创建自己的渲染工具之后,我们的规格或者我们可以使c++代码(可用41]。生成验证数据集,我们呈现一个私人3 d场景,不向公众开放,但任何3 d场景呈现高度场的组成可以用来代替。我们提供我们的原始数据集(41),更确切地说我们的工具生成的性能数据为3 d场景,原始和不光滑。

使用我们的数据集或数据集由一个第三方的实际训练性能模型可以复制。读者将会顺利使用黄土算法描述的数据,并使用Matlab曲线拟合工具箱来实现这一点。然后,读者将会生成性能模型与神经网络工具箱。我们的Matlab代码也可以提供41]。

9。结论

我们提出了一套工具,使性能基准测试和预测航空电子设备上下文。这些人失踪或文献没有提供的。我们相信航电系统设计师和建筑师可以受益于这些工具没有其他可用的文学。同时,性能预测错误被证明是相当低的,从而证明我们方法的有效性。

未来的工作将包括航空电子设备的正确性模拟器图形硬件的发展,也增加其他场景特征如雾的影响或抗锯齿的性能模型。也,是评估可能感兴趣的增强我们的建模通过使用贝叶斯网络,梯度增加机器,和混合制成的机器学习模型。最后,我们计划我们的流程和实验自动化更多不同的用例和参数。这将帮助我们更精确地确定降低成本的上限。

数据可用性

支持本研究的调查结果的数据不可用(41)可以从相应的作者在获得合理的请求。

的利益冲突

作者宣称没有利益冲突。

确认

特别感谢将CAE公司提供实验材料,工业世界国开行的3 d场景。我们还要感谢我们的其他合作伙伴,贡献者,赞助商(CMC电子、CRIAQ、神达NSERC)特别帮助的两个硕士论文的完成(42,43),这启发出版的某些结果。

引用

  1. l . j . Prinzel l . j·克莱默,“合成视觉系统,”美国专利lf99 - 1309, 2009,https://ntrs.nasa.gov/search.jsp?R=20090007635视图:谷歌学术搜索
  2. m·达顿和d . Keezer”图形处理航电产业的挑战,”学报》第29届数字航空电子系统会议美国盐湖城,UT, 2010年10月。视图:谷歌学术搜索
  3. 诉Hilderman, t . Baghai l . Buckwalter et al。航空电子设备认证:一个完整的指南- 178(软件),做- 254(硬件)弗吉尼亚州,航空电子通信有限公司,斯,美国,2007年。
  4. Nsight、英伟达https://developer.nvidia.com/nsight-graphics
  5. PerfStudio GPU,https://gpuopen.com/archive/gpu-perfstudio/
  6. 标准的绩效评估公司,“这是什么东西称为“SPECviewperf®“?”https://www.spec.org/gwpg/gpc.static/whatis_vp8.html视图:谷歌学术搜索
  7. “ARINC 661量。”https://www.presagis.com/en/product/arinc-661/
  8. y z . Wang回族,x周,“可重构机载显示和控制系统的仿真方法,”第一届研讨会论文集在航空维修和Management-Volume 2施普林格,页255 - 263年,柏林,德国,2014年。视图:谷歌学术搜索
  9. c·哈斯金斯系统工程手册:指南系统生命周期过程和活动(版本。3)圣地亚哥,国际系统工程委员会,美国,2006年。
  10. l . Lavagno g·马丁和l .雅伯电子设计自动化集成电路Handbook-2卷集美国佛罗里达州波卡拉顿,CRC新闻,2006年。
  11. OpenGL SC概述,https://www.khronos.org/openglsc/
  12. p·科尔,”OpenGL ES SC-open标准嵌入式图形API安全关键应用,”《24日数字航空电子系统会议美国,华盛顿特区,2005年10月。视图:谷歌学术搜索
  13. “Basemark GPU1.1。”https://www.basemark.com
  14. s . s . Baghsorkhi m .拍品,s . j . Patel w·d·Gropp, W.-M。w .研究会会长,“GPU的体系结构的自适应性能建模工具,”第15届ACM SIGPLAN学报》研讨会上的原理和实践并行Programming-PPoPP 102010年1月,班加罗尔,印度。视图:谷歌学术搜索
  15. 香港和h·金”,GPU的体系结构的分析模型与记忆优先级和线程级并行性意识,”学报》第36届国际研讨会上计算机体系结构2009年6月美国奥斯汀,TX。视图:谷歌学术搜索
  16. k·坎特,“预计AMD和Nvidia GPU的性能,”2011年4月,https://www.realworldtech.com/amd-nvidia-gpu-performance/视图:谷歌学术搜索
  17. y和j·欧文斯,“定量GPU的性能分析模型架构,”学报2011年IEEE 17日国际研讨会上高性能计算机体系结构美国圣安东尼奥,TX, 2011年2月。视图:谷歌学术搜索
  18. m·波伊尔·j·孟和k·库玛,“提高GPU性能与数据传输建模、预测”学报IEEE并行和分布式处理国际研讨会,讲习班和博士论坛美国剑桥,马,2013年5月。视图:谷歌学术搜索
  19. ·约瑟夫·k·Vaswani, m . Thazhuthaveetil”超标量处理器的性能预测模型,”学报2006年第39届IEEE / ACM国际研讨会微体系结构(微观06年)美国佛罗里达州奥兰多,2006年12月。视图:谷歌学术搜索
  20. 公元前李·d·布鲁克斯,“准确、高效的回归建模microarchitectural性能和功率预测,”第12届国际会议上建筑学报》支持的编程语言和操作Systems-ASPLOS-XII美国加利福尼亚州圣何塞,2006年10月。视图:谷歌学术搜索
  21. b李和d·布鲁克斯”,说明设计空间与microarchitectural回归模型研究,”IEEE学报》13日国际研讨会高性能计算机体系结构美国斯科茨代尔,阿兹,2007年2月。视图:谷歌学术搜索
  22. g·马林和j . Mellor-Crummy Cross-architecture性能预测使用参数化模型,为科学应用程序”学报联合国际会议上测量和建模的计算机系统美国,纽约,纽约,2004年6月。视图:谷歌学术搜索
  23. y, y, b . Li和l .彭“ATI显卡性能和功率分析:统计的方法,”IEEE学报》第六次国际会议上网络、体系结构和存储中国,大连,辽宁,2011年7月。视图:谷歌学术搜索
  24. 和b . l . b . Li Peng阿,“准确、高效的处理器性能预测建模为基础,通过回归树”《系统架构,55卷,不。10 - 12,457 - 467年,2009页。视图:出版商的网站|谷歌学术搜索
  25. s . Madougou A . l . Vabanescu c, d . Laat和r . v . Nieuwpoort”瓶颈分析的工具和性能预测GPU加速的应用程序,应承担的”《IEEE国际并行和分布式处理研讨会研讨会(IPDPSW)美国,芝加哥,2016年5月。视图:谷歌学术搜索
  26. e . Ould-Ahmed-Vall j . Woodlee k . a . Doshi c·扬特和亚伯拉罕,“使用模型树的计算机体系结构性能分析软件应用程序,”《IEEE国际研讨会在系统和软件的性能分析美国加利福尼亚州圣何塞,2007年4月。视图:谷歌学术搜索
  27. r . m . Yoo h·李,周k和h。李”,构造一个非线性模型与神经网络负载特性,”《IEEE国际研讨会工作负载特性美国加利福尼亚州圣何塞,2006年10月。视图:谷歌学术搜索
  28. d . Nemirovsky t长石砂岩,n·马尔科维奇,“机器学习方法的性能预测和安排在不同的cpu,”学报》第29届国际研讨会上计算机体系结构与高性能计算坎皮纳斯,圣保罗,巴西,2017年10月。视图:谷歌学术搜索
  29. p . j .约瑟、k Vaswani和m . Thazhuthaveetil”建设和使用的处理器性能分析,线性回归模型”第十二学报》国际研讨会高性能计算机体系结构2006年2月美国奥斯汀,TX。视图:谷歌学术搜索
  30. e . Ipek s a·麦基(r . Caruana b . r . de Supinski和m .舒尔茨”有效地通过预测建模,探索建筑设计空间”第12届国际会议上建筑学报》支持的编程语言和操作系统(ASPLOS十二)美国加利福尼亚州圣何塞,2006年10月。视图:谷歌学术搜索
  31. 大肠Thereska g . r .领班,“Ironmodel:健壮的性能模型在野外,”学报2008年ACM SIGMETRICS国际会议上测量和建模的计算机系统美国安纳波利斯,医学博士,2008年6月。视图:谷歌学术搜索
  32. 美国任,y, k . s . Elnikety“利用处理器互动服务的异质性,”第十届国际会议上自主计算学报》(专案)美国加利福尼亚州圣何塞,2013年6月。视图:谷歌学术搜索
  33. c·斯图尔特·t·凯利,张A和k .沈”从十字架15美分:一美元高互联网服务平台管理”ATC的08年USENIX学报》2008年度技术会议美国,波士顿,MA, 2008年6月。视图:谷歌学术搜索
  34. a . Verma l . Cherkasova和r·h·坎贝尔,“咏叹调:地图自动推理和分配资源减少环境”学报》第八届ACM国际会议上自主计算2011年6月,德国卡尔斯鲁厄。视图:谷歌学术搜索
  35. g . Fatini和c·A·p·d·s·马丁斯,“3 d图形,一个可配置的和便携式的基准”《十四巴西研讨会在计算机图形学和图像处理2001年10月,弗洛,巴西,。视图:谷歌学术搜索
  36. “安全至上的概要文件规范”,2009年3月,https://www.khronos.org/registry/OpenGL/specs/sc/sc_spec_1_0_1.pdf
  37. b·克鲁格正确的器皿劳奇Basemark ES 2.0太极免费Android, iOS2011年12月22日,2011年12月,https://www.anandtech.com/show/5263/rightware-launches-basemark-es-20-taiji-free-for-android-ios
  38. p·桑德,d . Nehab和j . Barczak”快速三角形顶点位置重新排序,减少透支,“ACM交易图片,26卷,不。3,2007。视图:出版商的网站|谷歌学术搜索
  39. w·s·克利夫兰和s·j·德夫林,“局部加权回归:一个由当地拟合回归分析方法,”美国统计协会杂志》上,卷83,不。403年,第610 - 596页,1988年。视图:出版商的网站|谷歌学术搜索
  40. t·柴和r . r . Draxler均方根误差(RMSE)或平均绝对误差(MAE) ?参数对避免RMSE文学。”立模型开发,7卷,不。3、1247 - 1250年,2014页。视图:出版商的网站|谷歌学术搜索
  41. https://github.com/guybois/HWPerfPredwithML
  42. R.-G。西蒙,”de性能预测物资图表在contexte avionique par apprentissage时候,”蒙特利尔理工,蒙特利尔,加拿大,2015年,硕士论文。视图:谷歌学术搜索
  43. l·文森特”Methodologie experimentale倒安勤科技les的特性园地图表avioniques,”E Thesisacte de MontratPe毕业,蒙特利尔,加拿大,2014年,硕士论文。视图:谷歌学术搜索

版权©2019年西蒙·r·吉拉德等。这是一个开放的分布式下文章知识共享归属许可,它允许无限制的使用、分配和复制在任何媒介,提供最初的工作是正确引用。


更多相关文章

PDF 下载引用 引用
下载其他格式更多的
订单打印副本订单
的观点1450年
下载828年
引用

相关文章

文章奖:2020年杰出的研究贡献,选择由我们的首席编辑。获奖的文章阅读