Skip to content

Commit e32e4d5

Browse files
committed
Updating READMEs. More information to navigate to Code exercises. Removed outdated dpcpp invocation. Fix broken links.
1 parent 685eb7f commit e32e4d5

File tree

11 files changed

+43
-29
lines changed

11 files changed

+43
-29
lines changed

Code_Exercises/Exercise_01_Compiling_with_SYCL/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ and invoke the executable.
8787

8888
For For DPC++ (using the Intel DevCloud):
8989
```sh
90-
dpcpp -o sycl-ex-1 -I../External/Catch2/single_include ../Code_Exercises/Exercise_01_compiling_with_SYCL/source.cpp
90+
clang++ -fsycl -o sycl-ex-1 -I../External/Catch2/single_include ../Code_Exercises/Exercise_01_compiling_with_SYCL/source.cpp
9191
```
9292
In Intel DevCloud, to run computational applications, you will submit jobs to a queue for execution on compute nodes,
9393
especially some features like longer walltime and multi-node computation is only abvailable through the job queue.

Code_Exercises/Exercise_02_Hello_World/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ Then use the stream you constructed within the SYCL kernel function to print
5050

5151
For For DPC++ (using the Intel DevCloud):
5252
```sh
53-
dpcpp -o sycl-ex-2 -I../External/Catch2/single_include ../Code_Exercises/Exercise_02_Hello_World/source.cpp
53+
clang++ -fsycl -o sycl-ex-2 -I../External/Catch2/single_include ../Code_Exercises/Exercise_02_Hello_World/source.cpp
5454
```
5555
In Intel DevCloud, to run computational applications, you will submit jobs to a queue for execution on compute nodes,
5656
especially some features like longer walltime and multi-node computation is only abvailable through the job queue.

Code_Exercises/Exercise_03_Scalar_Add/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ initializing it with just a `range` and no host pointer.
4848

4949
For For DPC++ (using the Intel DevCloud):
5050
```sh
51-
dpcpp -o sycl-ex-3 -I../External/Catch2/single_include ../Code_Exercises/Exercise_03_Scalar_Add/source.cpp
51+
clang++ -fsycl -o sycl-ex-3 -I../External/Catch2/single_include ../Code_Exercises/Exercise_03_Scalar_Add/source.cpp
5252
./sycl-ex-3
5353
```
5454
In Intel DevCloud, to run computational applications, you will submit jobs to a queue for execution on compute nodes,

Code_Exercises/Exercise_04_Handling_Errors/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ exceptions to be caught by the surrounding try-catch block.
3131

3232
For For DPC++ (using the Intel DevCloud):
3333
```sh
34-
dpcpp -o sycl-ex-4 -I../External/Catch2/single_include ../Code_Exercises/Exercise_04_Handling_Errors/source.cpp
34+
clang++ -fsycl -o sycl-ex-4 -I../External/Catch2/single_include ../Code_Exercises/Exercise_04_Handling_Errors/source.cpp
3535
```
3636
In Intel DevCloud, to run computational applications, you will submit jobs to a queue for execution on compute nodes,
3737
especially some features like longer walltime and multi-node computation is only abvailable through the job queue.

Code_Exercises/Exercise_05_Device_Selection/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ and invoke the executable.
121121

122122
For For DPC++ (using the Intel DevCloud):
123123
```sh
124-
dpcpp -o sycl-ex-5 -I../External/Catch2/single_include ../Code_Exercises/Exercise_05_Device_Selection/source.cpp
124+
clang++ -fsycl -o sycl-ex-5 -I../External/Catch2/single_include ../Code_Exercises/Exercise_05_Device_Selection/source.cpp
125125
```
126126
In Intel DevCloud, to run computational applications, you will submit jobs to a queue for execution on compute nodes,
127127
especially some features like longer walltime and multi-node computation is only abvailable through the job queue.

Code_Exercises/Exercise_06_Vector_Add/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ and invoke the executable.
107107

108108
For For DPC++ (using the Intel DevCloud):
109109
```sh
110-
dpcpp -o sycl-ex-6 -I../External/Catch2/single_include ../Code_Exercises/Exercise_06_Vector_Add/source.cpp
110+
clang++ -fsycl -o sycl-ex-6 -I../External/Catch2/single_include ../Code_Exercises/Exercise_06_Vector_Add/source.cpp
111111
```
112112
In Intel DevCloud, to run computational applications, you will submit jobs to a queue for execution on compute nodes,
113113
especially some features like longer walltime and multi-node computation is only abvailable through the job queue.

Code_Exercises/Exercise_07_USM_Selector/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ create a `queue` using it to select it's device, remember to handle errors.
2828

2929
For For DPC++ (using the Intel DevCloud):
3030
```sh
31-
dpcpp -o sycl-ex-7 -I../External/Catch2/single_include ../Code_Exercises/Exercise_07_USM_Selector/source.cpp
31+
clang++ -fsycl -o sycl-ex-7 -I../External/Catch2/single_include ../Code_Exercises/Exercise_07_USM_Selector/source.cpp
3232
```
3333
In Intel DevCloud, to run computational applications, you will submit jobs to a queue for execution on compute nodes,
3434
especially some features like longer walltime and multi-node computation is only abvailable through the job queue.

Code_Exercises/Exercise_08_USM_Vector_Add/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ SYCL API `free` and not the standard C `free`.
7272

7373
For For DPC++ (using the Intel DevCloud):
7474
```sh
75-
dpcpp -o sycl-ex-8 -I../External/Catch2/single_include ../Code_Exercises/Exercise_08_USM_Vector_Add/source.cpp
75+
clang++ -fsycl -o sycl-ex-8 -I../External/Catch2/single_include ../Code_Exercises/Exercise_08_USM_Vector_Add/source.cpp
7676
```
7777
In Intel DevCloud, to run computational applications, you will submit jobs to a queue for execution on compute nodes,
7878
especially some features like longer walltime and multi-node computation is only abvailable through the job queue.

Code_Exercises/Exercise_09_Synchronization/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ pointer provided to the `buffer` but this is not guaranteed.
5151

5252
For For DPC++ (using the Intel DevCloud):
5353
```sh
54-
dpcpp -o sycl-ex-9 -I../External/Catch2/single_include ../Code_Exercises/Exercise_09_Synchronization/source.cpp
54+
clang++ -fsycl -o sycl-ex-9 -I../External/Catch2/single_include ../Code_Exercises/Exercise_09_Synchronization/source.cpp
5555
```
5656
In Intel DevCloud, to run computational applications, you will submit jobs to a queue for execution on compute nodes,
5757
especially some features like longer walltime and multi-node computation is only abvailable through the job queue.

Code_Exercises/Exercise_10_Managing_Dependencies/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ but remember to handle errors.
4242

4343
For For DPC++ (using the Intel DevCloud):
4444
```sh
45-
dpcpp -o sycl-ex-10 -I../External/Catch2/single_include ../Code_Exercises/Exercise_10_Managing_Dependencies/source.cpp
45+
clang++ -fsycl -o sycl-ex-10 -I../External/Catch2/single_include ../Code_Exercises/Exercise_10_Managing_Dependencies/source.cpp
4646
```
4747
In Intel DevCloud, to run computational applications, you will submit jobs to a queue for execution on compute nodes,
4848
especially some features like longer walltime and multi-node computation is only abvailable through the job queue.

README.md

+33-19
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,20 @@ on the command line as this makes configurating the toolset version easier.
255255
],
256256
```
257257

258+
## Working on the Exercises
259+
Once you have a working SYCL compiler, you are ready to start writing some SYCL code. To find the first exercise:
260+
```
261+
cd Code_Exercises/Exercise_01_Compiling_with_SYCL/
262+
```
263+
And read the README.md for further instructions.
264+
265+
Each exercise directory contains:
266+
* ```README.md```, which contains instructions of how to complete a given exercise, as well as directions for compilation.
267+
* ```source.cpp```, a placeholder file where your code implementation should be written.
268+
* ```solution.cpp```, where a solution has been implemented in advance.
269+
270+
Once you have completed any given exercise make sure to compare your implementation against the corresponding ```solution.cpp```.
271+
258272
## Online Interactive Tutorial
259273

260274
Hosted by tech.io, this [SYCL Introduction](https://tech.io/playgrounds/48226/introduction-to-sycl/introduction-to-sycl-2) tutorial introduces the concepts of SYCL. The website also provides the ability to compile and execute SYCL code from your web browser.
@@ -277,97 +291,97 @@ SYCL and the SYCL logo are trademarks of the Khronos Group Inc.
277291
[video-playlist]: https://youtube.com/playlist?list=PLCssnq0MpRdM-IUAYtNSPYck6u3oz7OZQ
278292

279293
[lesson-1-slides]: ./Lesson_Materials/Lecture_01_What_is_SYCL/
280-
[lesson-1-exercise]: ./Code_Exercises/Exercise_01_Compiling_with_SYCL/doc.md
294+
[lesson-1-exercise]: ./Code_Exercises/Exercise_01_Compiling_with_SYCL/README.md
281295
[lesson-1-source]: ./Code_Exercises/Exercise_01_Compiling_with_SYCL/source.cpp
282296
[lesson-1-solution]: ./Code_Exercises/Exercise_01_Compiling_with_SYCL/solution.cpp
283297

284298
[lesson-2-slides]: ./Lesson_Materials/Lecture_02_Enqueuing_a_Kernel/
285-
[lesson-2-exercise]: ./Code_Exercises/Exercise_02_Hello_World/doc.md
299+
[lesson-2-exercise]: ./Code_Exercises/Exercise_02_Hello_World/README.md
286300
[lesson-2-source]: ./Code_Exercises/Exercise_02_Hello_World/source.cpp
287301
[lesson-2-solution]: ./Code_Exercises/Exercise_02_Hello_World/solution.cpp
288302

289303
[lesson-3-slides]: ./Lesson_Materials/Lecture_03_Managing_Data/
290-
[lesson-3-exercise]: ./Code_Exercises/Exercise_03_Scalar_Add/doc.md
304+
[lesson-3-exercise]: ./Code_Exercises/Exercise_03_Scalar_Add/README.md
291305
[lesson-3-source]: ./Code_Exercises/Exercise_03_Scalar_Add/source.cpp
292306
[lesson-3-solution]: ./Code_Exercises/Exercise_03_Scalar_Add/solution.cpp
293307

294308
[lesson-4-slides]: ./Lesson_Materials/Lecture_04_Handling_Errors/
295-
[lesson-4-exercise]: ./Code_Exercises/Exercise_04_Handling_Errors/doc.md
309+
[lesson-4-exercise]: ./Code_Exercises/Exercise_04_Handling_Errors/README.md
296310
[lesson-4-source]: ./Code_Exercises/Exercise_04_Handling_Errors/source.cpp
297311
[lesson-4-solution]: ./Code_Exercises/Exercise_04_Handling_Errors/solution.cpp
298312

299313
[lesson-5-slides]: ./Lesson_Materials/Lecture_05_Device_Discovery/
300-
[lesson-5-exercise]: ./Code_Exercises/Exercise_05_Device_Selection/doc.md
314+
[lesson-5-exercise]: ./Code_Exercises/Exercise_05_Device_Selection/README.md
301315
[lesson-5-source]: ./Code_Exercises/Exercise_05_Device_Selection/source.cpp
302316
[lesson-5-solution]: ./Code_Exercises/Exercise_05_Device_Selection/solution.cpp
303317

304318
[lesson-6-slides]: ./Lesson_Materials/Lecture_06_Data_Parallelism/
305-
[lesson-6-exercise]: ./Code_Exercises/Exercise_06_Vector_Add/doc.md
319+
[lesson-6-exercise]: ./Code_Exercises/Exercise_06_Vector_Add/README.md
306320
[lesson-6-source]: ./Code_Exercises/Exercise_06_Vector_Add/source.cpp
307321
[lesson-6-solution]: ./Code_Exercises/Exercise_06_Vector_Add/solution.cpp
308322

309323
[lesson-7-slides]: ./Lesson_Materials/Lecture_07_Introduction_to_USM/
310-
[lesson-7-exercise]: ./Code_Exercises/Exercise_07_USM_Selector/doc.md
324+
[lesson-7-exercise]: ./Code_Exercises/Exercise_07_USM_Selector/README.md
311325
[lesson-7-source]: ./Code_Exercises/Exercise_07_USM_Selector/source.cpp
312326
[lesson-7-solution]: ./Code_Exercises/Exercise_07_USM_Selector/solution.cpp
313327

314328
[lesson-8-slides]: ./Lesson_Materials/Lecture_08_Using_USM/
315-
[lesson-8-exercise]: ./Code_Exercises/Exercise_08_USM_Vector_Add/doc.md
329+
[lesson-8-exercise]: ./Code_Exercises/Exercise_08_USM_Vector_Add/README.md
316330
[lesson-8-source]: ./Code_Exercises/Exercise_08_USM_Vector_Add/source.cpp
317331
[lesson-8-solution]: ./Code_Exercises/Exercise_08_USM_Vector_Add/solution.cpp
318332

319333
[lesson-9-slides]: ./Lesson_Materials/Lecture_09_Asynchronous_Execution/
320-
[lesson-9-exercise]: ./Code_Exercises/Exercise_09_Synchronization/doc.md
334+
[lesson-9-exercise]: ./Code_Exercises/Exercise_09_Synchronization/README.md
321335
[lesson-9-source]: ./Code_Exercises/Exercise_09_Synchronization/source.cpp
322336
[lesson-9-solution]: ./Code_Exercises/Exercise_09_Synchronization/solution.cpp
323337

324338
[lesson-10-slides]: ./Lesson_Materials/Lecture_10_Data_and_Dependencies/
325-
[lesson-10-exercise]: ./Code_Exercises/Exercise_10_Managing_Dependencies/doc.md
339+
[lesson-10-exercise]: ./Code_Exercises/Exercise_10_Managing_Dependencies/README.md
326340
[lesson-10-source]: ./Code_Exercises/Exercise_10_Managing_Dependencies/source.cpp
327341
[lesson-10-solution]: ./Code_Exercises/Exercise_10_Managing_Dependencies/solution.cpp
328342

329343
[lesson-11-slides]: ./Lesson_Materials/Lecture_11_In_Order_Queue/
330-
[lesson-11-exercise]: ./Code_Exercises/Exercise_11_In_Order_Queue/doc.md
344+
[lesson-11-exercise]: ./Code_Exercises/Exercise_11_In_Order_Queue/README.md
331345
[lesson-11-source]: ./Code_Exercises/Exercise_11_In_Order_Queue/source.cpp
332346
[lesson-11-solution]: ./Code_Exercises/Exercise_11_In_Order_Queue/solution.cpp
333347

334348
[lesson-12-slides]: ./Lesson_Materials/Lecture_12_Advanced_Data_Flow/
335-
[lesson-12-exercise]: ./Code_Exercises/Exercise_12_Temporary_Data/doc.md
349+
[lesson-12-exercise]: ./Code_Exercises/Exercise_12_Temporary_Data/README.md
336350
[lesson-12-source]: ./Code_Exercises/Exercise_12_Temporary_Data/source.cpp
337351
[lesson-12-solution]: ./Code_Exercises/Exercise_12_Temporary_Data/solution.cpp
338352

339353
[lesson-13-slides]: ./Lesson_Materials/Lecture_13_Multiple_Devices/
340-
[lesson-13-exercise]: ./Code_Exercises/Exercise_13_Load_Balancing/doc.md
354+
[lesson-13-exercise]: ./Code_Exercises/Exercise_13_Load_Balancing/README.md
341355
[lesson-13-source]: ./Code_Exercises/Exercise_13_Load_Balancing/source.cpp
342356
[lesson-13-solution]: ./Code_Exercises/Exercise_13_Load_Balancing/solution.cpp
343357

344358
[lesson-14-slides]: ./Lesson_Materials/Lecture_14_ND_Range_Kernel/
345-
[lesson-14-exercise]: ./Code_Exercises/Exercise_14_ND_Range_Kernel/doc.md
359+
[lesson-14-exercise]: ./Code_Exercises/Exercise_14_ND_Range_Kernel/README.md
346360
[lesson-14-source]: ./Code_Exercises/Exercise_14_ND_Range_Kernel/source.cpp
347361
[lesson-14-solution]: ./Code_Exercises/Exercise_14_ND_Range_Kernel/solution.cpp
348362

349363
[lesson-15-slides]: ./Lesson_Materials/Lecture_15_Image_Convolution/
350-
[lesson-15-exercise]: ./Code_Exercises/Exercise_15_Image_Convolution/doc.md
364+
[lesson-15-exercise]: ./Code_Exercises/Exercise_15_Image_Convolution/README.md
351365
[lesson-15-source]: ./Code_Exercises/Exercise_15_Image_Convolution/source.cpp
352366
[lesson-15-solution]: ./Code_Exercises/Exercise_15_Image_Convolution/reference.cpp
353367

354368
[lesson-16-slides]: ./Lesson_Materials/Lecture_16_Coalesced_Global_Memory/
355-
[lesson-16-exercise]: ./Code_Exercises/Exercise_16_Coalesced_Global_Memory/doc.md
369+
[lesson-16-exercise]: ./Code_Exercises/Exercise_16_Coalesced_Global_Memory/README.md
356370
[lesson-16-source]: ./Code_Exercises/Exercise_16_Coalesced_Global_Memory/source.cpp
357371
[lesson-16-solution]: ./Code_Exercises/Exercise_16_Coalesced_Global_Memory/solution.cpp
358372

359373
[lesson-17-slides]: ./Lesson_Materials/Lecture_17_Vectors/
360-
[lesson-17-exercise]: ./Code_Exercises/Exercise_17_Vectors/doc.md
374+
[lesson-17-exercise]: ./Code_Exercises/Exercise_17_Vectors/README.md
361375
[lesson-17-source]: ./Code_Exercises/Exercise_17_Vectors/source.cpp
362376
[lesson-17-solution]: ./Code_Exercises/Exercise_17_Vectors/solution.cpp
363377

364378
[lesson-18-slides]: ./Lesson_Materials/Lecture_18_Local_Memory_Tiling/
365-
[lesson-18-exercise]: ./Code_Exercises/Exercise_18_Local_Memory_Tiling/doc.md
379+
[lesson-18-exercise]: ./Code_Exercises/Exercise_18_Local_Memory_Tiling/README.md
366380
[lesson-18-source]: ./Code_Exercises/Exercise_18_Local_Memory_Tiling/source.cpp
367381
[lesson-18-solution]: ./Code_Exercises/Exercise_18_Local_Memory_Tiling/solution.cpp
368382

369383
[lesson-19-slides]: ./Lesson_Materials/Lecture_19_Work_Group_Sizes/
370-
[lesson-19-exercise]: ./Code_Exercises/Exercise_19_Work_Group_Sizes/doc.md
384+
[lesson-19-exercise]: ./Code_Exercises/Exercise_19_Work_Group_Sizes/README.md
371385
[lesson-19-source]: ./Code_Exercises/Exercise_19_Work_Group_Sizes/source.cpp
372386
[lesson-19-solution]: ./Code_Exercises/Exercise_19_Work_Group_Sizes/solution.cpp
373387

0 commit comments

Comments
 (0)