Skip to content
This repository was archived by the owner on Feb 5, 2024. It is now read-only.

Commit 24b2fc2

Browse files
committed
update
1 parent 9dd33bc commit 24b2fc2

File tree

101 files changed

+438
-184
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

101 files changed

+438
-184
lines changed

.pre-commit-config.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
# See https://pre-commit.com for more information
66
# See https://pre-commit.com/hooks.html for more hooks
77

8-
exclude: tab-onemkl|tab-ai
8+
exclude: math|ai
99

1010
repos:
1111
- repo: https://github.com/ambv/black

README.rst

+62-36
Original file line numberDiff line numberDiff line change
@@ -5,62 +5,88 @@
55
oneAPI Community Forum
66
================================
77

8-
The oneAPI Community Forum exists to define a standards-based,
9-
cross-architecture open specification for accelerated computing and
8+
The oneAPI Community Forum exists to define a standards-based,
9+
cross-architecture open specification for accelerated computing and
1010
to foster the open-source implementations of the specification.
1111

12-
More information can be found at `oneapi.com <https://oneapi.io>`__.
12+
More information can be found at oneapi.io_.
1313

1414
This repository hosts notes and presentation materials from the
15-
oneAPI Community Forum meetings. The meetings are open and comprised
16-
of industry experts that help guide the oneAPI specification.
15+
oneAPI Community Forum meetings. The meetings are open and comprised
16+
of industry experts that help guide the oneAPI specification.
1717

1818
The policies and governance processes are also available on this repo.
1919

20-
The community is invited to join the meetings, review
21-
the `oneAPI Specification <https://spec.oneapi.io>`__, and read the
22-
information in this repo. Contributions can be made by joining the
23-
Special Interest Groups (SIGs) or by posting comments or questions as
24-
GitHub issues. General questions can go to this repo and issues
25-
specific to parts of the specification can go to the `Specification
26-
repo <https://github.com/oneapi-src/oneapi-spec>`__.
20+
The community is invited to join the meetings, review the `oneAPI
21+
Specification`_, and read the information in this repo. Contributions
22+
can be made by joining the Special Interest Groups (SIGs) or by
23+
posting comments or questions as GitHub issues. General questions can
24+
go to this repo and issues specific to parts of the specification can
25+
go to the `Specification repo`_.
2726

2827
To be notified of new meeting notes, become a watcher of this repo. If
29-
you have a question about how to join the SIGs, email
30-
28+
you have a question about how to join the SIGs, email
29+
3130

32-
Find out about the `oneAPI Community Forum governance <organization>`__
33-
to understand the organization and processes.
31+
Find out about the `oneAPI Community Forum governance`_ to understand
32+
the organization and processes.
33+
34+
.. _oneapi.io: https://oneapi.io
35+
.. _`oneAPI Specification`: https://spec.oneapi.io
36+
.. _`Specification repo`: https://github.com/oneapi-src/oneapi-spec
37+
38+
.. _`oneAPI Community Forum governance`: organization
3439

3540
oneAPI Community Forum Special Interest Groups (SIGs)
3641
-----------------------------------------------------
3742

38-
SIGs host regular meetings to organize community proposals and
39-
contributions to the oneAPI specification. They also act as a bridge
40-
between the community and developers working on implementations of
43+
SIGs host regular meetings to organize community proposals and
44+
contributions to the oneAPI specification. They also act as a bridge
45+
between the community and developers working on implementations of
4146
the oneAPI specification.
4247

43-
* `Language <tab-dpcpp-onedpl>`__ - This group covers topics related to language implementations that integrate with the oneAPI specification.
48+
* `Language <language>`__ - This group covers topics related to
49+
language implementations that integrate with the oneAPI
50+
specification.
4451

45-
* `Math <tab-onemkl>`__ - This groups covers topics related to math operations.
52+
* `Math <math>`__ - This groups covers topics related to math
53+
operations.
4654

47-
* `AI <tab-ai>`__ - This group covers topics related to AI operations.
55+
* `AI <ai>`__ - This group covers topics related to AI operations.
4856

49-
* `Hardware <tab-level-zero>`__ - This group covers topics related to the integration of hardware and how this is defined in the oneAPI specification.
57+
* `Hardware <hardware>`__ - This group covers topics related to the
58+
integration of hardware and how this is defined in the oneAPI
59+
specification.
5060

5161
Upcoming oneAPI Community Forum Meetings
5262
----------------------------------------
5363

54-
+--------------------------------------------+------------------+-------------------+-------------------------------------------------------+
55-
| Date | Meeting Type | Location | How to join |
56-
+============================================+==================+===================+=======================================================+
57-
| November 3rd 2022, 9am US Central Time | Hardware SIG | Virtual | `Contact <https://www.oneapi.io/community/>`__ |
58-
+--------------------------------------------+------------------+-------------------+-------------------------------------------------------+
59-
| November 14th 2022, 5:30pm US Central Time | SC22 Meetup | Fairmont Dallas | `Contact <https://www.oneapi.io/community/>`__ |
60-
+--------------------------------------------+------------------+-------------------+-------------------------------------------------------+
61-
| November 23rd 2022, 10am US Central Time | Math SIG | Virtual | `RSVP Form <https://forms.office.com/r/sQdM4unYSP>`__ |
62-
+--------------------------------------------+------------------+-------------------+-------------------------------------------------------+
63-
| December 14th 2022, 9am US Central Time | Annual Meeting | Virtual | `Contact <https://www.oneapi.io/community/>`__ |
64-
+--------------------------------------------+------------------+-------------------+-------------------------------------------------------+
65-
66-
Find the minutes for prior meetings in the appropriate SIG section of this repository.
64+
.. list-table::
65+
:header-rows: 1
66+
67+
* - Date
68+
- Meeting Type
69+
- Location
70+
- How to join
71+
* - November 3rd 2022, 9am US Central Time
72+
- Hardware SIG
73+
- Virtual
74+
- Contact_
75+
* - November 14th 2022, 5:30pm US Central Time
76+
- SC22 Meetup
77+
- Fairmont Dallas
78+
- Contact_
79+
* - November 23rd 2022, 10am US Central Time
80+
- Math SIG
81+
- Virtual
82+
- `RSVP Form`_
83+
* - December 14th 2022, 9am US Central Time
84+
- Annual Meeting
85+
- Virtual
86+
- Contact_
87+
88+
.. _Contact: https://www.oneapi.io/community
89+
.. _`RSVP Form`: https://forms.office.com/r/sQdM4unYSP
90+
91+
Find the minutes for prior meetings in the appropriate SIG section of
92+
this repository.

tab-ai/README.rst ai/README.rst

+96-39
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,16 @@
22
oneAPI Community Forum AI SIG
33
===================================
44

5-
The AI SIG hosts discussions and presentations focused on
6-
AI operations and interfaces. The oneAPI specification
7-
defines the oneDNN interface with building blocks for
5+
The AI SIG hosts discussions and presentations focused on
6+
AI operations and interfaces. The oneAPI specification
7+
defines the oneDNN interface with building blocks for
88
deep learning applications and frameworks.
99

1010
The AI SIG is led by Alison Richards.
1111

12-
To find out how to join the AI SIG `get in touch. <https://www.oneapi.io/community/>`__
12+
To find out how to join the AI SIG `get in touch`_.
13+
14+
.. _`get in touch`: https://www.oneapi.io/community
1315

1416
Meeting Notes
1517
=============
@@ -32,7 +34,7 @@ Attendees
3234
Robert Cohn, Intel Ramtin Davanlou, Accenture
3335
Mourad Gouciem, Intel Rajeev Nalawadi, Intel
3436
Guolian Li, Tamir Guy, Intel
35-
Rahul Khanna, Intel Andrew Chen, Vastai Tech
37+
Rahul Khanna, Intel Andrew Chen, Vastai Tech
3638
Cheol Kim, Intel Jason Wang
3739
Jian Hui Li Intel Mehdi Goli, Codeplay
3840
Penporn Koanantakool, Google Tong Gu, Intel
@@ -97,11 +99,11 @@ oneDNN Graph API
9799

98100
* 6 graph api classes: tensor, logical tensor, op, graph, partition, compiled partition.
99101
* share stream/engine with rest of onednn
100-
102+
101103
* Framework integration
102104

103105
* before graph api
104-
106+
105107
* Framework integration needs to pattern match for oneDNN primitives
106108
* Each fused op needs to register to framework runtime and extend pattern matcher
107109

@@ -116,19 +118,22 @@ oneDNN Graph API
116118
* Can change representation/types inside fused ops
117119

118120
Q: Can graph be executed on multiple stream/engine
119-
A: Graph bound to a single stream
121+
122+
Graph bound to a single stream
120123

121124
Q: What happens when oneDNN graph cannot support compilation
122125
A: Framework integration responsible for executing
123126

124127
Q: How does this interact with framework graph rewrites?
125-
A: Expect that target independent rewrites are performed before oneDNN
128+
129+
Expect that target independent rewrites are performed before oneDNN
126130
graph. Difficult when framework performance fusions.
127131

128132
Q: What happens when using CPU + nvidia GPU together? Can't use oneDNN
129133
for graph that will be executed on GPU. Need cost model to decide
130134
what to send to oneDNN graph
131-
A: Do per-device partition
135+
136+
Do per-device partition
132137

133138
Future topics
134139
-------------
@@ -137,7 +142,8 @@ Suggestions for future from TAB members:
137142

138143
Plans for Habana synapse API?
139144

140-
Comparison of GPU vs CPU. Facilitating migration between CPU & GPU. What is well suited.
145+
Comparison of GPU vs CPU. Facilitating migration between CPU &
146+
GPU. What is well suited.
141147

142148
Accenture open source reference kits for AI, using oneAPI components.
143149

@@ -159,7 +165,7 @@ Attendees
159165
Radionov, Alexander, Intel Khanna, Rahul, Intel
160166
Pavlyk, Oleksandr, Intel Voss, Michael J, Intel
161167
Richards, Alison L, Intel Arunachalam, Meena, Intel
162-
Deb, Diptorup, Intel Andrew Chen, Vastai Tech
168+
Deb, Diptorup, Intel Andrew Chen, Vastai Tech
163169
Ruyman Reyes, Codeplay Li, Jian Hui, Intel
164170
Brodman, James, Intel Nalawadi, Rajeev K, Intel
165171
Cave, Vincent, Intel Cheng H. Lee, Anaconda
@@ -181,46 +187,96 @@ Slides
181187
Interfacing oneAPI and Python
182188
-----------------------------
183189

184-
Q: Why did you not use Buffers?
185-
A: While it is technically possible, different Python classes would need to be created for every supported buffer data type as the buffer and accessor type definitions require the type of the underlying elements. We can get around the issue by using “untyped” buffers, but that brings its own challenges as partitioning of buffers can lead to loss of precision and incorrect results.
190+
Q: Why did you not use Buffers?
191+
192+
While it is technically possible, different Python classes would
193+
need to be created for every supported buffer data type as the
194+
buffer and accessor type definitions require the type of the
195+
underlying elements. We can get around the issue by using “untyped”
196+
buffers, but that brings its own challenges as partitioning of
197+
buffers can lead to loss of precision and incorrect results.
198+
199+
Q: Using SPIR V – and using SYCL as the API, is that easier for
200+
interoperability. Why not use Open Cl? Or go straight down to
201+
Level Zero of oneAPI?
202+
203+
We envision a DPC++ program manager like layer in Numba that will
204+
allow us to go from the same high-level Python code to possibly
205+
different types of IRs (SPIR V, NVPTX) and then build
206+
interoperability kernels that can be launched using a SYCL
207+
runtime. Targeting OpenCL or Level Zero restricts us to devices
208+
that support Level Zero. The design may change later as the system
209+
evolves.
186210

187-
Q: Using SPIR V – and using SYCL as the API, is that easier for interoperability. Why not use Open Cl? Or go straight down to Level Zero of oneAPI?
188-
A: We envision a DPC++ program manager like layer in Numba that will allow us to go from the same high-level Python code to possibly different types of IRs (SPIR V, NVPTX) and then build interoperability kernels that can be launched using a SYCL runtime. Targeting OpenCL or Level Zero restricts us to devices that support Level Zero. The design may change later as the system evolves.
211+
Q: Using MLIR as well – but you have SPIR V at the bottom? Using MLIR and SPIR V at the bottom? Code level?
189212

190-
Q: Using MLIR as well – but you have SPIR V at the bottom? Using MLIR and SPIR V at the bottom? Code level?
191-
A: The MLIR GPU and SPIR V dialects offer greater flexibility to us than Numba’s current pipeline. We want to move away from using the llvm-spirv translator and hope that the GPU dialect grows into support other types of devices not just GPUs.
213+
The MLIR GPU and SPIR V dialects offer greater flexibility to us
214+
than Numba’s current pipeline. We want to move away from using the
215+
llvm-spirv translator and hope that the GPU dialect grows into
216+
support other types of devices not just GPUs.
192217

193-
Q: Codeplay has done work on MLIR. Would like to connect SYCL dialect and want to focus on top half of the box (SPIR V – GPU- Slide12)
194-
A: For the Python work we want to primarily focus on the Python to Optimized loops pipeline. If the community takes over the SPIR-V and GPU (and possibly a SYCL dialect), our work for the Python compiler will be greatly benefit.
218+
Q: Codeplay has done work on MLIR. Would like to connect SYCL dialect and want to focus on top half of the box (SPIR V – GPU- Slide12)
195219

196-
Q: What does it mean to make python code look more like SYCL?
197-
A: Do as a community effort – Anaconda may have responses – will need to involve the NVIDIA engineers who work on Numba?
220+
For the Python work we want to primarily focus on the Python to
221+
Optimized loops pipeline. If the community takes over the SPIR-V
222+
and GPU (and possibly a SYCL dialect), our work for the Python
223+
compiler will be greatly benefit.
198224

199-
Q: SYCL Dialect in the future? Do we have a timeline for that?
200-
A: SYCL dialect doesn’t exist right now. I am not aware of any timeline, or if anyone is working on it.
225+
Q: What does it mean to make python code look more like SYCL?
201226

202-
Q: Runtime – how much overhead is there from the Python layer?
203-
A: Library call – oneMKL interface layer – there is not much overhead – did not observe – better than 90%; for the compiler, also we have been evaluating the code we generate through NUMBA DPEX – 75-80% of the execution time as compared to DPC++
227+
Do as a community effort – Anaconda may have responses – will need
228+
to involve the NVIDIA engineers who work on Numba?
229+
230+
Q: SYCL Dialect in the future? Do we have a timeline for that?
231+
232+
SYCL dialect doesn’t exist right now. I am not aware of any
233+
timeline, or if anyone is working on it.
234+
235+
Q: Runtime – how much overhead is there from the Python layer?
236+
237+
Library call – oneMKL interface layer – there is not much overhead
238+
– did not observe – better than 90%; for the compiler, also we have
239+
been evaluating the code we generate through NUMBA DPEX – 75-80% of
240+
the execution time as compared to DPC++
204241

205242
Metagraph
206243
---------
207244

208-
Q: Graph Neural Net – is it flexible enough for a graph?
209-
https://blog.tensorflow.org/2021/11/introducing-tensorflow-gnn.html
245+
Q: Graph Neural Net – is it flexible enough for a graph?
246+
247+
https://blog.tensorflow.org/2021/11/introducing-tensorflow-gnn.html
248+
249+
Q: Big fan of Graph BLAS - what is happening with that? With MLIR?
250+
251+
Reimplement a bunch of things that will need to throw away. When
252+
added sparse output, that unblocked it. Assuming regular math
253+
rules – have an internal design that they are translating and
254+
upstreaming into MLIR. Will be possible to do this. Sparse
255+
compiler making with a simi ring -
256+
https://dl.acm.org/doi/abs/10.1145/3485505
257+
258+
Can make graph sparse possible – can specify which element can be
259+
an identity – won’t take
260+
261+
Q: Which plugins – should they be written in python only or C++?
210262

211-
Q: Big fan of Graph BLAS - what is happening with that? With MLIR?
212-
A: Reimplement a bunch of things that will need to throw away. When added sparse output, that unblocked it. Assuming regular math rules – have an internal design that they are translating and upstreaming into MLIR. Will be possible to do this. Sparse compiler making with a simi ring - https://dl.acm.org/doi/abs/10.1145/3485505
263+
Need a thin layer of Python object or wrapper to hand around – then
264+
python function wrapper. Whatever is happening lower (layers) can
265+
be – C or C++ - just need enough python code to manipulate from the
266+
python interpreter
213267

214-
Can make graph sparse possible – can specify which element can be an identity – won’t take
268+
Q: Part of an internal structure of a “type” – capability but hasn’t
269+
pushed on the type system.
215270

216-
Q: Which plugins – should they be written in python only or C++?
217-
A: Need a thin layer of Python object or wrapper to hand around – then python function wrapper. Whatever is happening lower (layers) can be – C or C++ - just need enough python code to manipulate from the python interpreter
271+
Type system must be granular enough so they know what the backend
272+
can handle for any layout.
218273

219-
Q: Part of an internal structure of a “type” – capability but hasn’t pushed on the type system.
220-
A: Type system must be granular enough so they know what the backend can handle for any layout.
274+
Q: Is that an oneAPI backend for all devices? Graph BLAS on other
275+
architectures?
221276

222-
Q: Is that an oneAPI backend for all devices? Graph BLAS on other architectures?
223-
A: No catchall solution for graphics (for all devices). Have a solution for people to plug in backends – but people have to implement
277+
No catchall solution for graphics (for all devices). Have a
278+
solution for people to plug in backends – but people have to
279+
implement
224280

225281
2021-11-10
226282
==========
@@ -232,7 +288,7 @@ Agenda
232288
Overview of oneAPI and SYCL: how all the pieces fit together Andrew Richards, Codeplay 5 min
233289
Mapping AI software to SYCL and oneAPI: ONNX, Eigen, TensorFlow Mehdi Goli, Codeplay 20 min
234290
Mapping SYCL to accelerator hardware, using RISC-V as an example Alastair Murray, Codeplay 20 min
235-
Experience of using SYCL and oneAPI with National Labs Gordon Brown, Codeplay 15 min
291+
Experience of using SYCL and oneAPI with National Labs Gordon Brown, Codeplay 15 min
236292
Opens / Topics All 30 min
237293
================================================================ =============================== =============
238294

@@ -556,7 +612,8 @@ oneDNN Graph API – Jian Hui Li : `Slides <presentations/oneDNNGraph-oneAPIAITA
556612
Registering a custom op to oneDNN Graph is in the future plan but
557613
not defined yet.
558614

559-
* Any integration plans to integrate with MLIR? Is this orthogonal to MLIR or a higher level integration?
615+
* Any integration plans to integrate with MLIR? Is this orthogonal to
616+
MLIR or a higher level integration?
560617

561618
Yes. MLIR is multi-level IR, and oneDNN Graph op is at the same
562619
level as high level MLIR dialect. We intercept at high level MLIR
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

tab-level-zero/README.rst hardware/README.rst

+4-4
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
oneAPI Community Forum Hardware SIG
33
===================================
44

5-
The Hardware SIG hosts discussions and presentations focused on
6-
how to enable a broad range of hardware architectures. The
7-
oneAPI specification defines the "Level Zero" interface that
8-
defines a hardware interface and recent discussions have also
5+
The Hardware SIG hosts discussions and presentations focused on
6+
how to enable a broad range of hardware architectures. The
7+
oneAPI specification defines the "Level Zero" interface that
8+
defines a hardware interface and recent discussions have also
99
covered a new Unified Runtime proposal.
1010

1111
The Hardware SIG is led by Cheol Kim.

0 commit comments

Comments
 (0)