Scalable inference of decision tree ensembles: Flexible design for CPU-FPGA platforms
Scalable inference of decision tree ensembles: Flexible design for CPU-FPGA platforms
复制标题
决策树集成的可扩展推理:CPU-FPGA 平台的灵活设计
DOI:
10.23919/fpl.2017.8056784
复制
发表时间:
2017
期刊:
影响因子:
--
通讯作者:
G. Alonso
中科院分区:
文献类型:
--
作者:
Muhsen Owaida;Hantian Zhang;Ce Zhang;G. Alonso
Decision tree ensembles are commonly used in a wide range of applications and becoming the de facto algorithm for decision tree based classifiers. Different trees in an ensemble can be processed in parallel during tree inference, making them a suitable use case for FPGAs. Large tree ensembles, however, require careful mapping of trees to on-chip memory and management of memory accesses. As a result, existing FPGA solutions suffer from the inability to scale beyond tens of trees and lack the flexibility to support different tree ensembles. In this paper we present an FPGA tree ensemble classifier together with a software driver to efficiently manage the FPGA's memory resources. The classifier architecture efficiently utilizes the FPGA's resources to fit half a million tree nodes in on-chip memory, delivering up to 20× speedup over a 10-threaded CPU implementation when fully processing the tree ensemble on the FPGA. It can also combine the CPU and FPGA to scale to tree ensembles that do not fit in on-chip memory, achieving up to an order of magnitude speedup compared to a pure CPU implementation. In addition, the classifier architecture can be programmed at runtime to process varying tree ensemble sizes.