Paper Notes: P4: Portable Parallel Processing Pipelines for Interactive Information Visualization

Intro P4, 即 Portable Parallel Processing Pipelines,是由 Jianping Kelven Li、Kwan-Liu Ma 发表在 TVCG 2020 的工作。其提出了一个结合了声明式设计标准和 GPU 计算的、用于构建高性能可视化系统的信息可视化框架,利用 GPU 计算来加速数据处理过程和交互可视化应用中的可视化渲染流程。其提供的 API 可以用于数据转换、视觉编码、交互的快速开发。P4 通过在保持对设计标准的高度灵活性和可自定义性的前提下,简化了经 GPU 加速的可视化系统的开发流程。同时,相对于其他工具链,P4 在创建可交互的可视化方面提供了极大的效率提升。 动机 具备交互的可视化系统,尤其是在处理大规模数据时,需要在数据处理和可视化渲染两个任务上具备高效性。而主流的计算设备大多可以通过 GPU 为这两个任务提供性能提升。因此本文尝试探索 GPU 计算在这两个任务上的潜力,以为开发人员提供一个新的、高性能的可视化开发工具。 P4 主要针对 4 个目标进行设计: Performance:旨在合理分配利用 GPU 资源来储存、处理数据,以获得无缝的高性能 Productivity:旨在提供一个良好架构的、声明式的 API Programmability:旨在提供高度的可定制性和灵活性,让用户可以自定义数据操作与视觉编码的复杂逻辑 Portablity:P4 作为利用 WebGL 的 Web 开发框架,可在不同的现代浏览器中按预期工作 相关工作 可视化工具链 许多可视化工具与库均提供声明式的语法来设计可视化应用,包括 ggplot2、Protovis、D3、Vega、Vega-Lite 等。声明式的语法可以将可视化、互动的具体设计从其背后的执行细节解耦出来,让开发者更聚焦在和应用相关的设计决策上。但现有工具极少利用到 GPU,难以保证大数据的实时互动性。 在与 GPU 相关的技术与可视化工具的结合发面,包括 OpenGL、WebGL 等图形 API,General Purpose GPU 的若干 API OpenCL、CUDA等,以及可视化社区一些使用 shader 来绘制可视化结果的尝试。不过目前的工作大多聚焦在使用 GPU 来渲染可视化结果,而没有利用到其并行的特性来处理数据。...

April 24, 2022 · Bill Chen