Skip to content

Commit

Permalink
update the proposal to v0.6.0
Browse files Browse the repository at this point in the history
  • Loading branch information
kangl committed Dec 11, 2024
1 parent e1a8f33 commit db17dce
Show file tree
Hide file tree
Showing 27 changed files with 75 additions and 1,480 deletions.
23 changes: 10 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,16 @@
# RISC-V Matrix Extension Specification

## Introduction
This is a matrix extension proposal for AI applications under RISC-V architecture. The extension has the following features.

* Scalability
- Register size can be scaled from 64 bytes to 2048 bytes
- Peak performance of the extension varies from 0.125 Tops/Ghz to 32 Tops/Ghz
- Binary portability
* Multiple data types
- Support int4/int8/int16/fp16/bf16/fp32
* Independence
- Strongly inspired by the RISC-V Vector extension
- Decoupled architecture from Vector extension
* Extensibility for future
- Support extensions for fp8/fp4 and other future extensions
This is a matrix extension proposal for AI applications under RISC-V architecture. The extension is currently at version 0.6.0. Compared to the last version, there are following updates:

* Separated source and accumulation registers
- The source and accumulation registers are separated to tile register and accumulation register, supporting source and destination registers of different sizes;
* More flexible register shape
- The number of rows and columns in the matrix registers is adjustable, no longer limited to rows = RLEN/32. By adjusting the number of rows and columns, different sizes of matrix multiplication can be formed, achieving full coverage from pure outer products to pure inner products;
* More Element-wise instruction
- New element-wise instructions have been added to facilitate operator fusion;



The extension is still under construction, and this is a preview demo project.
Some key directories are shown below.
Expand Down
75 changes: 60 additions & 15 deletions spec/Makefile
Original file line number Diff line number Diff line change
@@ -1,20 +1,65 @@
SPEC_SOURCE := spec_header.adoc
SPEC_RESULT := RISC-V-Matrix-Extension-spec.pdf
# Makefile for RISC-V Doc Template
#
# This work is licensed under the Creative Commons Attribution-ShareAlike 4.0
# International License. To view a copy of this license, visit
# http://creativecommons.org/licenses/by-sa/4.0/ or send a letter to
# Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
#
# SPDX-License-Identifier: CC-BY-SA-4.0
#
# Description:
#
# This Makefile is designed to automate the process of building and packaging
# the Doc Template for RISC-V Extensions.

all: build_spec
DATE ?= $(shell date +%Y-%m-%d)
VERSION ?= v0.6.0
REVMARK ?= Draft
DOCKER_RUN := docker run --rm -v ${PWD}:/build -w /build \
riscvintl/riscv-docs-base-container-image:latest

build_spec:
HEADER_SOURCE := header.adoc
PDF_RESULT := riscv_matrix_extension_proposal.pdf

@echo "Building specification"
asciidoctor-pdf \
--attribute=mathematical-format=svg \
--attribute=pdf-fontsdir=docs-resources/fonts \
--attribute=pdf-style=docs-resources/themes/riscv-pdf.yml \
--failure-level=ERROR \
--require=asciidoctor-bibtex \
--require=asciidoctor-diagram \
--out-file=$(SPEC_RESULT) \
$(SPEC_SOURCE)
ASCIIDOCTOR_PDF := asciidoctor-pdf
OPTIONS := --trace \
-a compress \
-a mathematical-format=svg \
-a revnumber=${VERSION} \
-a revremark=${REVMARK} \
-a revdate=${DATE} \
-a pdf-fontsdir=docs-resources/fonts \
-a pdf-theme=riscv-matrix.yml \
--failure-level=ERROR
REQUIRES := --require=asciidoctor-bibtex \
--require=asciidoctor-diagram \
--require=asciidoctor-mathematical

.PHONY: all build clean build-container build-no-container

all: build

build:
@echo "Checking if Docker is available..."
@if command -v docker >/dev/null 2>&1 ; then \
echo "Docker is available, building inside Docker container..."; \
$(MAKE) build-container; \
else \
echo "Docker is not available, building without Docker..."; \
$(MAKE) build-no-container; \
fi

build-container:
@echo "Starting build inside Docker container..."
$(DOCKER_RUN) /bin/sh -c "$(ASCIIDOCTOR_PDF) $(OPTIONS) $(REQUIRES) --out-file=$(PDF_RESULT) $(HEADER_SOURCE)"
@echo "Build completed successfully inside Docker container."

build-no-container:
@echo "Starting build..."
$(ASCIIDOCTOR_PDF) $(OPTIONS) $(REQUIRES) --out-file=$(PDF_RESULT) $(HEADER_SOURCE)
@echo "Build completed successfully."

clean:
rm $(SPEC_RESULT)
@echo "Cleaning up generated files..."
rm -f $(PDF_RESULT)
@echo "Cleanup completed."
6 changes: 5 additions & 1 deletion spec/contributors.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,11 @@

This RISC-V specification proposal has been contributed to directly or indirectly by:

[%hardbreaks]

ZhaoJiang, WenmengZhang, WenganShao, ZhiweiLiu, XianmiaoQu, JingQiu, MingxinZhao, YunhaiShang, XiaoyanXiang, ChenChen

Others are welcome to help improve the specification.
[%hardbreaks]


We will be very grateful to the huge number of other people who will have helped to improve this specification through their comments, reviews, feedback and questions.
Binary file removed spec/images/CVT_P1.png
Binary file not shown.
Binary file removed spec/images/CVT_P2.png
Binary file not shown.
Binary file removed spec/images/FCSR.png
Binary file not shown.
Binary file removed spec/images/FI_CVT_P1.png
Binary file not shown.
Binary file removed spec/images/FI_CVT_P2.png
Binary file not shown.
Binary file removed spec/images/FM_e1.jpeg
Binary file not shown.
Binary file removed spec/images/FM_e2.jpeg
Binary file not shown.
Binary file removed spec/images/FM_e3.jpeg
Binary file not shown.
Binary file removed spec/images/IF_CVT_P1.png
Binary file not shown.
Binary file removed spec/images/IF_CVT_P2.png
Binary file not shown.
Binary file removed spec/images/MLEN_diff_msew.jpeg
Binary file not shown.
Binary file removed spec/images/MLS.jpeg
Binary file not shown.
Binary file removed spec/images/MREG_diff_MLEN.jpeg
Binary file not shown.
Binary file removed spec/images/TAIL_e1.jpeg
Binary file not shown.
Binary file removed spec/images/TAIL_e2.jpeg
Binary file not shown.
1 change: 0 additions & 1 deletion spec/index.adoc

This file was deleted.

Loading

0 comments on commit db17dce

Please sign in to comment.