From e342cd77968308ad96d9bc0366e7bebc78e279b5 Mon Sep 17 00:00:00 2001 From: Luke Kenneth Casson Leighton Date: Sun, 13 Jun 2021 13:44:09 +0100 Subject: [PATCH] add start of ics2021 svp64 talk --- conferences/ics2021/ics2021_svp64.tex | 204 ++++++++++++++++++++++++++ 1 file changed, 204 insertions(+) create mode 100644 conferences/ics2021/ics2021_svp64.tex diff --git a/conferences/ics2021/ics2021_svp64.tex b/conferences/ics2021/ics2021_svp64.tex new file mode 100644 index 000000000..f9a170f23 --- /dev/null +++ b/conferences/ics2021/ics2021_svp64.tex @@ -0,0 +1,204 @@ +\documentclass[slidestop]{beamer} +\usepackage{beamerthemesplit} +\usepackage{graphics} +\usepackage{pstricks} + +\graphicspath{{./}} + +\title{The Libre-SOC Hybrid 3D CPU} +\author{Luke Kenneth Casson Leighton} + + +\begin{document} + +\frame{ + \begin{center} + \huge{Libre-SOC SVP64 Vector Processing}\\ + \vspace{32pt} + \Large{Augmenting the OpenPOWER ISA}\\ + \Large{to provide 3D and Video instructions}\\ + \Large{and add Cray-style Vector Extensions}\\ + \vspace{24pt} + \Large{ICS2021}\\ + \vspace{16pt} + \large{Sponsored by NLnet's PET Programme}\\ + \vspace{6pt} + \large{June 14, 2021} + \end{center} +} + + +\frame{\frametitle{OpenPOWER today} + +\begin{center} + \begin{itemize} + \item Open ISA: EULA v3.0B announced August 2019\vspace{6pt} + \item Compliancy subsets: mandatory and optional features + \vspace{6pt} + \item Compliance provides royalty-free IBM Patent grant\vspace{6pt} + \item Custom extensions permitted (see v3.0C): recommends "common-usage" + ones be submitted as RFCs to OpenPOWER ISA WG + \vspace{6pt} + \item On this basis we have the freedom and are encouraged to create + Cray-style Vectorisation Extensions + \vspace{6pt} + \item VSX will not be part of that: it is fixed-width SIMD.\\ + https://tinyurl.com/simd-considered-harmful\\ + https://en.wikipedia.org/wiki/Vector\_processor + \vspace{6pt} + \end{itemize} +\end{center} + +} + + +\frame{\frametitle{Why OpenPOWER?} + +\vspace{10pt} + + \begin{itemize} + \item Good ecosystem essential\\ + linux kernel, u-boot, compilers, OSes,\\ + Reference Implementation(s)\vspace{10pt} + \item Supportive Foundation and Members\\ + need to be able to submit ISA augmentations\\ + (for proper peer review)\vspace{10pt} + \item No NDAs, full transparency must be acceptable\\ + due to being funded under NLnet's PET Programme\vspace{10pt} + \item OpenPOWER: established for decades, excellent Foundation,\\ + Microwatt as Reference, approachable and friendly. + \end{itemize} +} + + +\frame{\frametitle{What's different about SVP64?} + + \begin{itemize} + \item SVP64 is similar to Intel x86 "REP" instruction\\ + "please repeat the following instruction N times"\\ + (but add some extra "stuff" in the process) + \vspace{9pt} + \item Unlike "REP" there is additional "Vector context":\\ + Predication, Twin-predication, Element-width Overrides, + Map-reduce, Iteration, Saturation and more. + \vspace{9pt} + \item None of this requires extra instructions!\\ + (except setvl and the "REP"-like prefix)\\ + \vspace{6pt} + \item "SIMD Considered Harmful" principle applies equally + to RISC-V Vectors (190+ instructions on top of RV64GC's 80)\\ + \em{RVV more than doubles the number of RISC-V instructions}. + \end{itemize} +} + + + +\begin{frame}[fragile] +\frametitle{Simple-V ADD in a nutshell} + +\begin{semiverbatim} +function op\_add(rd, rs1, rs2, predr) # add not VADD! +  int i, id=0, irs1=0, irs2=0; +  for (i = 0; i < VL; i++) +   if (ireg[predr] & 1<