From ebfb1ab346d5a1addc1221edc1d1c7f1a6380df6 Mon Sep 17 00:00:00 2001 From: Jeremy L Thompson Date: Mon, 4 Aug 2025 11:42:48 -0600 Subject: [PATCH] doc - list HONEE in libCEED backends svg --- doc/img/libCEEDBackends.svg | 2988 +++++++++++++---------------------- doc/img/libCEEDBackends.tex | 192 +++ 2 files changed, 1319 insertions(+), 1861 deletions(-) create mode 100644 doc/img/libCEEDBackends.tex diff --git a/doc/img/libCEEDBackends.svg b/doc/img/libCEEDBackends.svg index cff3b2527a..d8e96bb13b 100644 --- a/doc/img/libCEEDBackends.svg +++ b/doc/img/libCEEDBackends.svg @@ -1,1862 +1,1128 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/img/libCEEDBackends.tex b/doc/img/libCEEDBackends.tex new file mode 100644 index 0000000000..a1b9d28652 --- /dev/null +++ b/doc/img/libCEEDBackends.tex @@ -0,0 +1,192 @@ +\documentclass[tikz]{standalone} +\usepackage{tikz} +\usepackage{pgfplots} +\usepackage{pgfmath} +\usepackage{libertine} +\usetikzlibrary{calc} + +\renewcommand{\familydefault}{\sfdefault} + +\definecolor{ceed@blue}{RGB}{100,150,230} +\definecolor{ceed@green}{RGB}{75,200,75} +\definecolor{ceed@red}{RGB}{200,75,75} +\definecolor{ceed@orange}{RGB}{252,186,3} + +\pgfplotsset{compat=1.18} + +\begin{document} + +\begin{tikzpicture} + +\begin{scope}[shift={(0,-0.6)}] + \node at (1.0,6.1) {\large Application}; + + % PETSc + \draw[ + top color=ceed@red!10!white, + bottom color=ceed@red!40!white, + ceed@red!60!black, + ] (0.0,3.0) rectangle ++(1.6,0.8) + node[pos=.5,align=center,color=black] {PETSc}; + \draw[-stealth, line width=0.5pt] (1.6, 3.0+0.4) -- ++(1.6,-1.2-0.4); + + % Ratel + \draw[ + top color=ceed@red!10!white, + bottom color=ceed@red!40!white, + ceed@red!60!black, + ] (0.0,1.8) rectangle ++(1.6,0.8) + node[pos=.5,align=center,color=black] {Ratel}; + \draw[-stealth, line width=0.5pt] (1.6, 1.8+0.4) -- ++(1.6,0.0-0.55); + + % HONEE + \draw[ + top color=ceed@red!10!white, + bottom color=ceed@red!40!white, + ceed@red!60!black, + ] (0.0,0.6) rectangle ++(1.6,0.8) + node[pos=.5,align=center,color=black] {HONEE}; + \draw[-stealth, line width=0.5pt] (1.6, 0.6+0.4) -- ++(1.6,1.2-0.65); + + % MFEM + \draw[ + top color=ceed@red!10!white, + bottom color=ceed@red!40!white, + ceed@red!60!black, + ] (0.0,-0.6) rectangle ++(1.6,0.8) + node[pos=.5,align=center,color=black] {MFEM}; + \draw[-stealth, line width=0.5pt] (1.6, -0.6+0.4) -- ++(1.6,2.4-0.8); +\end{scope} + +\begin{scope}[shift={(3.2,0)}] + \begin{scope}[shift={(0,-0.6)}] + \node at (0.8,6.1) {\large Library}; + \draw[ + top color=ceed@blue!10!white, + bottom color=ceed@blue!40!white, + ceed@blue!60!black, + ] (0.0,1.2) rectangle ++(1.6,0.8) + node[pos=.5,align=center,color=black] {libCEED}; + + \draw[-stealth, line width=0.5pt] (1.6, 1.6) -- ++(1.6,3.6); + \draw[-stealth, line width=0.5pt] (1.6, 1.6) -- ++(1.6,2.4); + \draw[-stealth, line width=0.5pt] (1.6, 1.6) -- ++(1.6,1.2); + \draw[-stealth, line width=0.5pt] (1.6, 1.6) -- ++(1.6,0.0); + \draw[-stealth, line width=0.5pt] (1.6, 1.6) -- ++(1.6,-1.2); + \draw[-stealth, line width=0.5pt] (1.6, 1.6) -- ++(1.6,-2.4); + \draw[-stealth, line width=0.5pt] (1.6, 1.6) -- ++(1.6,-3.6); + \end{scope} +\end{scope} + +\begin{scope}[shift={(6.4,0)}] + \begin{scope}[shift={(0,-0.6)}] + \node at (0.95,6.1) {\large Backends}; + + % C + \draw[ + top color=black!5!white, + bottom color=black!20!white, + black!80!white, + ] (0.0,4.8) rectangle ++(2.0,0.8) + node[pos=.5,align=center,color=black] {Pure C}; + \draw[-stealth, line width=0.5pt] (2.0, 5.2) -- ++(1.2,-1.2+0.15); + + % AVX + \draw[ + top color=black!5!white, + bottom color=black!20!white, + black!80!white, + ] (0.0,3.6) rectangle ++(2.0,0.8) + node[pos=.5,align=center,color=black] {AVX}; + \draw[-stealth, line width=0.5pt] (2.0, 4.0) -- ++(1.2,+0.0+0.025); + + % LIBXSMM + \draw[ + top color=black!5!white, + bottom color=black!20!white, + black!80!white, + ] (0.0,2.4) rectangle ++(2.0,0.8) + node[pos=.5,align=center,color=black] {LIBXSMM}; + \draw[-stealth, line width=0.5pt] (2.0, 2.8) -- ++(1.2,1.1-0.025); + + % CUDA + \draw[ + top color=black!5!white, + bottom color=black!20!white, + black!80!white, + ] (0.0,1.2) rectangle ++(2.0,0.8) + node[pos=.5,align=center,color=black] {CUDA}; + \draw[-stealth, line width=0.5pt] (2.0, 1.6) -- ++(1.2,0.0+0.025); + + % HIP + \draw[ + top color=black!5!white, + bottom color=black!20!white, + black!80!white, + ] (0.0,0.0) rectangle ++(2.0,0.8) + node[pos=.5,align=center,color=black] {HIP}; + \draw[-stealth, line width=0.5pt] (2.0, 0.4) -- ++(1.2,0.0+0.025); + + % SYCL + \draw[ + top color=black!5!white, + bottom color=black!20!white, + black!80!white, + ] (0.0,-1.2) rectangle ++(2.0,0.8) + node[pos=.5,align=center,color=black] {SYCL}; + \draw[-stealth, line width=0.5pt] (2.0, -0.8) -- ++(1.2,0.0+0.025); + + % MAGMA + \draw[ + top color=black!5!white, + bottom color=black!20!white, + black!80!white, + ] (0.0,-2.4) rectangle ++(2.0,0.8) + node[pos=.5,align=center,color=black] {MAGMA}; + \draw[-stealth, line width=0.5pt] (2.0, -2.0) -- ++(1.2,3.7-0.15); + \draw[-stealth, line width=0.5pt] (2.0, -2.0) -- ++(1.2,2.5-0.15); + + \end{scope} +\end{scope} + +\begin{scope}[shift={(9.6,0)}] + \begin{scope}[shift={(0,-0.6)}] + \node at (1.1,6.1) {\large Hardware}; + + % CPU + \draw[ + top color=ceed@green!20!white, + bottom color=ceed@green!60!white, + ceed@green!60!black, + ] (0.0,3.6) rectangle ++(2.2,0.8) + node[pos=.5,align=center,color=black] {CPU}; + + % CUDA GPU + \draw[ + top color=ceed@green!20!white, + bottom color=ceed@green!60!white, + ceed@green!60!black, + ] (0.0,1.2) rectangle ++(2.2,0.8) + node[pos=.5,align=center,color=black] {NVIDIA GPU}; + + % ROCm GPU + \draw[ + top color=ceed@green!20!white, + bottom color=ceed@green!60!white, + ceed@green!60!black, + ] (0.0,-0.0) rectangle ++(2.2,0.8) + node[pos=.5,align=center,color=black] {AMD GPU}; + + % Intel GPU + \draw[ + top color=ceed@green!20!white, + bottom color=ceed@green!60!white, + ceed@green!60!black, + ] (0.0,-1.2) rectangle ++(2.2,0.8) + node[pos=.5,align=center,color=black] {Intel GPU}; + + \end{scope} +\end{scope} + +\end{tikzpicture} +\end{document}