Searcharxiv⌕ Search

arXiv subjects

Evgeny Kozinov

Publications and source records attributed to Evgeny Kozinov.

6 recordsLinked to original sources

Rethinking Sparse Formats for RISC-V: A Hierarchical Approach to High-Performance SpMV

The sparse matrix-vector multiplication (SpMV) algorithm is a fundamental computational kernel of linear algebra and serves as a building block for numerous applications, primarily iterative solvers for systems of linear equations used in scientific and engineering simulations. This paper compares vectorized implementations of the SpMV algorithm across eight established sparse matrix storage formats and proposes a novel modification of the CSR format, Hierarchical CSR (HCSR), which enhances SpMV performance on RISC-V processors. Our SpMV implementations utilize RVV 1.0 intrinsics and are publicly available as an open-source C++ library named RVVLASparse. Computational experiments conducted on SpacemiT K1 and K3 RISC-V boards demonstrate that selecting an appropriate matrix storage format accelerates SpMV computations by an average of 1.6x, while the proposed HCSR format achieves the shortest execution time among all considered formats across a broad class of sparse matrices.

cs.DC↗

Performance optimization of BLAS algorithms with band matrices for RISC-V processors

The rapid development of RISC-V instruction set architecture presents new opportunities and challenges for software developers. Is it sufficient to simply recompile high-performance software optimized for x86-64 onto RISC-V CPUs? Are current compilers capable of effectively optimizing C and C++ codes or is it necessary to use intrinsics or assembler? Can we analyze and improve performance without well-developed profiling tools? Do standard optimization techniques work? Are there specific RISC-V features that need to be considered? These and other questions require careful consideration. In this paper, we present our experience optimizing four BLAS algorithms for band matrix operations on RISC-V processors. We demonstrate how RISC-V-optimized implementations of OpenBLAS algorithms can be significantly accelerated through improved vectorization of computationally intensive loops. Experiments on Lichee Pi 4A and Banana Pi BPI-F3 devices using RVV 0.7.1 and RVV 1.0 vector instruction sets respectively, show speedups of 1.5x to 10x depending on the operation compared to the OpenBLAS baseline. In particular, the successful use of vector register grouping with RVV can lead to significant performance improvements.

cs.DC↗

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

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.

cs.DC↗

Case Study for Running Memory-Bound Kernels on RISC-V CPUs

The emergence of a new, open, and free instruction set architecture, RISC-V, has heralded a new era in microprocessor architectures. Starting with low-power, low-performance prototypes, the RISC-V community has a good chance of moving towards fully functional high-end microprocessors suitable for high-performance computing. Achieving progress in this direction requires comprehensive development of the software environment, namely operating systems, compilers, mathematical libraries, and approaches to performance analysis and optimization. In this paper, we analyze the performance of two available RISC-V devices when executing three memory-bound applications: a widely used STREAM benchmark, an in-place dense matrix transposition algorithm, and a Gaussian Blur algorithm. We show that, compared to x86 and ARM CPUs, RISC-V devices are still expected to be inferior in terms of computation time but are very good in resource utilization. We also demonstrate that well-developed memory optimization techniques for x86 CPUs improve the performance on RISC-V CPUs. Overall, the paper shows the potential of RISC-V as an alternative architecture for high-performance computing.

cs.PF↗

Transforming the Lindblad Equation into a System of Linear Equations: Performance Optimization and Parallelization of an Algorithm

With their constantly increasing peak performance and memory capacity, modern supercomputers offer new perspectives on numerical studies of open many-body quantum systems. These systems are often modeled by using Markovian quantum master equations describing the evolution of the system density operators. In this paper we address master equations of the Lindblad form, which are a popular theoretical tool in quantum optics, cavity quantum electrodynamics, and optomechanics. By using the generalized Gell-Mann matrices as a basis, any Lindblad equation can be transformed into a system of ordinary differential equations with real coefficients. This allows us to use standard high-performance parallel algorithms to integrate the equations and thus to emulate open quantum dynamics in a computationally efficient way. Recently we presented an implementation of the transform with the computational complexity scaling as $O(N^5 log N)$ for dense Lindbaldians and $O(N^3 log N)$ for sparse ones. However, infeasible memory costs remain a serious obstacle on the way to large models. Here we present a parallel cluster-based implementation of the algorithm and demonstrate that it allows us to integrate a sparse Lindbladian model of the dimension $N=2000$ and a dense random Lindbladian model of the dimension $N=200$ by using $25$ nodes with $64$ GB RAM per node.

physics.comp-ph↗

Propagating large open quantum systems towards their steady states: cluster implementation of the time-evolving block decimation scheme

Many-body quantum systems are subjected to the Curse of Dimensionality: The dimension of the Hilbert space $\mathcal{H}$, where these systems live in, grows exponentially with systems' 'size' (number of their components, "bodies"). It means that, in order to specify a state of a quantum system, we need a description whose length grows exponentially with the system size. However, with some systems it is possible to escape the curse by using low-rank tensor approximations known as `matrix-product state/operator (MPS/O) representation' in the quantum community and `tensor-train decomposition' among applied mathematicians. Motivated by recent advances in computational quantum physics, we consider chains of $N$ spins coupled by nearest-neighbor interactions. The spins are subjected to an action coming from the environment. Spatially disordered interaction and environment-induced decoherence drive systems into non-trivial asymptotic states. The dissipative evolution is modeled with a Markovian master equation in the Lindblad form. By implementing the MPO technique and propagating system states with the time-evolving block decimation (TEBD) scheme (which allows to keep the length of the state descriptions fixed), it is in principle possible to reach the corresponding steady states. We propose and realize a cluster implementation of this idea. The implementation on four nodes allowed us to resolve steady states of the model systems with $N = 128$ spins.

cond-mat.stat-mech↗