We present the Analytical Memory Model with Pipelines (AMMP) of the Performance Prediction Toolkit (PPT). PPT-AMMP takes high-level source code and hardware architecture parameters as input, predicts runtime of that code on the target hardware platform, which is defined in the input parameters. PPT-AMMP transforms the code to an (architecture-independent) intermediate representation, then (i) analyzes the basic block structure of the code, (ii) processes architecture-independent virtual memory access patterns that it uses to build memory reuse distance distribution models for each basic block, (iii) runs detailed basic-block level simulations to determine hardware pipeline usage. PPT-AMMP uses machine learning and regression techniques to build the prediction models based on small instances of the input code, then integrates into a higher-order discrete-event simulation model of PPT running on Simian PDES engine. We validate PPT-AMMP on four standard computational physics benchmarks, finally present a use case of hardware parameter sensitivity analysis to identify bottleneck hardware resources on different code inputs. We further extend PPT-AMMP to predict the performance of scientific application (radiation transport), SNAP. We analyze the application of multi-variate regression models that accurately predict the reuse profiles and the basic block counts. The predicted runtimes of SNAP when compared to that of actual times are accurate.
翻译:我们用业绩预测工具包(PPT)的管道介绍分析记忆模型(AMMP)。PPT-AMMP采用高层次源代码和硬件结构参数作为投入,预测输入参数中界定的目标硬件平台的代码运行时间,PPT-AMMP将代码转换成(建筑独立)中间代号,然后(一)分析代码的基本构件结构,(二)流程结构-独立虚拟记忆存取模式,它用来为每个基本街区构建记忆再利用距离分配模型,(三)进行详细的基本区级模拟,以确定硬件管道的使用情况。 PPT-AMMP利用机器学习和回归技术,建立基于输入代码小实例的预测模型,然后在Simian PDES引擎运行的PPTT高层次离动活动模拟模型。我们根据四个标准计算物理基准验证PPT-AMMP,最后提出硬件参数敏感性分析案例,以确定不同代码投入的瓶装硬件资源。我们进一步扩展PPT-AMMP的精确级模拟,利用机器学习和回归技术,以建立基于输入小实例建立预测模型,然后预测科学再利用SNAP的预测系统模型。