This book offers a comprehensive introduction to the RISC-V RVV extension and its integration with LLVM-based compilers. It covers the LLVM VPlan-based Loop Vectorizer and SLP Vectorizer, along with additional insights into the clang frontend, OpenMP support, and RVV-specific clang directives provided by SiFive.
Given the limited information currently available on RVV and its support in modern compilers, this book fills a crucial gap. RVV introduces a unique approach to vectorization-Vector Length Agnostic (VLA) vectorization-which stands out from the fixed vectors of x86 and the runtime-defined, yet fixed, ARM-based SVE and SVE2 extensions.
Readers will gain an understanding of RVV-specific VLA-based vectorization support in LLVM-based compilers, which are still under development. The book also provides early insights into the ongoing support for RVV in LLVM.
What You'll Learn
Gain foundational knowledge of RISC-V and the RVV extension.Learn design and implementation of LLVM vectorizers.Learn to optimize performance with RVV-specific clang directives.Explore the unique Vector Length Agnostic (VLA) vectorization.Discover the differences between RVV and other vector extensions.
Who This Book Is For
1. For the engineers, who would like to get more info about RISC-V in general and RISC-V Vectorextension particularly.
2. For the developers, trying to get the performance using RVV.
3. For LLVM compiler developers, trying or learn more about vectorization support in LLVM.4.
4. For the students, who learn new about RISC- V, its extensions, interested in compiler development.
Given the limited information currently available on RVV and its support in modern compilers, this book fills a crucial gap. RVV introduces a unique approach to vectorization-Vector Length Agnostic (VLA) vectorization-which stands out from the fixed vectors of x86 and the runtime-defined, yet fixed, ARM-based SVE and SVE2 extensions.
Readers will gain an understanding of RVV-specific VLA-based vectorization support in LLVM-based compilers, which are still under development. The book also provides early insights into the ongoing support for RVV in LLVM.
What You'll Learn
Gain foundational knowledge of RISC-V and the RVV extension.Learn design and implementation of LLVM vectorizers.Learn to optimize performance with RVV-specific clang directives.Explore the unique Vector Length Agnostic (VLA) vectorization.Discover the differences between RVV and other vector extensions.
Who This Book Is For
1. For the engineers, who would like to get more info about RISC-V in general and RISC-V Vectorextension particularly.
2. For the developers, trying to get the performance using RVV.
3. For LLVM compiler developers, trying or learn more about vectorization support in LLVM.4.
4. For the students, who learn new about RISC- V, its extensions, interested in compiler development.