Skip to content

Commit fd68af0

Browse files
authored
ONSAM-1393: Correct "categories" attribute for proper display in the samples browsers. (oneapi-src#582)
* ONSAM-1393: Correcting "categories" attribute for proper display in the various samples browsers. Also cleaned up the associated README.md files for improved readability in text mode. * Missed the Fortran sample, which also had a malformed categories attribute. * Missing the "Toolkit/" prefix.
1 parent 5395b0a commit fd68af0

File tree

10 files changed

+195
-111
lines changed

10 files changed

+195
-111
lines changed

AI-and-Analytics/End-to-end-Workloads/LidarObjectDetection-PointPillars/sample.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
22
"guid" : "314B4C1D-07A0-4527-A9FA-9F87ED9622D7",
33
"name": "Lidar Object Detection using PointPillars",
4-
"categories": ["Toolkit/AI-and-Analytics/End-to-end-Workloads/LidarObjectDetection-PointPillars"],
5-
"description": "This sample does object detection on LIDAR's point cloud provided as input. It is Intel® oneAPI implementation based on pape' PointPillars: Fast Encoders for Object Detection from Point Clouds'",
4+
"categories": ["Toolkit/oneAPI Direct Programming/DPC++/Ai and Analytics"],
5+
"description": "Object detection using a LIDAR point cloud as input. This implementation is based on the paper 'PointPillars: Fast Encoders for Object Detection from Point Clouds'",
66
"toolchain": ["dpcpp"],
77
"languages": [ { "cpp": {} } ],
88
"targetDevice": ["CPU", "GPU"],
Lines changed: 25 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,38 @@
11
# End-to-end samples for Intel® oneAPI AI Analytics Toolkit (AI Kit)
22

3-
The Intel® oneAPI AI Analytics Toolkit (AI Kit) gives data scientists, AI developers, and researchers familiar Python* tools and frameworks to accelerate end-to-end data science and analytics pipelines on Intel® architectures. The components are built using oneAPI libraries for low-level compute optimizations. This toolkit maximizes performance from preprocessing through machine learning, and provides interoperability for efficient model development.
3+
The Intel® oneAPI AI Analytics Toolkit (AI Kit) gives data scientists, AI
4+
developers, and researchers familiar Python* tools and frameworks to
5+
accelerate end-to-end data science and analytics pipelines on Intel®
6+
architectures. The components are built using oneAPI libraries for low-level
7+
compute optimizations. This toolkit maximizes performance from preprocessing
8+
through machine learning, and provides interoperability for efficient model
9+
development.
410

5-
You can find more information at [ AI Kit](https://software.intel.com/content/www/us/en/develop/tools/oneapi/ai-analytics-toolkit.html).
6-
7-
Users could learn how to make use of AI Kit for their end-to-end workloads.
11+
You can find more information at
12+
[AI Kit](https://software.intel.com/content/www/us/en/develop/tools/oneapi/ai-analytics-toolkit.html).
813

914
## License
1015
Code samples are licensed under the MIT license. See
11-
[License.txt](https://github.com/oneapi-src/oneAPI-samples/blob/master/License.txt) for details.
16+
[License.txt](https://github.com/oneapi-src/oneAPI-samples/blob/master/License.txt)
17+
for details.
1218

13-
Third party program Licenses can be found here: [third-party-programs.txt](https://github.com/oneapi-src/oneAPI-samples/blob/master/third-party-programs.txt)
19+
Third party program Licenses can be found here:
20+
[third-party-programs.txt](https://github.com/oneapi-src/oneAPI-samples/blob/master/third-party-programs.txt)
1421

1522
# End-to-end Samples
1623

17-
| Components | Folder | Description
18-
| --------- | ------------------------------------------------ | -
19-
| Modin, oneDAL, IDP | [Census](Census) | Use Intel® Distribution of Modin to ingest and process U.S. census data from 1970 to 2010 in order to build a ridge regression based model to find the relation between education and the total income earned in the US.
20-
| OpenVino | [LidarObjectDetection-PointPillars](LidarObjectDetection-PointPillars) | Performs 3D object detection and classification using data (point cloud) from a LIDAR sensor as input.
24+
| Components | Folder | Description
25+
| ------------------ | ---------------------- | -----------
26+
| Modin, oneDAL, IDP | [Census](Census) | Use Intel® Distribution of Modin to ingest and process U.S. census data from 1970 to 2010 in order to build a ridge regression based model to find the relation between education and the total income earned in the US.
27+
| OpenVino | [LidarObjectDetection-PointPillars](LidarObjectDetection-PointPillars) | Performs 3D object detection and classification using point cloud data from a LIDAR sensor as input.
28+
29+
# Using Samples in the Intel oneAPI DevCloud
2130

22-
# Using Samples in Intel oneAPI DevCloud
31+
You can use AI Kit samples in the
32+
[Intel oneAPI DevCloud](https://devcloud.intel.com/oneapi/get-started/)
33+
environment using the following methods:
2334

24-
You can use AI Kit samples in
25-
the [Intel oneAPI DevCloud](https://devcloud.intel.com/oneapi/get-started/) environment in the following ways:
26-
* Log in to a DevCloud system via SSH and
27-
* use `git clone` to get a full copy of samples repository, or
28-
* use the `oneapi-cli` tool to download specific sample.
35+
* Login to a DevCloud system using SSH
36+
* use `git clone` to get a full copy of the oneAPI samples repository
37+
* or use the `oneapi-cli` tool to download this specific sample
2938
* Launch a JupyterLab server and run Jupyter Notebooks from your web browser.
Lines changed: 26 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,31 @@
1-
# oneAPI OpenMP Offload training Jupyter notebooks
2-
3-
The the content of this repo is a collection of Jupyter notebooks that were developed to teach OpenMP Offload.
4-
5-
The Jupyter notebooks are tested and can be run on Intel Devcloud.
6-
Below are the steps to access these Jupyter notebooks on Intel Devcloud
7-
1. Register to Intel devcloud
8-
https://intelsoftwaresites.secure.force.com/devcloud/oneapi
9-
2. Go to the "Terminal" in the Intel Devcloud
10-
3. Type in the below command to download the oneAPI-essentials series and OpenMP offload notebooks into your devcloud account
11-
/data/oneapi_workshop/get_jupyter_notebooks.sh
12-
13-
| Optimized for | Description
14-
|:--- |:---
15-
| OS | Linux*
16-
| Hardware | Skylake with GEN9 or newer
17-
| Software | Intel® C++ Compiler
18-
| License | Samples licensed under MIT license.
19-
| What you will learn | How to offload the computation to GPU using OpenMP with the Intel® C++ Compiler
20-
| Time to complete | 2 Hours
1+
# oneAPI OpenMP Offload Training Jupyter Notebooks
2+
3+
The the content of this repo is a collection of Jupyter notebooks that were
4+
developed to teach OpenMP Offload.
5+
6+
The Jupyter notebooks are tested and can be run on the Intel Devcloud. Below
7+
are the steps to access these Jupyter notebooks on the Intel Devcloud:
8+
9+
1. Register with the Intel Devcloud at
10+
https://intelsoftwaresites.secure.force.com/devcloud/oneapi
11+
12+
2. SSH into the Intel Devcloud "terminal"
13+
14+
3. Type the following command to download the oneAPI-essentials series of
15+
Jupyter notebooks and OpenMP offload notebooks into your devcloud account
16+
`/data/oneapi_workshop/get_jupyter_notebooks.sh`
17+
18+
| Optimized for | Description
19+
|:--- |:---
20+
| OS | Linux*
21+
| Hardware | Skylake with GEN9 or newer
22+
| Software | Intel® C++ Compiler
23+
| License | Samples licensed under MIT license.
24+
| What you will learn | How to offload the computation to GPU using OpenMP with the Intel® C++ Compiler
25+
| Time to complete | 2 Hours
2126

2227
## Running the Jupyter Notebooks
28+
2329
1. Open "OpenMP Welcome.ipynb" with JupyterLab
2430
2. Start the modules of interest
2531
3. Follow the instructions in each notebook and execute cells when instructed.

DirectProgramming/C++/Jupyter/OpenMP-offload-training/sample.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
{
22
"guid": "2D2AAD9B-29BF-4380-B5E7-575CDECCF686",
33
"name": "OpenMP Offload C++ Tutorials",
4-
"categories": [ "Toolkit/DirectProgramming/C++/Jupyter/OpenMP-offload-training/" ],
4+
"categories": [ "Toolkit/oneAPI Direct Programming/C++/Tutorials Jupyter Notebooks" ],
55
"description": "C++ OpenMP Offload Basics using Jupyter Notebooks",
6-
"toolchain": [ "dpcpp"],
6+
"toolchain": [ "icx"],
77
"languages": [{"cpp":{}}],
88
"os": [ "linux" ],
99
"builder": [ "make" ],
Lines changed: 62 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,69 @@
1-
# oneAPI training Jupyter notebooks
1+
# oneAPI training Jupyter notebooks
22

3-
The purpose of this repo is to be the central aggregation, curation, and distribution point for Juypter notebooks that are developed in support of oneAPI training programs (e.g., oneAPI Essentials Series).
3+
The purpose of this repo is to be the central aggregation, curation, and
4+
distribution point for Juypter notebooks that are developed in support of
5+
oneAPI training programs (e.g., oneAPI Essentials Series).
46

5-
The Jupyter notebooks are tested and can be run on Intel Devcloud.
6-
Below are the steps to access these Jupyter notebooks on Intel Devcloud
7-
1. Register on [Intel Devcloud](https://intelsoftwaresites.secure.force.com/devcloud/oneapi)
8-
2. Go to the "Terminal" in the Intel Devcloud
9-
3. Type in the below command to download the oneAPI-essentials series notebooks into your Devcloud account
10-
/data/oneapi_workshop/get_jupyter_notebooks.sh
11-
12-
## License
13-
Code samples are licensed under the MIT license. See [License.txt](https://github.com/oneapi-src/oneAPI-samples/blob/master/License.txt) for details.
7+
The Jupyter notebooks are tested and can be run on the Intel Devcloud. Below
8+
are the steps to access these Jupyter notebooks on the Intel Devcloud:
149

15-
Third party program Licenses can be found here: [third-party-programs.txt](https://github.com/oneapi-src/oneAPI-samples/blob/master/third-party-programs.txt)
10+
1. Register with the Intel Devcloud at
11+
https://intelsoftwaresites.secure.force.com/devcloud/oneapi
1612

17-
# The organization of the Jupyter notebook directories is a follows:
13+
2. SSH into the Intel Devcloud "terminal"
1814

19-
| Notebook Name | Owner | Description |
20-
|---|---|---|
21-
|[oneAPI_Intro](01_oneAPI_Intro)|[email protected]| + Introduction and Motivation for oneAPI and DPC++.<br>+ DPC++ __Hello World__<br>+ Compiling DPC++ and __DevCloud__ Usage<br>+ ___Lab Excercise___: Vector Increment to Vector Add |
22-
|[DPCPP_Program_Structure](02_DPCPP_Program_Structure)|[email protected]| + __Classes__ - device, device_selector, queue, basic kernels and ND-Range kernels, Buffers-Accessor memory model<br>+ DPC++ __Code Anotomy__<br>+ Implicit __Dependency__ with Accessors, __Synchronization__ with Host Accessor and Buffer Destruction<br>+ Creating __Custom__ Device Selector<br>+ ___Lab Exercise___: Complex Multiplication |
23-
|[DPCPP_Unified_Shared_Memory](03_DPCPP_Unified_Shared_Memory)|[email protected]| + What is Unified Shared Memory(USM) and Motivation<br>+ __Implicit and Explicit USM__ code example<br>+ Handling __data dependency__ using depends_on() and ordered queues<br>+ ___Lab Exercise___: Solving data dependency with USM |
24-
|[DPCPP_Sub_Groups](04_DPCPP_Sub_Groups)|[email protected]| + What is Sub-Goups and Motivation<br>+ Quering for __sub-group info__<br>+ Sub-group __collectives__<br>+ Sub-group __shuffle operations__ |
25-
|[Intel_Advisor](05_Intel_Advisor)|[email protected]| + __Offload Advisor__ Tool usage and command-line options<br>+ __Roofline Analysis__ and command-line options |
26-
|[Intel_VTune_Profiler](06_Intel_VTune_Profiler)|[email protected]| + Intel VTune Profiler usage __in Intel DevCloud__ environment using command-line options<br>+ ___Lab Excercise___: VTune Profiling by collecting __gpu_hotspots__ for [iso3dfd](https://github.com/intel/HPCKit-code-samples/tree/master/Compiler/iso3dfd_dpcpp) sample application. |
27-
|[Intel oneAPI DPC++ Library (oneDPL)](07_DPCPP_Library)|[email protected]| + Introduction to DPC++ Library<br>+ ___Lab Excercise___: Gamma Correction with oneDPL |
15+
3. Type the following command to download the oneAPI-essentials series of
16+
Jupyter notebooks and OpenMP offload notebooks into your devcloud account
17+
`/data/oneapi_workshop/get_jupyter_notebooks.sh`
2818

19+
## License
2920

21+
Code samples are licensed under the MIT license. See
22+
[License.txt](https://github.com/oneapi-src/oneAPI-samples/blob/master/License.txt)
23+
for details.
24+
25+
Third party program Licenses can be found here:
26+
[third-party-programs.txt](https://github.com/oneapi-src/oneAPI-samples/blob/master/third-party-programs.txt)
27+
28+
# Organization of the Jupyter Notebook Directories
29+
30+
Notebook Name: Owner
31+
* Descriptions
32+
*
33+
34+
[oneAPI_Intro](01_oneAPI_Intro): [email protected]
35+
* Introduction and Motivation for oneAPI and DPC++
36+
* DPC++ __Hello World__
37+
* Compiling DPC++ and __DevCloud__ Usage
38+
* _Lab Excercise_: Vector Increment to Vector Add
39+
40+
[DPCPP_Program_Structure](02_DPCPP_Program_Structure): [email protected]
41+
* __Classes__ - device, device_selector, queue, basic kernels and ND-Range kernels, Buffers-Accessor memory model
42+
* DPC++ __Code Anotomy__
43+
* Implicit __Dependency__ with Accessors, __Synchronization__ with Host Accessor and Buffer Destruction
44+
* Creating __Custom__ Device Selector
45+
* _Lab Exercise_: Complex Multiplication
46+
47+
[DPCPP_Unified_Shared_Memory](03_DPCPP_Unified_Shared_Memory): [email protected]
48+
* What is Unified Shared Memory(USM) and Motivation
49+
* __Implicit and Explicit USM__ code example
50+
* Handling __data dependency__ using depends_on() and ordered queues
51+
* _Lab Exercise_: Solving data dependency with USM
52+
53+
[DPCPP_Sub_Groups](04_DPCPP_Sub_Groups): [email protected]
54+
* What is Sub-Goups and Motivation
55+
* Quering for __sub-group info__
56+
* Sub-group __collectives__
57+
* Sub-group __shuffle operations__
58+
59+
[Intel_Advisor](05_Intel_Advisor): [email protected]
60+
* __Offload Advisor__ Tool usage and command-line options
61+
* __Roofline Analysis__ and command-line options
62+
63+
[Intel_VTune_Profiler](06_Intel_VTune_Profiler): [email protected]
64+
* Intel VTune Profiler usage __in Intel DevCloud__ environment using command-line options
65+
* _Lab Excercise_: VTune Profiling by collecting __gpu_hotspots__ for [iso3dfd](https://github.com/intel/HPCKit-code-samples/tree/master/Compiler/iso3dfd_dpcpp) sample application
66+
67+
[Intel oneAPI DPC++ Library (oneDPL)](07_DPCPP_Library): [email protected]
68+
* Introduction to DPC++ Library
69+
* _Lab Excercise_: Gamma Correction with oneDPL

DirectProgramming/DPC++/Jupyter/oneapi-essentials-training/sample.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"guid": "f51eea84-5732-4425-a530-113448519667",
33
"name": "DPC++ Essentials Tutorials",
4-
"categories": [ "Toolkit/DirectProgramming/DPC++/Jupyter/oneapi-essentials-training/" ],
4+
"categories": [ "Toolkit/oneAPI Direct Programming/DPC++/Tutorials Jupyter Notebooks" ],
55
"description": "DPC++ Essentials Tutorials using Jupyter Notebooks",
66
"toolchain": [ "dpcpp" ],
77
"languages": [ { "cpp": { "properties": { "projectOptions": [ { "projectType": "makefile" } ] } } } ],

DirectProgramming/DPC++/OpenCLInterop/README.md

Lines changed: 47 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,69 @@
11
# DPC++ OpenCL&trade; Interoperability Example
22

3-
This examples demonstrate how DPC++ can interact with OpenCL&trade;. This code shample will show programmers to incrementally migrate from
4-
OpenCL to DPC++. Two usage scenarios are shown. First is a DPC++ program that compiles and runs an OpenCL kernel. The second program converts OpenCL objects to DPC++.
3+
This examples demonstrate how DPC++ can interact with OpenCL&trade;. This code
4+
sample illustrates how to incrementally migrate from OpenCL to DPC++. Two
5+
usage scenarios are shown: the first is a DPC++ program that compiles and runs
6+
an OpenCL kernel; the second program converts OpenCL objects to DPC++.
57

6-
For more information on migrating from OpenCL to DPC++, see [Migrating OpenCL Designs to DPC++](https://software.intel.com/content/www/us/en/develop/articles/migrating-opencl-designs-to-dpcpp.html).
8+
For more information on migrating from OpenCL to DPC++, see
9+
[Migrating OpenCL Designs to DPC++](https://software.intel.com/content/www/us/en/develop/articles/migrating-opencl-designs-to-dpcpp.html).
710

8-
| Optimized for | Description
9-
|:--- |:---
10-
| OS | Linux* Ubuntu* 18.04, 20
11-
| Hardware | Skylake or newer
12-
| Software | Intel&reg; oneAPI DPC++/C++ Compiler, Intel Devcloud
13-
| What you will learn | How OpenCL code can interact with DPC++ with the Intel&reg; oneAPI DPC++/C++ Compiler
14-
| Time to complete | 10 minutes
11+
| Optimized for | Description
12+
|:--- |:---
13+
| OS | Linux* Ubuntu* 18.04, 20
14+
| Hardware | Skylake or newer
15+
| Software | Intel&reg; oneAPI DPC++/C++ Compiler, Intel Devcloud
16+
| What you will learn | How OpenCL code can interact with DPC++ with the Intel&reg; oneAPI DPC++/C++ Compiler
17+
| Time to complete | 10 minutes
1518

1619
## Purpose
17-
For users migrating from OpenCL to DPC++, interoperability allows the migration to take place piecemeal so that the migration of all kernels does not have to occur simultaneously.
18-
20+
21+
For users migrating from OpenCL to DPC++, interoperability allows the
22+
migration to take place piecemeal. It is not necessary for migration of all
23+
existing OpenCL kernels occur simultaneously.
24+
1925
## Key Implementation Details
20-
The common OpenCL to DPC++ conversion scenarios are covered.
21-
1. In dpcpp_with_opencl_kernel.dp.cpp, the DPC++ program compiles and runs an OpenCL kernel. (For this, OpenCL must be set as the backend and not Level 0, the environment variable SYCL_DEVICE_FILTER=OPENCL is used)
22-
2. In dpcpp_with_opencl_objects.dp.cpp, the program converts OpenCL objects (Memory Objects, Platform, Context, Program, Kernel) to DPC++ and execute the program.
2326

24-
## License
27+
Two common OpenCL to DPC++ conversion scenarios are demonstrated.
28+
29+
1. In `dpcpp_with_opencl_kernel.dp.cpp`, the DPC++ program compiles and runs
30+
an OpenCL kernel. (For this, OpenCL must be set as the backend and not Level
31+
0, the environment variable SYCL_DEVICE_FILTER=OPENCL is used).
32+
33+
2. In `dpcpp_with_opencl_objects.dp.cpp`, the program converts OpenCL objects
34+
(Memory Objects, Platform, Context, Program, Kernel) to DPC++ and execute the
35+
program.
36+
37+
## License
38+
2539
Code samples are licensed under the MIT license. See
26-
[License.txt](https://github.com/oneapi-src/oneAPI-samples/blob/master/License.txt) for details.
40+
[License.txt](https://github.com/oneapi-src/oneAPI-samples/blob/master/License.txt)
41+
for details.
2742

28-
Third party program Licenses can be found here: [third-party-programs.txt](https://github.com/oneapi-src/oneAPI-samples/blob/master/third-party-programs.txt)
43+
Third party program Licenses can be found here:
44+
[third-party-programs.txt](https://github.com/oneapi-src/oneAPI-samples/blob/master/third-party-programs.txt)
2945

3046
## Building the Program
3147

32-
> Note: if you have not already done so, set up your CLI
33-
> environment by sourcing the setvars script located in
34-
> the root of your oneAPI installation.
48+
> Note: if you have not already done so, set up your CLI
49+
> environment by sourcing the setvars script located in
50+
> the root of your oneAPI installation.
3551
>
36-
> Linux Sudo: . /opt/intel/oneapi/setvars.sh
37-
> Linux User: . ~/intel/oneapi/setvars.sh
52+
> Linux sudo: . /opt/intel/oneapi/setvars.sh
53+
> Linux user: . ~/intel/oneapi/setvars.sh
3854
> Windows: C:\Program Files(x86)\Intel\oneAPI\setvars.bat
3955
4056
### Running Samples In DevCloud
41-
If running a sample in the Intel DevCloud, remember that you must specify the compute node (CPU, GPU, FPGA) and whether to run in batch or interactive mode. For more information, see the Intel® oneAPI Base Toolkit Get Started Guide (https://devcloud.intel.com/oneapi/get_started/baseToolkitSamples/)
57+
58+
If running a sample in the Intel DevCloud, remember that you must specify the
59+
compute node (CPU, GPU, FPGA) and whether to run in batch or interactive mode.
60+
For more information, see the Intel® oneAPI Base Toolkit Get Started Guide
61+
(https://devcloud.intel.com/oneapi/get_started/baseToolkitSamples/)
4262

4363
### On a Linux* System
64+
4465
Perform the following steps:
66+
4567
1. Build the program
4668
```
4769
$ mkdir build
@@ -61,7 +83,7 @@ Perform the following steps:
6183
make clean
6284
```
6385
64-
### Example of Output
86+
### Output Example
6587
```
6688
Device: Intel(R) HD Graphics 630 [0x5912]
6789
PASSED!

DirectProgramming/DPC++/OpenCLInterop/sample.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
22
"guid": "E3DE34BF-E5B6-44AF-8722-B2A5A6BE8D57",
33
"name": "DPC++ OpenCL Interoperability Samples",
4-
"categories": [ "Toolkit/DirectProgramming/DPC++/opencl_interop/" ],
5-
"description": "Samples showing DPC++ OpenCL Interoperability",
4+
"categories": [ "Toolkit/oneAPI Direct Programming/DPC++/OpenCL Interoperability" ],
5+
"description": "Samples showing DPC++ and OpenCL Interoperability",
66
"toolchain": [ "dpcpp" ],
77
"languages": [ { "cpp": { "properties": { "projectOptions": [ { "projectType": "makefile" } ] } } } ],
88
"os": [ "linux" ],

0 commit comments

Comments
 (0)