#### What is SYCL?
@@ -173,7 +185,7 @@
Whilst the current specification of SYCL is bound to OpenCL, it is possible to support non-OpenCL back-ends. For example hipSYCL targets AMD's HIP interface and ComputeCpp targets NVidia's ptx instruction set
-
+
#### SYCL specification
@@ -183,16 +195,14 @@
![SYCL](./sycl_spec_versions.png "SYCL-OpenCL")
-
+
#### SYCL implementations
-
- ![SYCL Implementations](./sycl-implementation-targets.jpg "SYCL-Implementations")
-
+
-
+
#### What a SYCL implementation looks like
@@ -211,7 +221,7 @@
* The device is the parallel unit used to execute the kernels, such as a GPU
-
+
#### What a SYCL implementation looks like
@@ -225,7 +235,7 @@
* It loads kernels, tracks data dependencies and schedules commands
-
+
#### What a SYCL implementation looks like
@@ -239,7 +249,7 @@
* The host device can be used to execute kernels without backend drivers and for debugging purposes
-
+
#### What a SYCL implementation looks like
@@ -254,7 +264,7 @@
-
+
#### What a SYCL implementation looks like
@@ -274,7 +284,7 @@
**IR** = Intermediate Representation **ISA** = Instruction Set Architecture
-
+
#### Std C++ compilation model
@@ -286,7 +296,7 @@
* This is the typical compilation model for a C++ source file.
-
+
#### Std C++ compilation model
@@ -298,7 +308,7 @@
* So how do you compile a source file to also target the GPU?
-
+
#### Std C++ compilation model
@@ -311,7 +321,7 @@
* These are defined by submitting them to specific APIs.
-
+
#### Std C++ compilation model
@@ -324,7 +334,7 @@
* This produces a device IR such as SPIR, SPIR-V or PTX or ISA for a specific architecture containing the GPU code.
-
+
#### Std C++ compilation model
@@ -336,7 +346,7 @@
* The CPU object is then linked with the device IR or ISA to form a single executable with both the CPU and GPU code.
-
+
#### Std C++ compilation model
@@ -349,7 +359,7 @@
* This allows the host compiler (MSVC, Clang, Gcc) to be independent of the SYCL device compiler.
-
+
#### Std C++ compilation model
@@ -362,7 +372,7 @@
* Where both the host compiler and SYCL device compiler are invoked from the same driver.
-
+
## Where to Get Started with SYCL
@@ -370,11 +380,11 @@
* Checkout the documentation provided with one of the SYCL implementations.
* Visit https://sycl.tech to find out about all the SYCL implementations, news and videos
-
+
-
+
#### Exercise
diff --git a/Lesson_Materials/Lecture_01_What_is_SYCL/sycl-implementation-targets.jpg b/Lesson_Materials/Lecture_01_What_is_SYCL/sycl-implementation-targets.jpg
deleted file mode 100644
index 21261b77..00000000
Binary files a/Lesson_Materials/Lecture_01_What_is_SYCL/sycl-implementation-targets.jpg and /dev/null differ
diff --git a/Lesson_Materials/Lecture_01_What_is_SYCL/sycl_first_sample_code.png b/Lesson_Materials/Lecture_01_What_is_SYCL/sycl_first_sample_code.png
new file mode 100644
index 00000000..f7a17c0f
Binary files /dev/null and b/Lesson_Materials/Lecture_01_What_is_SYCL/sycl_first_sample_code.png differ
diff --git a/Lesson_Materials/Lecture_01_What_is_SYCL/sycl_implementation_targets.png b/Lesson_Materials/Lecture_01_What_is_SYCL/sycl_implementation_targets.png
new file mode 100644
index 00000000..46781e25
Binary files /dev/null and b/Lesson_Materials/Lecture_01_What_is_SYCL/sycl_implementation_targets.png differ