Skip to content

Commit 01942de

Browse files
committed
Fine-tune colors and order
1 parent 00c4b01 commit 01942de

8 files changed

+66
-66
lines changed

_gen-symbols/_input_compat.tex

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
\colorlet{ok}{fzjgreen}
44
\colorlet{prime}{fzjgreen!70!black}
5-
\colorlet{prettyok}{fzjgreen!60!fzjorange}
6-
\colorlet{nonvendorok}{fzjorange!90!black}
7-
\colorlet{indirectok}{fzjorange!90!white}
5+
\colorlet{indirectok}{fzjgreen!60!fzjorange}
6+
\colorlet{nonvendorok}{fzjgreen!80!white}
7+
\colorlet{prettyok}{fzjorange!90!white}
88
\colorlet{somesupport}{fzjorange!50!fzjred}
99
\colorlet{nope}{fzjred}
1010
\tikzset{prime/.style={}}

compat.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@ states:
22
fullok:
33
symbol: '<svg height="11.92" overflow="visible" version="1.1" width="11.92"><g transform="translate(0,11.92) matrix(1 0 0 -1 0 0) translate(5.96,0) translate(0,5.96)" fill="#B9D25F" stroke="#000000" stroke-width="0.4pt" color="#000000"><path d="M 0 0 M 5.96 0 C 5.96 3.29 3.29 5.96 0 5.96 C -3.29 5.96 -5.96 3.29 -5.96 0 C -5.96 -3.29 -3.29 -5.96 0 -5.96 C 3.29 -5.96 5.96 -3.29 5.96 0 Z M 0 0" style="stroke:none"></path></g></svg>'
44
description: Full vendor support
5-
prettyok:
6-
symbol: '<svg height="12.64" overflow="visible" version="1.1" width="12.64"><g transform="translate(0,12.64) matrix(1 0 0 -1 0 0) translate(6.32,0) translate(0,6.32)" fill="#D3C65D" stroke="#000000" stroke-width="0.4pt" color="#000000"><path d="M 6.32 6.32 L -6.32 6.32 L -6.32 -6.32 L 6.32 -6.32 Z" style="stroke:none"></path></g></svg>'
7-
description: Vendor support, but not (yet) entirely comprehensive
85
indirectok:
9-
symbol: '<svg height="7.92" overflow="visible" version="1.1" width="15.85"><g transform="translate(0,7.92) matrix(1 0 0 -1 0 0) translate(7.92,0) translate(0,4.75)" fill="#FBBC6A" stroke="#000000" stroke-width="0.4pt" color="#000000"><path d="M -7.92 3.17 C -7.92 -1.21 -4.38 -4.75 0 -4.75 C 4.38 -4.75 7.92 -1.21 7.92 3.17 Z" style="stroke:none"></path></g></svg>'
6+
symbol: '<svg height="7.92" overflow="visible" version="1.1" width="15.85"><g transform="translate(0,7.92) matrix(1 0 0 -1 0 0) translate(7.92,0) translate(0,4.75)" fill="#D3C65D" stroke="#000000" stroke-width="0.4pt" color="#000000"><path d="M -7.92 3.17 C -7.92 -1.21 -4.38 -4.75 0 -4.75 C 4.38 -4.75 7.92 -1.21 7.92 3.17 Z" style="stroke:none"></path></g></svg>'
107
description: Indirect, but comprehensive support, by vendor
8+
prettyok:
9+
symbol: '<svg height="12.64" overflow="visible" version="1.1" width="12.64"><g transform="translate(0,12.64) matrix(1 0 0 -1 0 0) translate(6.32,0) translate(0,6.32)" fill="#FBBC6A" stroke="#000000" stroke-width="0.4pt" color="#000000"><path d="M 6.32 6.32 L -6.32 6.32 L -6.32 -6.32 L 6.32 -6.32 Z" style="stroke:none"></path></g></svg>'
10+
description: Vendor support, but not (yet) entirely comprehensive
1111
nonvendorok:
12-
symbol: '<svg height="13.4" overflow="visible" version="1.1" width="15.48"><g transform="translate(0,13.4) matrix(1 0 0 -1 0 0) translate(7.74,0) translate(0,4.47)" fill="#E1A251" stroke="#000000" stroke-width="0.4pt" color="#000000"><path d="M 0 8.94 L -7.74 -4.47 L 7.74 -4.47 Z" style="stroke:none"></path></g></svg>'
12+
symbol: '<svg height="13.4" overflow="visible" version="1.1" width="15.48"><g transform="translate(0,13.4) matrix(1 0 0 -1 0 0) translate(7.74,0) translate(0,4.47)" fill="#C7DB7F" stroke="#000000" stroke-width="0.4pt" color="#000000"><path d="M 0 8.94 L -7.74 -4.47 L 7.74 -4.47 Z" style="stroke:none"></path></g></svg>'
1313
description: Comprehensive support, but not by vendor
1414
somesupport:
1515
symbol: '<svg height="16.17" overflow="visible" version="1.1" width="17"><g transform="translate(0,16.17) matrix(1 0 0 -1 0 0) translate(8.5,0) translate(0,7.23)" fill="#F38966" stroke="#000000" stroke-width="0.4pt" color="#000000"><path d="M 0 8.94 L -2.45 3.37 L -8.5 2.76 L -3.97 -1.29 L -5.25 -7.23 L 0 -4.17 L 5.25 -7.23 L 3.97 -1.29 L 8.5 2.76 L 2.45 3.37 Z" style="stroke:none"></path></g></svg>'

gpu-vendor-model-matrix.html

Lines changed: 25 additions & 25 deletions
Large diffs are not rendered by default.

gpu-vendor-model-matrix.pdf

49 Bytes
Binary file not shown.

gpu-vendor-model-matrix.svg

Lines changed: 1 addition & 1 deletion
Loading

gpu-vendor-model-matrix.table.html

Lines changed: 25 additions & 25 deletions
Large diffs are not rendered by default.

gpu-vendor-model-matrix.table.tex

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
\begin{description}[Fortran]
66
\ifdefined\tightlist\tightlist\fi%
77
\item[\fullok] Full vendor support
8-
\item[\prettyok] Vendor support, but not (yet) entirely comprehensive
98
\item[\indirectok] Indirect, but comprehensive support, by vendor
9+
\item[\prettyok] Vendor support, but not (yet) entirely comprehensive
1010
\item[\nonvendorok] Comprehensive support, but not by vendor
1111
\item[\somesupport] Limited, probably indirect support -- but at least some
1212
\item[\nope] No direct support available, but of course one could ISO-C-bind your way through it or directly link the libraries
@@ -64,7 +64,7 @@
6464
\item \ref{nvidiastandardfortran}: Standard Language parallel features supported on NVIDIA GPUs through NVIDIA HPC SDK
6565
\item \ref{nvidiakokkosc}: \href{https://github.com/kokkos/kokkos}{Kokkos} supports NVIDIA GPUs by calling CUDA as part of the compilation process
6666
\item \ref{nvidiakokkosfortran}: Kokkos is a C++ model, but an official compatibility layer (\href{https://github.com/kokkos/kokkos-fortran-interop}{\emph{Fortran Language Compatibility Layer}, FLCL}) is available.
67-
\item \ref{nvidiaalpakac}: \href{https://github.com/alpaka-group/alpaka}{Alpaka} supports NVIDIA GPUs by calling CUDA as part of the compilation process
67+
\item \ref{nvidiaalpakac}: \href{https://github.com/alpaka-group/alpaka}{Alpaka} supports NVIDIA GPUs by calling CUDA as part of the compilation process; also, an OpenMP backend can be used
6868
\item \ref{nvidiaalpakafortran}: Alpaka is a C++ model
6969
\item \ref{nvidiapython}: There is a vast community of offloading Python code to NVIDIA GPUs, like \href{https://cupy.dev/}{CuPy}, \href{https://numba.pydata.org/}{Numba}, \href{https://developer.nvidia.com/cunumeric}{cuNumeric}, and many others; NVIDIA actively supports a lot of them, but has no direct product like \emph{CUDA for Python}; so, the status is somewhere in between
7070
\item \ref{amdcudac}: \href{https://github.com/ROCm-Developer-Tools/HIPIFY}{hipify} by AMD can translate CUDA calls to HIP calls which runs natively on AMD GPUs
@@ -76,7 +76,7 @@
7676
\item \ref{amdopenmp}: AMD offers a dedicated, Clang-based compiler for using OpenMP on AMD GPUs: \href{https://github.com/ROCm-Developer-Tools/aomp}{AOMP}; it supports both C/C++ (Clang) and Fortran (Flang, \href{https://github.com/ROCm-Developer-Tools/aomp/tree/aomp-dev/examples/fortran/simple_offload}{example})
7777
\item \ref{amdstandard}: Currently, no (known) way to launch Standard-based parallel algorithms on AMD GPUs
7878
\item \ref{amdkokkosc}: Kokkos supports AMD GPUs through HIP
79-
\item \ref{amdalpakac}: Alpaka supports AMD GPUs through HIP
79+
\item \ref{amdalpakac}: Alpaka supports AMD GPUs through HIP or through an OpenMP backend
8080
\item \ref{amdpython}: AMD does not officially support GPU programming with Python (also not semi-officially like NVIDIA), but third-party support is available, for example through \href{https://numba.pydata.org/numba-doc/latest/roc/index.html}{Numba} (currently inactive) or a \href{https://docs.cupy.dev/en/latest/install.html?highlight=rocm\#building-cupy-for-rocm-from-source}{HIP version of CuPy}
8181
\item \ref{intelcudac}: \href{https://github.com/oneapi-src/SYCLomatic}{SYCLomatic} translates CUDA code to SYCL code, allowing it to run on Intel GPUs; also, Intel\textquotesingle s \href{https://www.intel.com/content/www/us/en/developer/tools/oneapi/dpc-compatibility-tool.html}{DPC++ Compatibility Tool} can transform CUDA to SYCL
8282
\item \ref{intelcudafortran}: No direct support, only via ISO C bindings, but at least an example can be \href{https://github.com/codeplaysoftware/SYCL-For-CUDA-Examples/tree/master/examples/fortran_interface}{found on GitHub}; it\textquotesingle s pretty scarce and not by Intel itself, though
@@ -88,7 +88,7 @@
8888
\item \ref{prettyok}: Intel supports pSTL algorithms through their \href{https://www.intel.com/content/www/us/en/developer/tools/oneapi/dpc-library.html\#gs.fifrh5}{DPC++ Library} (oneDPL; \href{https://github.com/oneapi-src/oneDPL}{GitHub}). It\textquotesingle s heavily namespaced and not yet on the same level as NVIDIA
8989
\item \ref{intelstandardfortran}: With \href{https://www.intel.com/content/www/us/en/developer/articles/release-notes/fortran-compiler-release-notes.html}{Intel oneAPI 2022.3}, Intel supports DO CONCURRENT with GPU offloading
9090
\item \ref{intelkokkosc}: Kokkos supports Intel GPUs through SYCL
91-
\item \ref{intelalpakac}: \href{https://github.com/alpaka-group/alpaka/releases/tag/0.9.0}{Alpaka v0.9.0} introduces experimental SYCL support
91+
\item \ref{intelalpakac}: \href{https://github.com/alpaka-group/alpaka/releases/tag/0.9.0}{Alpaka v0.9.0} introduces experimental SYCL support; also, Alpaka can use OpenMP backends
9292
\item \ref{intelpython}: Not a lot of support available at the moment, but notably \href{https://intelpython.github.io/dpnp/}{DPNP}, a SYCL-based drop-in replacement for Numpy, and \href{https://github.com/IntelPython/numba-dpex}{numba-dpex}, an extension of Numba for DPC++.
9393
\end{itemize}
9494
\end{frame}

gpu-vendor-model-matrix.tex

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,9 @@
7979

8080
\colorlet{ok}{fzjgreen}
8181
\colorlet{prime}{fzjgreen!70!black}
82-
\colorlet{prettyok}{fzjgreen!60!fzjorange}
83-
\colorlet{nonvendorok}{fzjorange!90!black}
84-
\colorlet{indirectok}{fzjorange!90!white}
82+
\colorlet{indirectok}{fzjgreen!60!fzjorange}
83+
\colorlet{nonvendorok}{fzjgreen!80!white}
84+
\colorlet{prettyok}{fzjorange!90!white}
8585
\colorlet{somesupport}{fzjorange!50!fzjred}
8686
\colorlet{nope}{fzjred}
8787
\newcommand{\C}{C++}

0 commit comments

Comments
 (0)