Vectorization of Gradient Boosting of Decision Trees Prediction in the CatBoost Library for RISC-V Processors
Fuente:
arXiv
Gespeichert in:
| Hauptverfasser: | , , , , , , |
|---|---|
| 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 |