Pablo Vizcaino , Roger Ferrer , Jesus Labarta , Filippo Mantovani
{"title":"设计一个QEMU插件来配置多核长向量RISC-V架构:RAVE","authors":"Pablo Vizcaino , Roger Ferrer , Jesus Labarta , Filippo Mantovani","doi":"10.1016/j.future.2025.108100","DOIUrl":null,"url":null,"abstract":"<div><div>Simulators are crucial during the development of a chip, like the RISC-V accelerator designed in the European Processor Initiative project. In this paper, we showcase the limitations of the current emulation solutions in the project and propose using QEMU with RAVE, a plugin we implement and describe in this document. This methodology can rapidly emulate and analyze applications running on the v1.0 and v0.7.1 RISC-V V-extension. Our plugin reports the vector and scalar instructions alongside useful information such as the vector-length being used, the single-element-width, and the register usage, among other vectorization metrics. We provide an API used from the emulated Application to control the RAVE plugin and the capability to generate vectorization traces that can be analyzed using Paraver. Additionally, we demonstrate the efficiency of our solution against other emulators such as Whipser, ETISS, Spike, or FPGA simulation. Finally, we describe the challenges and solutions for synchronizing and emulating multi-threaded and multi-process binaries, and evaluate the performance of RAVE running on multiple processors.</div></div>","PeriodicalId":55132,"journal":{"name":"Future Generation Computer Systems-The International Journal of Escience","volume":"175 ","pages":"Article 108100"},"PeriodicalIF":6.2000,"publicationDate":"2025-08-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Designing a QEMU plugin to profile multicore long vector RISC-V architectures: RAVE\",\"authors\":\"Pablo Vizcaino , Roger Ferrer , Jesus Labarta , Filippo Mantovani\",\"doi\":\"10.1016/j.future.2025.108100\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<div><div>Simulators are crucial during the development of a chip, like the RISC-V accelerator designed in the European Processor Initiative project. In this paper, we showcase the limitations of the current emulation solutions in the project and propose using QEMU with RAVE, a plugin we implement and describe in this document. This methodology can rapidly emulate and analyze applications running on the v1.0 and v0.7.1 RISC-V V-extension. Our plugin reports the vector and scalar instructions alongside useful information such as the vector-length being used, the single-element-width, and the register usage, among other vectorization metrics. We provide an API used from the emulated Application to control the RAVE plugin and the capability to generate vectorization traces that can be analyzed using Paraver. Additionally, we demonstrate the efficiency of our solution against other emulators such as Whipser, ETISS, Spike, or FPGA simulation. Finally, we describe the challenges and solutions for synchronizing and emulating multi-threaded and multi-process binaries, and evaluate the performance of RAVE running on multiple processors.</div></div>\",\"PeriodicalId\":55132,\"journal\":{\"name\":\"Future Generation Computer Systems-The International Journal of Escience\",\"volume\":\"175 \",\"pages\":\"Article 108100\"},\"PeriodicalIF\":6.2000,\"publicationDate\":\"2025-08-27\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Future Generation Computer Systems-The International Journal of Escience\",\"FirstCategoryId\":\"94\",\"ListUrlMain\":\"https://www.sciencedirect.com/science/article/pii/S0167739X25003942\",\"RegionNum\":2,\"RegionCategory\":\"计算机科学\",\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q1\",\"JCRName\":\"COMPUTER SCIENCE, THEORY & METHODS\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Future Generation Computer Systems-The International Journal of Escience","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0167739X25003942","RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"COMPUTER SCIENCE, THEORY & METHODS","Score":null,"Total":0}
Designing a QEMU plugin to profile multicore long vector RISC-V architectures: RAVE
Simulators are crucial during the development of a chip, like the RISC-V accelerator designed in the European Processor Initiative project. In this paper, we showcase the limitations of the current emulation solutions in the project and propose using QEMU with RAVE, a plugin we implement and describe in this document. This methodology can rapidly emulate and analyze applications running on the v1.0 and v0.7.1 RISC-V V-extension. Our plugin reports the vector and scalar instructions alongside useful information such as the vector-length being used, the single-element-width, and the register usage, among other vectorization metrics. We provide an API used from the emulated Application to control the RAVE plugin and the capability to generate vectorization traces that can be analyzed using Paraver. Additionally, we demonstrate the efficiency of our solution against other emulators such as Whipser, ETISS, Spike, or FPGA simulation. Finally, we describe the challenges and solutions for synchronizing and emulating multi-threaded and multi-process binaries, and evaluate the performance of RAVE running on multiple processors.
期刊介绍:
Computing infrastructures and systems are constantly evolving, resulting in increasingly complex and collaborative scientific applications. To cope with these advancements, there is a growing need for collaborative tools that can effectively map, control, and execute these applications.
Furthermore, with the explosion of Big Data, there is a requirement for innovative methods and infrastructures to collect, analyze, and derive meaningful insights from the vast amount of data generated. This necessitates the integration of computational and storage capabilities, databases, sensors, and human collaboration.
Future Generation Computer Systems aims to pioneer advancements in distributed systems, collaborative environments, high-performance computing, and Big Data analytics. It strives to stay at the forefront of developments in grids, clouds, and the Internet of Things (IoT) to effectively address the challenges posed by these wide-area, fully distributed sensing and computing systems.