Skip to content

Commit fd0f56b

Browse files
committed
Fix Intel pSTL bug
1 parent b3387f0 commit fd0f56b

File tree

6 files changed

+9
-9
lines changed

6 files changed

+9
-9
lines changed

compat.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ vendors:
148148
intelopenmp: fullok
149149
Standard:
150150
C:
151-
prettyok: nope
151+
intelstandardc: prettyok
152152
F:
153153
intelstandardfortran: prettyok
154154
Kokkos:
@@ -203,7 +203,7 @@ descriptions:
203203
intelsyclc: "<a href='https://www.khronos.org/sycl/'>SYCL</a> is the prime programming model for Intel GPUs; actually, SYCL is only a standard, while Intel's implementation of it is called <a href='https://www.intel.com/content/www/us/en/developer/tools/oneapi/data-parallel-c-plus-plus.html'>DPC++</a> (<em>Data Parallel C++</em>), which extends the SYCL standard in various places; actually actually, Intel namespaces everything <em>oneAPI</em> these days, so the <em>full</em> proper name is Intel oneAPI DPC++ (which incorporates a C++ compiler and also a library)"
204204
intelopenacc: "OpenACC can be used on Intel GPUs by translating the code to OpenMP with <a href='https://github.com/intel/intel-application-migration-tool-for-openacc-to-openmp'>Intel's Source-to-Source translator</a>"
205205
intelopenmp: "Intel has <a href='https://www.intel.com/content/www/us/en/develop/documentation/get-started-with-cpp-fortran-compiler-openmp/top.html'>extensive support for OpenMP</a> through their latest compilers"
206-
prettyok: "Intel supports pSTL algorithms through their <a href='https://www.intel.com/content/www/us/en/developer/tools/oneapi/dpc-library.html#gs.fifrh5'>DPC++ Library</a> (oneDPL; <a href='https://github.com/oneapi-src/oneDPL'>GitHub</a>). It's heavily namespaced and not yet on the same level as NVIDIA"
206+
intelstandardc: "Intel supports pSTL algorithms through their <a href='https://www.intel.com/content/www/us/en/developer/tools/oneapi/dpc-library.html#gs.fifrh5'>DPC++ Library</a> (oneDPL; <a href='https://github.com/oneapi-src/oneDPL'>GitHub</a>). It's heavily namespaced and not yet on the same level as NVIDIA"
207207
intelstandardfortran: "With <a href='https://www.intel.com/content/www/us/en/developer/articles/release-notes/fortran-compiler-release-notes.html'>Intel oneAPI 2022.3</a>, Intel supports DO CONCURRENT with GPU offloading"
208208
intelkokkosc: "Kokkos supports Intel GPUs through SYCL"
209209
intelalpakac: "<a href='https://github.com/alpaka-group/alpaka/releases/tag/0.9.0'>Alpaka v0.9.0</a> introduces experimental SYCL support; also, Alpaka can use OpenMP backends"

gpu-vendor-model-matrix.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@
164164
<td class="status">
165165
<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="#85924E" 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><sup class="footnote" title="Intel has extensive support for OpenMP through their latest compilers"><a href="#desc-intelopenmp">35</a></sup></td>
166166
<td class="status">
167-
<svg height="9.45" overflow="visible" version="1.1" width="9.45"><g transform="translate(0,9.45) matrix(1 0 0 -1 0 0) translate(0.55,0) translate(0,0.55)" fill="#000000" stroke="#EB5F73" stroke-width="0.8pt" color="#000000"><path d="M 0 0 L 8.34 8.34" style="fill:none"></path></g></svg><sup class="footnote" title="Intel supports pSTL algorithms through their DPC++ Library (oneDPL; GitHub). It's heavily namespaced and not yet on the same level as NVIDIA"><a href="#desc-prettyok">36</a></sup></td>
167+
<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><sup class="footnote" title="Intel supports pSTL algorithms through their DPC++ Library (oneDPL; GitHub). It's heavily namespaced and not yet on the same level as NVIDIA"><a href="#desc-intelstandardc">36</a></sup></td>
168168
<td class="status">
169169
<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><sup class="footnote" title="With Intel oneAPI 2022.3, Intel supports DO CONCURRENT with GPU offloading"><a href="#desc-intelstandardfortran">37</a></sup></td>
170170
<td class="status">
@@ -216,7 +216,7 @@
216216
<li id="desc-intelsyclc"><span class="number">33:</span> <span class="description"><a href='https://www.khronos.org/sycl/'>SYCL</a> is the prime programming model for Intel GPUs; actually, SYCL is only a standard, while Intel's implementation of it is called <a href='https://www.intel.com/content/www/us/en/developer/tools/oneapi/data-parallel-c-plus-plus.html'>DPC++</a> (<em>Data Parallel C++</em>), which extends the SYCL standard in various places; actually actually, Intel namespaces everything <em>oneAPI</em> these days, so the <em>full</em> proper name is Intel oneAPI DPC++ (which incorporates a C++ compiler and also a library)</span><a href="#compat-table" class="back" title="Back to table"></a></li>
217217
<li id="desc-intelopenacc"><span class="number">34:</span> <span class="description">OpenACC can be used on Intel GPUs by translating the code to OpenMP with <a href='https://github.com/intel/intel-application-migration-tool-for-openacc-to-openmp'>Intel's Source-to-Source translator</a></span><a href="#compat-table" class="back" title="Back to table"></a></li>
218218
<li id="desc-intelopenmp"><span class="number">35:</span> <span class="description">Intel has <a href='https://www.intel.com/content/www/us/en/develop/documentation/get-started-with-cpp-fortran-compiler-openmp/top.html'>extensive support for OpenMP</a> through their latest compilers</span><a href="#compat-table" class="back" title="Back to table"></a></li>
219-
<li id="desc-prettyok"><span class="number">36:</span> <span class="description">Intel supports pSTL algorithms through their <a href='https://www.intel.com/content/www/us/en/developer/tools/oneapi/dpc-library.html#gs.fifrh5'>DPC++ Library</a> (oneDPL; <a href='https://github.com/oneapi-src/oneDPL'>GitHub</a>). It's heavily namespaced and not yet on the same level as NVIDIA</span><a href="#compat-table" class="back" title="Back to table"></a></li>
219+
<li id="desc-intelstandardc"><span class="number">36:</span> <span class="description">Intel supports pSTL algorithms through their <a href='https://www.intel.com/content/www/us/en/developer/tools/oneapi/dpc-library.html#gs.fifrh5'>DPC++ Library</a> (oneDPL; <a href='https://github.com/oneapi-src/oneDPL'>GitHub</a>). It's heavily namespaced and not yet on the same level as NVIDIA</span><a href="#compat-table" class="back" title="Back to table"></a></li>
220220
<li id="desc-intelstandardfortran"><span class="number">37:</span> <span class="description">With <a href='https://www.intel.com/content/www/us/en/developer/articles/release-notes/fortran-compiler-release-notes.html'>Intel oneAPI 2022.3</a>, Intel supports DO CONCURRENT with GPU offloading</span><a href="#compat-table" class="back" title="Back to table"></a></li>
221221
<li id="desc-intelkokkosc"><span class="number">38:</span> <span class="description">Kokkos supports Intel GPUs through SYCL</span><a href="#compat-table" class="back" title="Back to table"></a></li>
222222
<li id="desc-intelalpakac"><span class="number">39:</span> <span class="description"><a href='https://github.com/alpaka-group/alpaka/releases/tag/0.9.0'>Alpaka v0.9.0</a> introduces experimental SYCL support; also, Alpaka can use OpenMP backends</span><a href="#compat-table" class="back" title="Back to table"></a></li>

gpu-vendor-model-matrix.pdf

14 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: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@
155155
<td class="status">
156156
<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="#85924E" 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><sup class="footnote" title="Intel has extensive support for OpenMP through their latest compilers"><a href="#desc-intelopenmp">35</a></sup></td>
157157
<td class="status">
158-
<svg height="9.45" overflow="visible" version="1.1" width="9.45"><g transform="translate(0,9.45) matrix(1 0 0 -1 0 0) translate(0.55,0) translate(0,0.55)" fill="#000000" stroke="#EB5F73" stroke-width="0.8pt" color="#000000"><path d="M 0 0 L 8.34 8.34" style="fill:none"></path></g></svg><sup class="footnote" title="Intel supports pSTL algorithms through their DPC++ Library (oneDPL; GitHub). It's heavily namespaced and not yet on the same level as NVIDIA"><a href="#desc-prettyok">36</a></sup></td>
158+
<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><sup class="footnote" title="Intel supports pSTL algorithms through their DPC++ Library (oneDPL; GitHub). It's heavily namespaced and not yet on the same level as NVIDIA"><a href="#desc-intelstandardc">36</a></sup></td>
159159
<td class="status">
160160
<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><sup class="footnote" title="With Intel oneAPI 2022.3, Intel supports DO CONCURRENT with GPU offloading"><a href="#desc-intelstandardfortran">37</a></sup></td>
161161
<td class="status">
@@ -207,7 +207,7 @@
207207
<li id="desc-intelsyclc"><span class="number">33:</span> <span class="description"><a href='https://www.khronos.org/sycl/'>SYCL</a> is the prime programming model for Intel GPUs; actually, SYCL is only a standard, while Intel's implementation of it is called <a href='https://www.intel.com/content/www/us/en/developer/tools/oneapi/data-parallel-c-plus-plus.html'>DPC++</a> (<em>Data Parallel C++</em>), which extends the SYCL standard in various places; actually actually, Intel namespaces everything <em>oneAPI</em> these days, so the <em>full</em> proper name is Intel oneAPI DPC++ (which incorporates a C++ compiler and also a library)</span><a href="#compat-table" class="back" title="Back to table"></a></li>
208208
<li id="desc-intelopenacc"><span class="number">34:</span> <span class="description">OpenACC can be used on Intel GPUs by translating the code to OpenMP with <a href='https://github.com/intel/intel-application-migration-tool-for-openacc-to-openmp'>Intel's Source-to-Source translator</a></span><a href="#compat-table" class="back" title="Back to table"></a></li>
209209
<li id="desc-intelopenmp"><span class="number">35:</span> <span class="description">Intel has <a href='https://www.intel.com/content/www/us/en/develop/documentation/get-started-with-cpp-fortran-compiler-openmp/top.html'>extensive support for OpenMP</a> through their latest compilers</span><a href="#compat-table" class="back" title="Back to table"></a></li>
210-
<li id="desc-prettyok"><span class="number">36:</span> <span class="description">Intel supports pSTL algorithms through their <a href='https://www.intel.com/content/www/us/en/developer/tools/oneapi/dpc-library.html#gs.fifrh5'>DPC++ Library</a> (oneDPL; <a href='https://github.com/oneapi-src/oneDPL'>GitHub</a>). It's heavily namespaced and not yet on the same level as NVIDIA</span><a href="#compat-table" class="back" title="Back to table"></a></li>
210+
<li id="desc-intelstandardc"><span class="number">36:</span> <span class="description">Intel supports pSTL algorithms through their <a href='https://www.intel.com/content/www/us/en/developer/tools/oneapi/dpc-library.html#gs.fifrh5'>DPC++ Library</a> (oneDPL; <a href='https://github.com/oneapi-src/oneDPL'>GitHub</a>). It's heavily namespaced and not yet on the same level as NVIDIA</span><a href="#compat-table" class="back" title="Back to table"></a></li>
211211
<li id="desc-intelstandardfortran"><span class="number">37:</span> <span class="description">With <a href='https://www.intel.com/content/www/us/en/developer/articles/release-notes/fortran-compiler-release-notes.html'>Intel oneAPI 2022.3</a>, Intel supports DO CONCURRENT with GPU offloading</span><a href="#compat-table" class="back" title="Back to table"></a></li>
212212
<li id="desc-intelkokkosc"><span class="number">38:</span> <span class="description">Kokkos supports Intel GPUs through SYCL</span><a href="#compat-table" class="back" title="Back to table"></a></li>
213213
<li id="desc-intelalpakac"><span class="number">39:</span> <span class="description"><a href='https://github.com/alpaka-group/alpaka/releases/tag/0.9.0'>Alpaka v0.9.0</a> introduces experimental SYCL support; also, Alpaka can use OpenMP backends</span><a href="#compat-table" class="back" title="Back to table"></a></li>

gpu-vendor-model-matrix.table.tex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
AMD &
4343
\indirectok\refwithstate{amdcudac} & \somesupport\refwithstate{amdcudafortran} & \fullok\refwithstate{amdhipc} & \nope\refwithstate{nvidiahipfortran} & \indirectok\refwithstate{amdsyclc} & \nope\refwithstate{syclfortran} & \nonvendorok\refwithstate{amdopenaccc} & \nonvendorok\somesupport\refwithstate{amdopenaccfortran} & \fullok\refwithstate{amdopenmp} & \fullok\refwithstate{amdopenmp} & \nope\refwithstate{amdstandard} & \nope\refwithstate{amdstandard} & \nonvendorok\refwithstate{amdkokkosc} & \somesupport\refwithstate{nvidiakokkosfortran} & \nonvendorok\refwithstate{amdalpakac} & \nope\refwithstate{nvidiaalpakafortran} & \somesupport\refwithstate{amdpython} \\
4444
Intel &
45-
\indirectok\refwithstate{intelcudac} & \nope\refwithstate{intelcudafortran} & \somesupport\refwithstate{intelhipc} & \nope\refwithstate{intelhipfortran} & \fullok\refwithstate{intelsyclc} & \nope\refwithstate{syclfortran} & \somesupport\refwithstate{intelopenacc} & \somesupport\refwithstate{intelopenacc} & \fullok\refwithstate{intelopenmp} & \fullok\refwithstate{intelopenmp} & \nope\refwithstate{prettyok} & \prettyok\refwithstate{intelstandardfortran} & \nonvendorok\refwithstate{intelkokkosc} & \somesupport\refwithstate{nvidiakokkosfortran} & \nonvendorok\refwithstate{intelalpakac} & \nope\refwithstate{nvidiaalpakafortran} & \somesupport\refwithstate{intelpython} \\
45+
\indirectok\refwithstate{intelcudac} & \nope\refwithstate{intelcudafortran} & \somesupport\refwithstate{intelhipc} & \nope\refwithstate{intelhipfortran} & \fullok\refwithstate{intelsyclc} & \nope\refwithstate{syclfortran} & \somesupport\refwithstate{intelopenacc} & \somesupport\refwithstate{intelopenacc} & \fullok\refwithstate{intelopenmp} & \fullok\refwithstate{intelopenmp} & \prettyok\refwithstate{intelstandardc} & \prettyok\refwithstate{intelstandardfortran} & \nonvendorok\refwithstate{intelkokkosc} & \somesupport\refwithstate{nvidiakokkosfortran} & \nonvendorok\refwithstate{intelalpakac} & \nope\refwithstate{nvidiaalpakafortran} & \somesupport\refwithstate{intelpython} \\
4646
\end{tabular}
4747
\end{frame}
4848

@@ -85,7 +85,7 @@
8585
\item \ref{intelsyclc}: \href{https://www.khronos.org/sycl/}{SYCL} is the prime programming model for Intel GPUs; actually, SYCL is only a standard, while Intel\textquotesingle s implementation of it is called \href{https://www.intel.com/content/www/us/en/developer/tools/oneapi/data-parallel-c-plus-plus.html}{DPC++} (\emph{Data Parallel C++}), which extends the SYCL standard in various places; actually actually, Intel namespaces everything \emph{oneAPI} these days, so the \emph{full} proper name is Intel oneAPI DPC++ (which incorporates a C++ compiler and also a library)
8686
\item \ref{intelopenacc}: OpenACC can be used on Intel GPUs by translating the code to OpenMP with \href{https://github.com/intel/intel-application-migration-tool-for-openacc-to-openmp}{Intel\textquotesingle s Source-to-Source translator}
8787
\item \ref{intelopenmp}: Intel has \href{https://www.intel.com/content/www/us/en/develop/documentation/get-started-with-cpp-fortran-compiler-openmp/top.html}{extensive support for OpenMP} through their latest compilers
88-
\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
88+
\item \ref{intelstandardc}: 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
9191
\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

0 commit comments

Comments
 (0)