Skip to main content
QUICK REVIEW

[论文解读] Lighthouse: A User-Centered Web Service for Linear Algebra Software

Boyana Norris, Sa-Lin Bernstein|arXiv (Cornell University)|Aug 6, 2014
Parallel Computing and Optimization Techniques参考文献 16被引用 3
一句话总结

Lighthouse 是一个以用户为中心的网络服务,利用机器学习和结构化分类法,为科学应用推荐最佳性能的线性代数软件(LAPACK、PETSc、SLEPc)。它通过基于问题特征的求解器性能分类,实现自动化代码生成与调优,利用决策树在预测最佳特征值求解器方面达到 86.39% 的准确率。

ABSTRACT

Various fields of science and engineering rely on linear algebra for large scale data analysis, modeling and simulation, machine learning, and other applied problems. Linear algebra computations often dominate the execution time of such applications. Meanwhile, experts in these domains typically lack the training or time required to develop efficient, high-performance implementations of linear algebra algorithms. In the Lighthouse project, we enable developers with varied backgrounds to readily discover and effectively apply the best available numerical software for their problems. We have developed a search-based expert system that combines expert knowledge, machine learningbased classification of existing numerical software collections, and automated code generation and optimization. Lighthouse provides a novel software engineering environment aimed at maximizing both developer productivity and application performance for dense and sparse linear algebra computations.

研究动机与目标

  • 为解决科学应用中选择最优高性能线性代数库的挑战,该挑战需要具备数值分析和高性能计算(HPC)的专业知识。
  • 通过提供用户友好的、可搜索的数值软件界面,减少实现高效线性代数计算所需的时间和专业知识。
  • 将机器学习与软件工程相结合,基于问题特征自动化推荐最优求解器。
  • 通过代码生成和自动调优,支持密集和稀疏线性代数计算,以提升应用性能。
  • 通过实现智能、引导式的发现与部署,扩展现有数值软件集合(LAPACK、PETSc、SLEPc)的实用性。

提出的方法

  • 构建涵盖 LAPACK、PETSc 和 SLEPc 的全面软件分类法,按功能、矩阵类型和性能特征组织求解器。
  • 在 29,000 个性能数据点上应用决策树归纳的机器学习方法,对给定输入条件下的最佳性能特征值求解器进行分类与预测。
  • 将训练好的决策树转换为 MySQL 数据库,实现在 Lighthouse 界面中基于查询的实时求解器推荐。
  • 实现一种引导式搜索界面,通过询问用户关于问题特定特征(如矩阵大小、类型、期望的特征值谱)的问题,以检索最优求解器。
  • 通过 BTO 编译器集成代码生成与自动调优,从高层 MATLAB 风格描述生成优化的融合线性代数操作。
  • 采用 10 折交叉验证评估和验证求解器推荐的准确性,在预测最佳性能特征值求解器方面达到 86.39% 的准确率。

实验结果

研究问题

  • RQ1基于分类法的系统在多大程度上能提升非专家用户对高性能线性代数软件的可发现性与可用性?
  • RQ2何种机器学习方法能够准确预测给定问题配置下的最优性能线性代数求解器?
  • RQ3自动化代码生成与调优在多大程度上能提升 HPC 工作负载中的开发人员生产力和应用性能?
  • RQ4引导式交互界面在多大程度上能有效将用户输入映射到多样化线性代数问题的最优求解器选择?
  • RQ5统一框架能否在保持一致性能与可用性的前提下,集成并推荐来自多个数值软件库(LAPACK、PETSc、SLEPc)的求解器?

主要发现

  • 机器学习模型在 10 折交叉验证中对最佳性能特征值求解器的预测平均准确率达到 86.39%,表明其对未见过的问题配置具有良好的泛化能力。
  • 决策树分类器成功识别出每个问题实例的最快特征值求解器,并额外推荐性能在最佳值 110% 以内的求解器,为用户提供高质量的替代方案。
  • Lighthouse 系统能够从高层问题描述自动生成代码模板并产出自动调优的代码,显著降低手动实现的工作量。
  • 将决策树集成至 MySQL 数据库,可基于用户指定的问题特征实现高效、可扩展的求解器推荐检索。
  • 引导式搜索界面能有效将用户输入转化为最优求解器推荐,提升非专家开发者的使用便利性。
  • 该框架支持密集和稀疏线性代数计算,并可扩展以支持更多功能,如密集特征值求解器和正交分解。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。