论文标题

将异质性带入CMS软件框架

Bringing heterogeneity to the CMS software framework

论文作者

Bocci, Andrea, Dagenhart, David, Innocente, Vincenzo, Jones, Christopher, Kortelainen, Matti, Pantaleo, Felice, Rovere, Marco

论文摘要

与协同处理器的计算资源的出现,例如图形处理单元(GPU)或现场可编程的门阵列(FPGA),用于CMS高级触发器(HLT)或Leadership-Class Supercuters在CMS高级触发器(HLT)等用例中对当前数据处理框架构成了挑战。这些挑战包括为算法开发模型,以将其计算卸载到协同处理器上,并使传统的CPU忙于忙于做其他工作。 CMS数据处理框架CMSSW使用Intel螺纹构建块(TBB)库实现多线程,该库将任务用作同时工作单位。在本文中,我们将讨论一种通用机制,以与CMSSW中实施的非CPU资源有效互动。此外,配置这种异质系统是具有挑战性的。在CMSSW中,应用程序配置了用Python语言编写的配置文件。算法类型是配置的一部分。因此,挑战是统一CPU和协同处理器设置,同时允许其实现分开。我们将解释如何解决这些挑战,同时最大程度地减少CMSSW框架的必要更改。我们还将在一个具体示例上讨论算法如何使用CUDA API直接将作品卸载到NVIDIA GPU。

The advent of computing resources with co-processors, for example Graphics Processing Units (GPU) or Field-Programmable Gate Arrays (FPGA), for use cases like the CMS High-Level Trigger (HLT) or data processing at leadership-class supercomputers imposes challenges for the current data processing frameworks. These challenges include developing a model for algorithms to offload their computations on the co-processors as well as keeping the traditional CPU busy doing other work. The CMS data processing framework, CMSSW, implements multithreading using the Intel Threading Building Blocks (TBB) library, that utilizes tasks as concurrent units of work. In this paper we will discuss a generic mechanism to interact effectively with non-CPU resources that has been implemented in CMSSW. In addition, configuring such a heterogeneous system is challenging. In CMSSW an application is configured with a configuration file written in the Python language. The algorithm types are part of the configuration. The challenge therefore is to unify the CPU and co-processor settings while allowing their implementations to be separate. We will explain how we solved these challenges while minimizing the necessary changes to the CMSSW framework. We will also discuss on a concrete example how algorithms would offload work to NVIDIA GPUs using directly the CUDA API.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源