Skip to content

Commit 2e9af93

Browse files
authored
setvars diagutil vscode for Tools folder (oneapi-src#872)
* setvars diagutil vscode for Tools folder Added standard text for setvars, diagnostic utility and vs code for the Tools directory. * Fix merge conflicts Some files were branched from develop, which created merge conflicts with master. I removed the conflicting files.
1 parent 3889844 commit 2e9af93

File tree

11 files changed

+464
-179
lines changed

11 files changed

+464
-179
lines changed

Tools/Advisor/matrix_multiply_advisor/README.md

Lines changed: 40 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# `Matrix Multiply` Sample
2-
A sample containing multiple implementations of matrix multiplication code sample and is implemented using the DPC++ language for CPU and GPU.
2+
A sample containing multiple implementations of matrix multiplication code
3+
sample and is implemented using the DPC++ language for CPU and GPU.
34

45
| Optimized for | Description
56
|:--- |:---
@@ -11,42 +12,60 @@ A sample containing multiple implementations of matrix multiplication code sampl
1112

1213
## Purpose
1314

14-
The Matrix Multiplication sample performs basic matrix multiplication. Three versions are provided that use different features of DPC++.
15+
The Matrix Multiplication sample performs basic matrix multiplication. Three
16+
versions are provided that use different features of DPC++.
1517

1618
## Key Implementation details
1719

18-
The basic DPC++ implementation explained in the code includes device selector, buffer, accessor, kernel, and command groups.
19-
The include folder is located at %ONEAPI_ROOT%\dev-utilities\latest\include on your development system.
20+
The basic DPC++ implementation explained in the code includes device selector,
21+
buffer, accessor, kernel, and command groups. The include folder is located at
22+
%ONEAPI_ROOT%\dev-utilities\latest\include on your development system.
2023

2124
## License
2225
Code samples are licensed under the MIT license. See
2326
[License.txt](https://github.com/oneapi-src/oneAPI-samples/blob/master/License.txt) for details.
2427

25-
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)
28+
Third party program Licenses can be found here:
29+
[third-party-programs.txt](https://github.com/oneapi-src/oneAPI-samples/blob/master/third-party-programs.txt)
2630

2731

2832
### Running Samples In DevCloud
29-
Running samples in the Intel DevCloud requires you to specify a compute node. For specific instructions, jump to [Run the Matrix Multiply Advisor sample on the DevCloud](#run-matmul-advisor-on-devcloud)
33+
Running samples in the Intel DevCloud requires you to specify a compute node.
34+
For specific instructions, jump to [Run the Matrix Multiply Advisor sample on the DevCloud](#run-matmul-advisor-on-devcloud)
3035

31-
### Using Visual Studio Code* (Optional)
36+
## Using Visual Studio Code* (Optional)
3237

33-
You can use Visual Studio Code (VS Code) extensions to set your environment, create launch configurations,
34-
and browse and download samples.
38+
You can use Visual Studio Code (VS Code) extensions to set your environment,
39+
create launch configurations, and browse and download samples.
3540

3641
The basic steps to build and run a sample using VS Code include:
3742
- Download a sample using the extension **Code Sample Browser for Intel oneAPI Toolkits**.
3843
- Configure the oneAPI environment with the extension **Environment Configurator for Intel oneAPI Toolkits**.
3944
- Open a Terminal in VS Code (**Terminal>New Terminal**).
4045
- Run the sample in the VS Code terminal using the instructions below.
46+
- (Linux only) Debug your GPU application with GDB for Intel® oneAPI toolkits using the **Generate Launch Configurations** extension.
4147

42-
To learn more about the extensions and how to configure the oneAPI environment, see
43-
[Using Visual Studio Code with Intel® oneAPI Toolkits](https://software.intel.com/content/www/us/en/develop/documentation/using-vs-code-with-intel-oneapi/top.html).
48+
To learn more about the extensions, see
49+
[Using Visual Studio Code with Intel® oneAPI Toolkits](https://www.intel.com/content/www/us/en/develop/documentation/using-vs-code-with-intel-oneapi/top.html).
4450

45-
After learning how to use the extensions for Intel oneAPI Toolkits, return to this readme for instructions on how to build and run a sample.
51+
After learning how to use the extensions for Intel oneAPI Toolkits, return to
52+
this readme for instructions on how to build and run a sample.
4653

4754
## How to Build
4855

49-
This sample contains 3 version of matrix multiplication using DPC++:
56+
> **Note**: If you have not already done so, set up your CLI
57+
> environment by sourcing the `setvars` script located in
58+
> the root of your oneAPI installation.
59+
>
60+
> Linux Sudo: . /opt/intel/oneapi/setvars.sh
61+
>
62+
> Linux User: . ~/intel/oneapi/setvars.sh
63+
>
64+
> Windows: C:\Program Files(x86)\Intel\oneAPI\setvars.bat
65+
>
66+
> For more information on environment variables, see Use the setvars Script for [Linux or macOS](https://www.intel.com/content/www/us/en/develop/documentation/oneapi-programming-guide/top/oneapi-development-environment-setup/use-the-setvars-script-with-linux-or-macos.html), or [Windows](https://www.intel.com/content/www/us/en/develop/documentation/oneapi-programming-guide/top/oneapi-development-environment-setup/use-the-setvars-script-with-windows.html).
67+
68+
This sample contains three versions of matrix multiplication using DPC++:
5069

5170
multiply1 – basic implementation of matrix multiply using DPC++
5271
multiply1_1 – basic implementation that replaces the buffer store with a local accessor “acc” to reduce memory traffic
@@ -65,6 +84,14 @@ Edit the line in src/multiply.hpp to select the version of the multiply function
6584
Clean the program
6685
make clean
6786

87+
If an error occurs, you can get more details by running `make` with
88+
the `VERBOSE=1` argument:
89+
``make VERBOSE=1``
90+
For more comprehensive troubleshooting, use the Diagnostics Utility for
91+
Intel® oneAPI Toolkits, which provides system checks to find missing
92+
dependencies and permissions errors.
93+
[Learn more](https://www.intel.com/content/www/us/en/develop/documentation/diagnostic-utility-user-guide/top.html).
94+
6895
### On a Windows* System Using Visual Studio 2017 or newer
6996
* Open Visual Studio 2017
7097
* Select Menu "File > Open > Project/Solution", find "matrix_multiply" folder and select "matrix_multiply.sln"

Tools/ApplicationDebugger/array-transform/README.md

Lines changed: 35 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -50,23 +50,45 @@ Code samples are licensed under the MIT license. See
5050

5151
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)
5252

53+
## Using Visual Studio Code* (Optional)
54+
55+
You can use Visual Studio Code (VS Code) extensions to set your environment,
56+
create launch configurations, and browse and download samples.
57+
58+
The basic steps to build and run a sample using VS Code include:
59+
- Download a sample using the extension **Code Sample Browser for Intel oneAPI Toolkits**.
60+
- Configure the oneAPI environment with the extension **Environment Configurator for Intel oneAPI Toolkits**.
61+
- Open a Terminal in VS Code (**Terminal>New Terminal**).
62+
- Run the sample in the VS Code terminal using the instructions below.
63+
- (Linux only) Debug your GPU application with GDB for Intel® oneAPI toolkits using the **Generate Launch Configurations** extension.
64+
65+
To learn more about the extensions, see
66+
[Using Visual Studio Code with Intel® oneAPI Toolkits](https://www.intel.com/content/www/us/en/develop/documentation/using-vs-code-with-intel-oneapi/top.html).
67+
68+
After learning how to use the extensions for Intel oneAPI Toolkits, return to
69+
this readme for instructions on how to build and run a sample.
70+
5371
## Building and Running the `array-transform` Program
5472

55-
> Note: if you have not already done so, set up your CLI
56-
> environment by sourcing the setvars script located in
73+
> **Note**: If you have not already done so, set up your CLI
74+
> environment by sourcing the `setvars` script located in
5775
> the root of your oneAPI installation.
5876
>
5977
> Linux Sudo: . /opt/intel/oneapi/setvars.sh
78+
>
6079
> Linux User: . ~/intel/oneapi/setvars.sh
80+
>
6181
> Windows: C:\Program Files(x86)\Intel\oneAPI\setvars.bat
82+
>
83+
>For more information on environment variables, see Use the setvars Script for [Linux or macOS](https://www.intel.com/content/www/us/en/develop/documentation/oneapi-programming-guide/top/oneapi-development-environment-setup/use-the-setvars-script-with-linux-or-macos.html), or [Windows](https://www.intel.com/content/www/us/en/develop/documentation/oneapi-programming-guide/top/oneapi-development-environment-setup/use-the-setvars-script-with-windows.html).
6284
6385
### Setup
6486

6587
Preliminary setup steps are needed for the debugger to function.
6688
Please see the setup instructions in the Get Started Guide based on
6789
your OS:
68-
[Linux](https://software.intel.com/en-us/get-started-with-debugging-dpcpp-linux),
69-
[Windows](https://software.intel.com/en-us/get-started-with-debugging-dpcpp-windows).
90+
[Linux](https://www.intel.com/en-us/get-started-with-debugging-dpcpp-linux),
91+
[Windows](https://www.intel.com/en-us/get-started-with-debugging-dpcpp-windows).
7092

7193

7294
### Include Files
@@ -91,21 +113,6 @@ For more information, see the Intel® oneAPI
91113
Base Toolkit Get Started Guide
92114
(https://devcloud.intel.com/oneapi/get-started/base-toolkit/).
93115

94-
### Using Visual Studio Code* (Optional)
95-
96-
You can use Visual Studio Code (VS Code) extensions to set your environment, create launch configurations,
97-
and browse and download samples.
98-
99-
The basic steps to build and run a sample using VS Code include:
100-
- Download a sample using the extension **Code Sample Browser for Intel® oneAPI Toolkits**.
101-
- Configure the oneAPI environment with the extension **Environment Configurator for Intel® oneAPI Toolkits**.
102-
- Open a Terminal in VS Code (**Terminal>New Terminal**).
103-
- Run the sample in the VS Code terminal using the instructions below.
104-
105-
To learn more about the extensions and how to configure the oneAPI environment, see
106-
[Using Visual Studio Code with Intel® oneAPI Toolkits](https://software.intel.com/content/www/us/en/develop/documentation/using-vs-code-with-intel-oneapi/top.html).
107-
108-
After learning how to use the Extension Pack for Intel® oneAPI Toolkits, return to this readme for instructions on how to build and run a sample.
109116

110117

111118
### Auto-Attach
@@ -191,6 +198,15 @@ For instructions about starting and using the debugger, please
191198
see the
192199
[Get Started Guide (Linux)](https://software.intel.com/en-us/get-started-with-debugging-dpcpp-linux).
193200
201+
202+
If an error occurs, you can get more details by running `make` with
203+
the `VERBOSE=1` argument:
204+
``make VERBOSE=1``
205+
For more comprehensive troubleshooting, use the Diagnostics Utility for
206+
Intel® oneAPI Toolkits, which provides system checks to find missing
207+
dependencies and permissions errors.
208+
[Learn more](https://www.intel.com/content/www/us/en/develop/documentation/diagnostic-utility-user-guide/top.html).
209+
194210
### On a Windows* System Using Visual Studio* Version 2017 or Newer
195211
196212
#### Command line using MSBuild

Tools/Benchmarks/STREAM/README.md

Lines changed: 47 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
# STREAM Sample
22

3-
This package contains a modified version of the [Stream Benchmark](http://www.cs.virginia.edu/stream/) implementation using DPC++ for CPU and GPU.
3+
This package contains a modified version of the [Stream Benchmark](http://www.cs.virginia.edu/stream/) implementation using DPC++ for CPU and GPU.
44

55

66
| Optimized for | Description
77
|:--- |:---
88
| OS | Linux* Ubuntu* 20.04
9-
| Hardware | GEN9, Iris-Xe Max
9+
| Hardware | GEN9, Iris-Xe Max
1010
| Software | Intel® oneAPI DPC++ Compiler
1111
| What you will learn | How to benchmark the memory bandwidth using STREAM.
1212
| Time to complete | 5 minutes
@@ -15,7 +15,7 @@ This package contains a modified version of the [Stream Benchmark](http://www.cs
1515
## Purpose
1616
The STREAM sample performs the memory bandwidth benchmark.
1717

18-
## Key Implementation Details
18+
## Key Implementation Details
1919
This sample contains a STREAM implementation using DPC++ for CPU and GPU and is a variant of the [STREAM](http://www.cs.virginia.edu/stream/) benchmark code. Please review the license terms regarding publishing benchmarks.”
2020

2121
## License
@@ -35,45 +35,66 @@ For the original [Stream License]( http://www.cs.virginia.edu/stream/FTP/Code/LI
3535
3. You are free to publish results obtained from running this
3636
program, or from works that you derive from this program,
3737
with the following limitations:
38-
38+
3939
3a. In order to be referred to as "STREAM benchmark results",
4040
published results must be in conformance to the STREAM
4141
Run Rules, (briefly reviewed below) published at
4242
http://www.cs.virginia.edu/stream/ref.html
4343
and incorporated herein by reference.
4444
As the copyright holder, John McCalpin retains the
4545
right to determine conformity with the Run Rules.
46-
46+
4747
3b. Results based on modified source code or on runs not in
4848
accordance with the STREAM Run Rules must be clearly
4949
labelled whenever they are published. Examples of
5050
proper labelling include:
51-
"tuned STREAM benchmark results"
51+
"tuned STREAM benchmark results"
5252
"based on a variant of the STREAM benchmark code"
5353
Other comparable, clear and reasonable labelling is
5454
acceptable.
55-
55+
5656
3c. Submission of results to the STREAM benchmark web site
5757
is encouraged, but not required.
5858
4. Use of this program or creation of derived works based on this
5959
program constitutes acceptance of these licensing restrictions.
6060
5. Absolutely no warranty is expressed or implied.
6161
***
6262

63-
## Building the `STREAM` Program for CPU and GPU
63+
## Using Visual Studio Code* (Optional)
64+
65+
You can use Visual Studio Code (VS Code) extensions to set your environment,
66+
create launch configurations, and browse and download samples.
6467

65-
### On a Linux* System
68+
The basic steps to build and run a sample using VS Code include:
69+
- Download a sample using the extension **Code Sample Browser for Intel oneAPI Toolkits**.
70+
- Configure the oneAPI environment with the extension **Environment Configurator for Intel oneAPI Toolkits**.
71+
- Open a Terminal in VS Code (**Terminal>New Terminal**).
72+
- Run the sample in the VS Code terminal using the instructions below.
73+
- (Linux only) Debug your GPU application with GDB for Intel® oneAPI toolkits using the **Generate Launch Configurations** extension.
6674

67-
Perform the following steps:
75+
To learn more about the extensions, see
76+
[Using Visual Studio Code with Intel® oneAPI Toolkits](https://www.intel.com/content/www/us/en/develop/documentation/using-vs-code-with-intel-oneapi/top.html).
6877

69-
> Note: If you have not already done so, set up your CLI environment by sourcing
70-
> the setvars script located in the root of your oneAPI installation.
71-
>
72-
> Linux (sudo): `source /opt/intel/oneapi/setvars.sh`
73-
> Linux (user): `~/intel/oneapi/ setvars.sh`
78+
After learning how to use the extensions for Intel oneAPI Toolkits, return to
79+
this readme for instructions on how to build and run a sample.
7480

75-
1. Build the program using the following `cmake` commands.
76-
```
81+
## Building the `STREAM` Program for CPU and GPU
82+
83+
### On a Linux* System
84+
> **Note**: If you have not already done so, set up your CLI
85+
> environment by sourcing the `setvars` script located in
86+
> the root of your oneAPI installation.
87+
>
88+
> Linux Sudo: . /opt/intel/oneapi/setvars.sh
89+
>
90+
> Linux User: . ~/intel/oneapi/setvars.sh
91+
>
92+
> Windows: C:\Program Files(x86)\Intel\oneAPI\setvars.bat
93+
>
94+
>For more information on environment variables, see Use the setvars Script for [Linux or macOS](https://www.intel.com/content/www/us/en/develop/documentation/oneapi-programming-guide/top/oneapi-development-environment-setup/use-the-setvars-script-with-linux-or-macos.html), or [Windows](https://www.intel.com/content/www/us/en/develop/documentation/oneapi-programming-guide/top/oneapi-development-environment-setup/use-the-setvars-script-with-windows.html).
95+
96+
1. Build the program using the following `cmake` commands.
97+
```
7798
$ mkdir build
7899
$ cd build
79100
$ cmake ..
@@ -88,6 +109,15 @@ $ make
88109
make clean
89110
```
90111
112+
113+
If an error occurs, you can get more details by running `make` with
114+
the `VERBOSE=1` argument:
115+
``make VERBOSE=1``
116+
For more comprehensive troubleshooting, use the Diagnostics Utility for
117+
Intel® oneAPI Toolkits, which provides system checks to find missing
118+
dependencies and permissions errors.
119+
[Learn more](https://www.intel.com/content/www/us/en/develop/documentation/diagnostic-utility-user-guide/top.html).
120+
91121
## Running the Sample
92122
```
93123
./stream_sycl.exe

Tools/GPU-Occupancy-Calculator/README.md

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,31 @@
22

33
## Purpose
44

5-
Intel GPU Occupancy Calculator is HTML Web Application to compute GPU Occupancy for GPU/HPC application development.
5+
Intel GPU Occupancy Calculator is HTML Web Application to compute GPU Occupancy
6+
for GPU/HPC application development.
67

78
## Tool Details
89

9-
* Allows user to pick a GPU SKU, input Global Size of HPC application, Work-Group(WG) size, Sub-Group size, Shared Local Memory(SLM) size and barrier usage.
10-
* Computes Sub-Slice/Dual Sub-Slice (SS/DSS) Theoretical Occupancy based on the inputs.
11-
* Generates charts for Impact of varying Work-Group size and Impact of varying Shared Local Memory size.
12-
* Generates a list of all valid Work-Group sizes that can be used and corresponding Occupancy.
13-
* Generates a list of optimal configuration values for WG, SG and SLM limit that will get 100% Occupancy.
10+
* Allows user to pick a GPU SKU, input Global Size of HPC application,
11+
Work-Group(WG) size, Sub-Group size, Shared Local Memory(SLM) size and barrier
12+
usage.
13+
* Computes Sub-Slice/Dual Sub-Slice (SS/DSS) Theoretical Occupancy based
14+
on the inputs.
15+
* Generates charts for Impact of varying Work-Group size and
16+
Impact of varying Shared Local Memory size.
17+
* Generates a list of all valid
18+
Work-Group sizes that can be used and corresponding Occupancy.
19+
* Generates a list of optimal configuration values for WG, SG and SLM limit that
20+
will get 100% Occupancy.
1421

1522
## Usage
1623
* Open Page: [oneapi-src.github.io/oneAPI-samples/Tools/GPU-Occupancy-Calculator/](https://oneapi-src.github.io/oneAPI-samples/Tools/GPU-Occupancy-Calculator/)
17-
* Select a GPU from the dropdown and change "EU Count" if necessary OR select the option to enter PCI ID for GPU.
18-
* The tool will load some default values for Global Size, WG size, SG size, SLM size and will compute Occupancy and generate graphs.
19-
* Change the values of GPU target, Global size, WG size, SG size, SLM size or Barrier usage based on your HPC application to calculate Occupancy and tune application.
24+
* Select a GPU from the dropdown and change "EU Count" if necessary OR select
25+
the option to enter PCI ID for GPU.
26+
* The tool will load some default values for Global Size, WG size, SG size,
27+
SLM size and will compute Occupancy and generate graphs.
28+
* Change the values of GPU target, Global size, WG size, SG size, SLM size or
29+
Barrier usage based on your HPC application to calculate Occupancy and tune application.
2030

2131
## License
2232

0 commit comments

Comments
 (0)