Please use this identifier to cite or link to this item: https://hdl.handle.net/10316/115648
Title: A Functional Validation Framework for the Unlimited Vector Extension
Other Titles: Plataforma de Validação Funcional para o Unlimited Vector Extension
Authors: Fernandes, Ana Beatriz Simões
Orientador: Fernandes, Gabriel Falcão Paiva
Neves, Nuno Filipe Simões Santos Moraes da Silva
Keywords: ISA SIMD Extensions; Data Streaming; RISC-V; Unlimited Vector Extension; Simulation Tools; Extensões ISA SIMD; Computação em Fluxo de Dados; RISC-V; Unlimited Vector Extension; Simulação
Issue Date: 28-Feb-2024
Project: info:eu-repo/grantAgreement/FCT/3599-PPCDT/2022.06780.PTDC/PT 
Serial title, monograph or event: A Functional Validation Framework for the Unlimited Vector Extension
Place of publication or event: DEEC
Abstract: In order to tackle the limitations of current state-of-the-art Vector-Length Agnostic (VLA) extensions, the RISC-V Unlimited Vector Extension (UVE) was created. This is a new Instruction Set Architecture (ISA) extension that aims to reduce loop control and memory access indexations associated overheads, decreasing the average memory access latency. It achieves this by relying on Single Instruction, Multiple Data (SIMD) processing and the emerging data streaming paradigm. SIMD is ideal for data-centric applications, such as Machine Learning (ML), which are increasingly more popular in embedded and low-power devices. On the other hand, data streaming allows for memory access patterns to be described at the software level, fed to a dedicated co-processor that fetches the data in the background, effectively decoupling and masking memory accesses from computation. An initial proof-of-concept implementation of this extension was made on an Out-of-Order (OoO) processor model, based on the ARM Cortex-A76, in the cycle-accurate simulator gem5. Compared with the state-of-the-art Scalable Vector Extension (SVE), results showed that the proposed solution attains performance speedups between 2× and 4×. Since the initial proposal of UVE, some shortcomings and limitations were identified, such as a lack of support for more fields of application, such as Sparse Linear Algebra, which is characterised by complex scatter-gather memory accesses. Moreover, there was a need for an improved simulation environment, as the gem5 implementation has since been deprecated. This work presents a new development and functional validation framework for the extension, based on the Spike simulator, the golden reference functional RISC-V ISA simulator. This simulator was modified and extended to support data streaming and more than 150 new instructions. In parallel, the extension’s specification was revised and updated, to support higher memory access pattern complexity and cover new fields of application. The new simulation framework was used to perform a functional validation of the extension and a comparison with the state-of-the-art RISC-V Vector Extension (RVV). This assessment revealed an average instruction reduction of 75% relative to RVV.
Para fazer face às limitações das atuais extensões vetoriais escaláveis, uma nova extensão para RISC-V foi criada: Unlimited Vector Extension (UVE). Esta é uma nova extensão do Instruction Set Architecture (ISA) que visa reduzir o impacto do controlo de fluxo e indexação, diminuindo a latência média de acesso à memória. Isto é conseguido através do processamento de instrução única em múltiplos dados (SIMD, em inglês) e do paradigma emergente de computação em fluxo de dados (data streaming, no original). Este tipo de processamento vetorial é ideal para aplicações com elevado volume de dados, como Aprendizagem Computacional, cada vez mais populares em dispositivos embebidos e de baixo consumo. Por outro lado, o fluxo de dados permite que os padrões de acesso à memória sejam descritos ao nível do software e alimentados a um co-processador dedicado, que carrega os dados em segundo plano, desassociando os acessos à memória da computação. Uma primeira implementação de prova de conceito desta extensão foi efetuada num modelo de processador fora de ordem, baseado no ARM Cortex-A76, no simulador gem5. Em comparação com uma extensão estabelecida no estado-da-arte, Scalable Vector Extension (SVE), os resultados mostraram que a solução proposta alcança aumentos de desempenho entre 2x e 4x. Desde a proposta inicial do UVE, foram identificadas algumas falhas e limitações, tais como a falta de suporte para mais áreas de aplicação, como a Álgebra Linear Esparsa, que se caracteriza por acessos dispersos à memória. Além disso, havia a necessidade de um ambiente de simulação melhorado, uma vez que a implementação do gem5 foi entretanto descontinuada. Este trabalho apresenta uma nova estrutura de desenvolvimento e validação funcional para a extensão, baseada no simulador Spike, o simulador funcional de referência para RISC-V. Este simulador foi modificado e alargado para suportar fluxo de dados e mais de 150 novas instruções. Paralelamente, a especificação da extensão foi revista e atualizada para suportar uma maior complexidade de padrões de acesso à memória e abranger novas áreas de aplicação. O novo ambiente de simulação foi utilizado para efetuar uma validação funcional da extensão e uma comparação com a extensão vetorial do RISC-V, RISC-V Vector Extension (RVV). Esta avaliação revelou uma redução média do número de instruções no valor de 75% em relação ao RVV.
Description: Dissertação de Mestrado em Engenharia Eletrotécnica e de Computadores apresentada à Faculdade de Ciências e Tecnologia
URI: https://hdl.handle.net/10316/115648
Rights: openAccess
Appears in Collections:UC - Dissertações de Mestrado

Files in This Item:
File SizeFormat
AnaFernandes_2024_UVE.pdf3.8 MBAdobe PDFView/Open
Show full item record

Google ScholarTM

Check


This item is licensed under a Creative Commons License Creative Commons