Skip to content

Commit e7738ee

Browse files
authored
Remove mentions to FPGAs in simple-add and vector-add (#2578)
There will be no support for FPGAs in the 2025.1 release of the Intel OneAPI compiler. This PR therefore removes mentions to FPGAs in the simple-add and vector-add samples.
1 parent f7c63a9 commit e7738ee

File tree

10 files changed

+17
-707
lines changed

10 files changed

+17
-707
lines changed

DirectProgramming/C++SYCL/DenseLinearAlgebra/simple-add/README.md

Lines changed: 5 additions & 153 deletions
Original file line numberDiff line numberDiff line change
@@ -15,27 +15,16 @@ The `Simple Add` sample is a simple program that adds two large vectors of integ
1515
The basic SYCL implementations explained in the sample includes device selector,
1616
USM, buffer, accessor, kernel, and command groups.
1717

18-
>**Note**: See the `Base: Vector Add` sample to examine another getting started sample you can use to learn more about using the Intel® oneAPI Toolkits to develop SYCL-compliant applications for CPU, GPU, and FPGA devices.
18+
>**Note**: See the `Base: Vector Add` sample to examine another getting started sample you can use to learn more about using the Intel® oneAPI Toolkits to develop SYCL-compliant applications for CPU and GPU devices.
1919
2020
## Prerequisites
2121

2222
| Optimized for | Description
2323
|:--- |:---
2424
| OS | Ubuntu* 18.04 <br> Windows* 10, 11
25-
| Hardware | GEN9 or newer <br> Intel® Agilex® 7, Arria® 10, and Stratix® 10 FPGAs
25+
| Hardware | GEN9 or newer
2626
| Software | Intel® oneAPI DPC++/C++ Compiler
2727

28-
29-
> **Note**: Even though the Intel DPC++/C++ OneAPI compiler is enough to compile for CPU, GPU, FPGA emulation, generating FPGA reports and generating RTL for FPGAs, there are extra software requirements for the FPGA simulation flow and FPGA compiles.
30-
>
31-
> For using the simulator flow, Intel® Quartus® Prime Pro Edition and one of the following simulators must be installed and accessible through your PATH:
32-
> - Questa*-Intel® FPGA Edition
33-
> - Questa*-Intel® FPGA Starter Edition
34-
> - ModelSim® SE
35-
>
36-
> When using the hardware compile flow, Intel® Quartus® Prime Pro Edition must be installed and accessible through your PATH.
37-
> **Warning** Make sure you add the device files associated with the FPGA that you are targeting to your Intel® Quartus® Prime installation.
38-
3928
## Key Implementation Details
4029

4130
This sample provides examples of both buffers and USM implementations for simple side-by-side comparison.
@@ -105,20 +94,7 @@ To learn more about the extensions and how to configure the oneAPI environment,
10594
cmake .. -DUSM=1
10695
```
10796

108-
> **Note**: When building for FPGAs, the default FPGA family will be used (Intel® Agilex® 7).
109-
> You can change the default target by using the command:
110-
> ```
111-
> cmake .. -DFPGA_DEVICE=<FPGA device family or FPGA part number>
112-
> ```
113-
>
114-
> Alternatively, you can target an explicit FPGA board variant and BSP by using the following command:
115-
> ```
116-
> cmake .. -DFPGA_DEVICE=<board-support-package>:<board-variant>
117-
> ```
118-
>
119-
> You will only be able to run an executable on the FPGA if you specified a BSP.
120-
121-
#### Build for CPU and GPU
97+
#### Build
12298

12399
1. Build the program.
124100
```
@@ -129,33 +105,6 @@ To learn more about the extensions and how to configure the oneAPI environment,
129105
make clean
130106
```
131107

132-
#### Build for FPGA
133-
134-
1. Compile for FPGA emulation.
135-
```
136-
make fpga_emu
137-
```
138-
2. Compile for simulation (fast compile time, targets simulator FPGA device):
139-
```
140-
make fpga_sim
141-
```
142-
3. Generate HTML performance reports.
143-
```
144-
make report
145-
```
146-
The reports reside at `simple-add_report.prj/reports/report.html`.
147-
148-
4. Compile the program for FPGA hardware. (Compiling for hardware can take a long
149-
time.)
150-
```
151-
make fpga
152-
```
153-
154-
5. Clean the program. (Optional)
155-
```
156-
make clean
157-
```
158-
159108
### On Windows*
160109

161110
#### Configure the build system
@@ -177,20 +126,7 @@ time.)
177126
cmake -G "NMake Makefiles" .. -DUSM=1
178127
```
179128

180-
> **Note**: When building for FPGAs, the default FPGA family will be used (Intel® Agilex® 7).
181-
> You can change the default target by using the command:
182-
> ```
183-
> cmake -G "NMake Makefiles" .. -DFPGA_DEVICE=<FPGA device family or FPGA part number>
184-
> ```
185-
>
186-
> Alternatively, you can target an explicit FPGA board variant and BSP by using the following command:
187-
> ```
188-
> cmake -G "NMake Makefiles" .. -DFPGA_DEVICE=<board-support-package>:<board-variant>
189-
> ```
190-
>
191-
> You will only be able to run an executable on the FPGA if you specified a BSP.
192-
193-
#### Build for CPU and GPU
129+
#### Build
194130

195131
1. Build the program.
196132
```
@@ -201,35 +137,6 @@ time.)
201137
nmake clean
202138
```
203139

204-
#### Build for FPGA
205-
206-
>**Note**: Compiling to FPGA hardware on Windows* requires a third-party or custom Board Support Package (BSP) with Windows* support.
207-
208-
1. Compile for FPGA emulation.
209-
```
210-
nmake fpga_emu
211-
```
212-
2. Compile for simulation (fast compile time, targets simulator FPGA device):
213-
```
214-
nmake fpga_sim
215-
```
216-
3. Generate HTML performance reports.
217-
```
218-
nmake report
219-
```
220-
The reports reside at `simple-add_report.prj/reports/report.html`.
221-
222-
4. Compile the program for FPGA hardware. (Compiling for hardware can take a long
223-
time.)
224-
```
225-
nmake fpga
226-
```
227-
228-
5. Clean the program. (Optional)
229-
```
230-
nmake clean
231-
```
232-
233140
#### Troubleshooting
234141

235142
If an error occurs, you can get more details by running `make` with
@@ -243,39 +150,16 @@ If you receive an error message, troubleshoot the problem using the **Diagnostic
243150

244151
### On Linux
245152

246-
#### Run for CPU and GPU
247-
248153
1. Change to the output directory.
249154

250155
2. Run the program for Unified Shared Memory (USM) and buffers.
251156
```
252157
./simple-add-buffers
253158
./simple-add-usm
254159
```
255-
#### Run for FPGA
256-
257-
1. Change to the output directory.
258-
259-
2. Run for FPGA emulation.
260-
```
261-
./simple-add-buffers.fpga_emu
262-
./simple-add-usm.fpga_emu
263-
```
264-
3. Run on FPGA simulator.
265-
```
266-
CL_CONTEXT_MPSIM_DEVICE_INTELFPGA=1 ./simple-add-buffers.fpga_sim
267-
CL_CONTEXT_MPSIM_DEVICE_INTELFPGA=1 ./simple-add-usm.fpga_sim
268-
```
269-
4. Run on FPGA hardware (only if you ran `cmake` with `-DFPGA_DEVICE=<board-support-package>:<board-variant>`).
270-
```
271-
./simple-add-buffers.fpga
272-
./simple-add-usm.fpga
273-
```
274160

275161
### On Windows
276162

277-
#### Run for CPU and GPU
278-
279163
1. Change to the output directory.
280164

281165
2. Run the program for Unified Shared Memory (USM) and buffers.
@@ -284,31 +168,9 @@ If you receive an error message, troubleshoot the problem using the **Diagnostic
284168
simple-add-buffers.exe
285169
```
286170

287-
#### Run for FPGA
288-
289-
1. Change to the output directory.
290-
291-
2. Run for FPGA emulation.
292-
```
293-
simple-add-buffers.fpga_emu.exe
294-
simple-add-usm.fpga_emu.exe
295-
```
296-
3. Run on FPGA simulator.
297-
```
298-
set CL_CONTEXT_MPSIM_DEVICE_INTELFPGA=1
299-
simple-add-buffers.fpga_sim.exe
300-
simple-add-usm.fpga_sim.exe
301-
set CL_CONTEXT_MPSIM_DEVICE_INTELFPGA=
302-
```
303-
4. Run on FPGA hardware (only if you ran `cmake` with `-DFPGA_DEVICE=<board-support-package>:<board-variant>`).
304-
```
305-
simple-add-buffers.fpga.exe
306-
simple-add-usm.fpga.exe
307-
```
308-
309171
### Build and Run the `Simple Add` Sample in Intel® DevCloud (Optional)
310172

311-
When running a sample in the Intel® DevCloud, you must specify the compute node (CPU, GPU, FPGA) and whether to run in batch or interactive mode.
173+
When running a sample in the Intel® DevCloud, you must specify the compute node (CPU, GPU) and whether to run in batch or interactive mode.
312174

313175
>**Note**: Since Intel® DevCloud for oneAPI includes the appropriate development environment already configured, you do not need to set environment variables.
314176
@@ -328,19 +190,9 @@ qsub -I -l nodes=1:gpu:ppn=2 -d .
328190
|:--- |:---
329191
|GPU |`qsub -l nodes=1:gpu:ppn=2 -d .`
330192
|CPU |`qsub -l nodes=1:xeon:ppn=2 -d .`
331-
|FPGA Compile Time |`qsub -l nodes=1:fpga_compile:ppn=2 -d .`
332-
|FPGA Runtime (Arria 10) |`qsub -l nodes=1:fpga_runtime:arria10:ppn=2 -d .`
333-
334193

335194
>**Note**: For more information on how to specify compute nodes, read *[Launch and manage jobs](https://devcloud.intel.com/oneapi/documentation/job-submission/)* in the Intel® DevCloud for oneAPI Documentation.
336195
337-
Only `fpga_compile` nodes support compiling to FPGA. When compiling for FPGA hardware, increase the job timeout to **24 hours**.
338-
339-
Executing programs on FPGA hardware is only supported on `fpga_runtime` nodes of the appropriate type, such as `fpga_runtime:arria10`.
340-
341-
Neither compiling nor executing programs on FPGA hardware are supported on the login nodes. For more information, see the Intel® DevCloud for oneAPI [*Intel® oneAPI Base Toolkit Get Started*](https://devcloud.intel.com/oneapi/get_started/) page.
342-
343-
344196
## Example Output
345197
```
346198
simple-add output snippet changed to:

DirectProgramming/C++SYCL/DenseLinearAlgebra/simple-add/sample.json

Lines changed: 2 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,7 @@
2424
],
2525
"targetDevice": [
2626
"CPU",
27-
"GPU",
28-
"FPGA"
27+
"GPU"
2928
],
3029
"os": [
3130
"linux",
@@ -58,48 +57,6 @@
5857
"./simple-add-buffers",
5958
"make clean"
6059
]
61-
},
62-
{
63-
"id": "fpga_emu_buffers",
64-
"steps": [
65-
"mkdir build",
66-
"cd build",
67-
"cmake ..",
68-
"make fpga_emu",
69-
"./simple-add-buffers.fpga_emu",
70-
"make clean"
71-
]
72-
},
73-
{
74-
"id": "fpga_emu_usm",
75-
"steps": [
76-
"mkdir build",
77-
"cd build",
78-
"cmake .. -DUSM=1",
79-
"make fpga_emu",
80-
"./simple-add-usm.fpga_emu",
81-
"make clean"
82-
]
83-
},
84-
{
85-
"id": "fpga_report_buffers",
86-
"steps": [
87-
"mkdir build",
88-
"cd build",
89-
"cmake ..",
90-
"make report",
91-
"make clean"
92-
]
93-
},
94-
{
95-
"id": "fpga_report_usm",
96-
"steps": [
97-
"mkdir build",
98-
"cd build",
99-
"cmake .. -DUSM=1",
100-
"make report",
101-
"make clean"
102-
]
10360
}
10461
],
10562
"windows": [
@@ -124,30 +81,8 @@
12481
"simple-add-buffers.exe",
12582
"nmake clean"
12683
]
127-
},
128-
{
129-
"id": "fpga_emu_buffers",
130-
"steps": [
131-
"mkdir build",
132-
"cd build",
133-
"cmake -G \"NMake Makefiles\" ..",
134-
"nmake fpga_emu",
135-
"simple-add-buffers.fpga_emu.exe",
136-
"nmake clean"
137-
]
138-
},
139-
{
140-
"id": "fpga_emu_usm",
141-
"steps": [
142-
"mkdir build",
143-
"cd build",
144-
"cmake -G \"NMake Makefiles\" -DUSM=1 ..",
145-
"nmake fpga_emu",
146-
"simple-add-usm.fpga_emu.exe",
147-
"nmake clean"
148-
]
14984
}
15085
]
15186
},
15287
"expertise": "Getting Started"
153-
}
88+
}

0 commit comments

Comments
 (0)