Vectorization of Gradient Boosting of Decision Trees Prediction in the CatBoost Library for RISC-V Processors

Fuente: arXiv
Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Kozinov, Evgeny, Vasiliev, Evgeny, Gorshkov, Andrey, Kustikova, Valentina, Maklaev, Artem, Volokitin, Valentin, Meyerov, Iosif
Format: Preprint
Veröffentlicht: 2024
Schlagworte:
Online-Zugang:
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
_version_ 1866910902154952704
author Kozinov, Evgeny
Vasiliev, Evgeny
Gorshkov, Andrey
Kustikova, Valentina
Maklaev, Artem
Volokitin, Valentin
Meyerov, Iosif
author_facet Kozinov, Evgeny
Vasiliev, Evgeny
Gorshkov, Andrey
Kustikova, Valentina
Maklaev, Artem
Volokitin, Valentin
Meyerov, Iosif
contents The emergence and rapid development of the open RISC-V instruction set architecture opens up new horizons on the way to efficient devices, ranging from existing low-power IoT boards to future high-performance servers. The effective use of RISC-V CPUs requires software optimization for the target platform. In this paper, we focus on the RISC-V-specific optimization of the CatBoost library, one of the widely used implementations of gradient boosting for decision trees. The CatBoost library is deeply optimized for commodity CPUs and GPUs. However, vectorization is required to effectively utilize the resources of RISC-V CPUs with the RVV 0.7.1 vector extension, which cannot be done automatically with a C++ compiler yet. The paper reports on our experience in benchmarking CatBoost on the Lichee Pi 4a, RISC-V-based board, and shows how manual vectorization of computationally intensive loops with intrinsics can speed up the use of decision trees several times, depending on the specific workload. The developed codes are publicly available on GitHub.
format Preprint
id arxiv_https___arxiv_org_abs_2405_11062
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Vectorization of Gradient Boosting of Decision Trees Prediction in the CatBoost Library for RISC-V Processors
Kozinov, Evgeny
Vasiliev, Evgeny
Gorshkov, Andrey
Kustikova, Valentina
Maklaev, Artem
Volokitin, Valentin
Meyerov, Iosif
Distributed, Parallel, and Cluster Computing
Performance
The emergence and rapid development of the open RISC-V instruction set architecture opens up new horizons on the way to efficient devices, ranging from existing low-power IoT boards to future high-performance servers. The effective use of RISC-V CPUs requires software optimization for the target platform. In this paper, we focus on the RISC-V-specific optimization of the CatBoost library, one of the widely used implementations of gradient boosting for decision trees. The CatBoost library is deeply optimized for commodity CPUs and GPUs. However, vectorization is required to effectively utilize the resources of RISC-V CPUs with the RVV 0.7.1 vector extension, which cannot be done automatically with a C++ compiler yet. The paper reports on our experience in benchmarking CatBoost on the Lichee Pi 4a, RISC-V-based board, and shows how manual vectorization of computationally intensive loops with intrinsics can speed up the use of decision trees several times, depending on the specific workload. The developed codes are publicly available on GitHub.
title Vectorization of Gradient Boosting of Decision Trees Prediction in the CatBoost Library for RISC-V Processors
topic Distributed, Parallel, and Cluster Computing
Performance
url https://arxiv.org/abs/2405.11062