Skip to content

Commit 584f47f

Browse files
authored
FPGA: Move all FPGA samples to IP Authoring, targeting Agilex by default (#1307)
# Existing Sample Changes ## Description All of the FPGA samples are moved to the IP Authoring flow. The default target for all samples is now Agilex. For targeting a specific board, the user must run `cmake` with `-DFPGA_DEVICE=` his own BSP name.
1 parent 1ace27d commit 584f47f

File tree

133 files changed

+3242
-2462
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

133 files changed

+3242
-2462
lines changed

DirectProgramming/C++SYCL_FPGA/README.md

-2
Original file line numberDiff line numberDiff line change
@@ -269,8 +269,6 @@ qsub -I -l nodes=1:fpga_runtime:ppn=2 -d .
269269
270270
Only `fpga_compile` nodes support compiling to FPGA. When compiling for FPGA hardware, increase the job timeout to 24 hours.
271271

272-
Executing programs on FPGA hardware is only supported on `fpga_runtime` nodes of the appropriate type, such as `fpga_runtime:arria10` or `fpga_runtime:stratix10`.
273-
274272
Neither compiling nor executing programs on FPGA hardware are supported on the login nodes. For more information, see the [Intel® oneAPI Base Toolkit Get Started Guide](https://devcloud.intel.com/oneapi/documentation/base-toolkit/).
275273

276274
>**Note**: Since Intel® DevCloud for oneAPI includes the appropriate development environment already configured for you, you do not need to set environment variables.

DirectProgramming/C++SYCL_FPGA/ReferenceDesigns/anr/README.md

+34-19
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ You can also find more information about [troubleshooting build errors](/DirectP
3737
| Optimized for | Description
3838
|:--- |:---
3939
| OS | Ubuntu* 18.04/20.04 <br> RHEL*/CentOS* 8 <br> SUSE* 15 <br> Windows* 10
40-
| Hardware | Intel® Programmable Acceleration Card (PAC) with Intel Arria® 10 GX FPGA <br> FPGA Programmable Acceleration Card (PAC) D5005 (with Intel Stratix® 10 SX) <br> Intel Xeon® CPU E5-1650 v2 @ 3.50GHz (host machine)
40+
| Hardware | Intel® Agilex™, Arria® 10, and Stratix® 10 FPGAs
4141
| Software | Intel® oneAPI DPC++/C++ Compiler
4242

4343
> **Note**: Even though the Intel DPC++/C++ OneAPI compiler is enough to compile for emulation, generating reports and generating RTL, there are extra software requirements for the simulation flow and FPGA compiles.
@@ -48,6 +48,8 @@ You can also find more information about [troubleshooting build errors](/DirectP
4848
> - ModelSim® SE
4949
>
5050
> When using the hardware compile flow, Intel® Quartus® Prime Pro Edition must be installed and accessible through your PATH.
51+
>
52+
> :warning: Make sure you add the device files associated with the FPGA that you are targeting to your Intel® Quartus® Prime installation.
5153
5254
## Key Implementation Details
5355

@@ -149,17 +151,26 @@ The design uses the following generic header files.
149151
### On Linux*
150152

151153
1. Change to the sample directory.
152-
2. Configure the build system for **Intel® PAC with Intel Arria® 10 GX FPGA**, which is the default.
154+
2. Configure the build system for the Agilex™ device family, which is the default.
153155

154156
```
155157
mkdir build
156158
cd build
157159
cmake ..
158160
```
159-
For **Intel® FPGA PAC D5005 (with Intel Stratix® 10 SX)**, enter the following:
160-
```
161-
cmake .. -DFPGA_DEVICE=intel_s10sx_pac:pac_s10
162-
```
161+
162+
> **Note**: You can change the default target by using the command:
163+
> ```
164+
> cmake .. -DFPGA_DEVICE=<FPGA device family or FPGA part number>
165+
> ```
166+
>
167+
> Alternatively, you can target an explicit FPGA board variant and BSP by using the following command:
168+
> ```
169+
> cmake .. -DFPGA_DEVICE=<board-support-package>:<board-variant>
170+
> ```
171+
>
172+
> You will only be able to run an executable on the FPGA if you specified a BSP.
173+
163174
3. Compile the design. (The provided targets match the recommended development flow.)
164175
165176
1. Compile for emulation (fast compile time, targets emulated FPGA device).
@@ -181,23 +192,27 @@ The design uses the following generic header files.
181192
make fpga
182193
```
183194
184-
(Optional) The hardware compiles listed above can take several hours to complete; alternatively, you can download FPGA precompiled binaries (compatible with Linux* Ubuntu* 18.04) from [https://iotdk.intel.com/fpga-precompiled-binaries/latest/anr.fpga.tar.gz](https://iotdk.intel.com/fpga-precompiled-binaries/latest/anr.fpga.tar.gz).
185-
186195
### On Windows*
187196
188-
>**Note**: The Intel® PAC with Intel Arria® 10 GX FPGA and Intel® FPGA PAC D5005 (with Intel Stratix® 10 SX) do not yet support Windows*. Compiling to FPGA hardware on Windows* requires a third-party or custom Board Support Package (BSP) with Windows* support.
189-
190197
1. Change to the sample directory.
191-
2. Configure the build system for **Intel® PAC with Intel Arria® 10 GX FPGA**, which is the default.
198+
2. Configure the build system for the Agilex™ device family, which is the default.
192199
```
193200
mkdir build
194201
cd build
195202
cmake -G "NMake Makefiles" ..
196203
```
197-
To compile for the **Intel® FPGA PAC D5005 (with Intel Stratix® 10 SX)**, enter the following:
198-
```
199-
cmake -G "NMake Makefiles" .. -DFPGA_DEVICE=intel_s10sx_pac:pac_s10
200-
```
204+
205+
> **Note**: You can change the default target by using the command:
206+
> ```
207+
> cmake -G "NMake Makefiles" .. -DFPGA_DEVICE=<FPGA device family or FPGA part number>
208+
> ```
209+
>
210+
> Alternatively, you can target an explicit FPGA board variant and BSP by using the following command:
211+
> ```
212+
> cmake -G "NMake Makefiles" .. -DFPGA_DEVICE=<board-support-package>:<board-variant>
213+
> ```
214+
>
215+
> You will only be able to run an executable on the FPGA if you specified a BSP.
201216
202217
3. Compile the design. (The provided targets match the recommended development flow.)
203218
@@ -229,11 +244,11 @@ The design uses the following generic header files.
229244
```
230245
./anr.fpga_emu
231246
```
232-
2. Run the sample on the FPGA simulator device:
247+
2. Run the sample on the FPGA simulator device.
233248
```
234249
CL_CONTEXT_MPSIM_DEVICE_INTELFPGA=1 ./anr.fpga_sim
235250
```
236-
3. Alternatively, run the sample on the FPGA device.
251+
3. Alternatively, run the sample on the FPGA device (only if you ran `cmake` with `-DFPGA_DEVICE=<board-support-package>:<board-variant>`).
237252
```
238253
./anr.fpga
239254
```
@@ -244,13 +259,13 @@ The design uses the following generic header files.
244259
```
245260
anr.fpga_emu.exe
246261
```
247-
2. Run the sample on the FPGA simulator device:
262+
2. Run the sample on the FPGA simulator device.
248263
```
249264
set CL_CONTEXT_MPSIM_DEVICE_INTELFPGA=1
250265
anr.fpga_sim.exe
251266
set CL_CONTEXT_MPSIM_DEVICE_INTELFPGA=
252267
```
253-
3. Alternatively, run the sample on the FPGA device.
268+
3. Alternatively, run the sample on the FPGA device (only if you ran `cmake` with `-DFPGA_DEVICE=<board-support-package>:<board-variant>`).
254269
```
255270
anr.fpga.exe
256271
```

DirectProgramming/C++SYCL_FPGA/ReferenceDesigns/anr/src/CMakeLists.txt

+41-17
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,36 @@ set(FPGA_TARGET ${TARGET_NAME}.fpga)
66

77
# FPGA board selection
88
if(NOT DEFINED FPGA_DEVICE)
9-
set(FPGA_DEVICE "intel_a10gx_pac:pac_a10")
9+
set(FPGA_DEVICE "Agilex")
10+
set(DEVICE_FLAG "Agilex")
1011
message(STATUS "FPGA_DEVICE was not specified.\
11-
\nConfiguring the design to run on the default FPGA board ${FPGA_DEVICE} (Intel(R) PAC with Intel Arria(R) 10 GX FPGA). \
12-
\nPlease refer to the README for information on board selection.")
12+
\nConfiguring the design to the default FPGA family: ${FPGA_DEVICE}\
13+
\nPlease refer to the README for information on target selection.")
14+
15+
set(BSP_FLAG "")
1316
else()
14-
message(STATUS "Configuring the design to run on FPGA board ${FPGA_DEVICE}")
17+
string(TOLOWER ${FPGA_DEVICE} FPGA_DEVICE_NAME)
18+
if(FPGA_DEVICE_NAME MATCHES ".*a10.*" OR FPGA_DEVICE_NAME MATCHES ".*arria10.*")
19+
set(DEVICE_FLAG "A10")
20+
elseif(FPGA_DEVICE_NAME MATCHES ".*s10.*" OR FPGA_DEVICE_NAME MATCHES ".*stratix10.*")
21+
set(DEVICE_FLAG "S10")
22+
elseif(FPGA_DEVICE_NAME MATCHES ".*agilex.*")
23+
set(DEVICE_FLAG "Agilex")
24+
else()
25+
message(FATAL_ERROR "An unrecognized or custom board was passed, but DEVICE_FLAG was not specified. \
26+
Please make sure you have set -DDEVICE_FLAG=A10, -DDEVICE_FLAG=S10 or \
27+
-DDEVICE_FLAG=Agilex.")
28+
endif()
29+
message(STATUS "Configuring the design with the following target: ${FPGA_DEVICE}")
30+
31+
# Check if the target is a BSP
32+
if(IS_BSP MATCHES "1" OR FPGA_DEVICE MATCHES ".*pac_a10.*|.*pac_s10.*")
33+
set(BSP_FLAG "-DIS_BSP")
34+
else()
35+
set(BSP_FLAG "")
36+
message(STATUS "The selected target ${FPGA_DEVICE} is assumed to be an FPGA part number, so the IS_BSP macro will not be passed to your C++ code.")
37+
message(STATUS "If the target is actually a BSP, run cmake with -DIS_BSP=1 to pass the IS_BSP macro to your C++ code.")
38+
endif()
1539
endif()
1640

1741
# These are Windows-specific flags:
@@ -46,11 +70,11 @@ endif()
4670
# e.g. cmake .. -DSEED=7
4771
if(NOT DEFINED SEED)
4872
# the default seed
49-
if(FPGA_DEVICE MATCHES ".*a10.*")
73+
if(DEVICE_FLAG MATCHES "A10")
5074
set(SEED 1)
51-
elseif(FPGA_DEVICE MATCHES ".*s10.*")
75+
elseif(DEVICE_FLAG MATCHES "S10")
5276
set(SEED 2)
53-
elseif(FPGA_DEVICE MATCHES ".*agilex.*")
77+
elseif(DEVICE_FLAG MATCHES "Agilex")
5478
set(SEED 3)
5579
else()
5680
set(SEED 4)
@@ -79,11 +103,11 @@ if(PIXELS_PER_CYCLE)
79103
message(STATUS "PIXELS_PER_CYCLE explicitly set to ${PIXELS_PER_CYCLE}")
80104
else()
81105
# Default PIXELS_PER_CYCLE based on the board being used
82-
if(FPGA_DEVICE MATCHES ".*a10.*")
106+
if(DEVICE_FLAG MATCHES "A10")
83107
set(PIXELS_PER_CYCLE 2)
84-
elseif(FPGA_DEVICE MATCHES ".*s10.*")
108+
elseif(DEVICE_FLAG MATCHES "S10")
85109
set(PIXELS_PER_CYCLE 2)
86-
elseif(FPGA_DEVICE MATCHES ".*agilex.*")
110+
elseif(DEVICE_FLAG MATCHES "Agilex")
87111
set(PIXELS_PER_CYCLE 1)
88112
else()
89113
message(WARNING "Unknown board: setting PIXELS_PER_CYCLE to 1")
@@ -120,13 +144,13 @@ endif()
120144
# 1. The "compile" stage compiles the device code to an intermediate representation (SPIR-V).
121145
# 2. The "link" stage invokes the compiler's FPGA backend before linking.
122146
# For this reason, FPGA backend flags must be passed as link flags in CMake.
123-
set(EMULATOR_COMPILE_FLAGS "-fsycl -fintelfpga -Wall ${CONSTEXPR_STEPS} ${WIN_FLAG} ${AC_TYPES_FLAG} ${FILTER_SIZE_FLAG} ${PIXELS_PER_CYCLE_FLAG} ${MAX_COLS_FLAG} ${PIXEL_BITS_FLAG} -DFPGA_EMULATOR")
124-
set(EMULATOR_LINK_FLAGS "-fsycl -fintelfpga ${AC_TYPES_FLAG} ${FILTER_SIZE_FLAG} ${PIXELS_PER_CYCLE_FLAG} ${MAX_COLS_FLAG} ${PIXEL_BITS_FLAG}")
125-
set(SIMULATOR_COMPILE_FLAGS "-fsycl -fintelfpga -Wall ${CONSTEXPR_STEPS} ${WIN_FLAG} ${AC_TYPES_FLAG} ${FILTER_SIZE_FLAG} ${PIXELS_PER_CYCLE_FLAG} ${MAX_COLS_FLAG} ${PIXEL_BITS_FLAG} -Xssimulation -DFPGA_SIMULATOR")
126-
set(SIMULATOR_LINK_FLAGS "-fsycl -fintelfpga -Xssimulation -Xsghdl -Xstarget=${FPGA_DEVICE} ${USER_HARDWARE_FLAGS}")
127-
set(REPORT_LINK_FLAGS "-fsycl -fintelfpga -Xshardware ${PROFILE_FLAG} ${FLAT_COMPILE_FLAG} -Xsparallel=2 ${SEED_FLAG} -Xstarget=${FPGA_DEVICE} ${FILTER_SIZE_FLAG} ${PIXELS_PER_CYCLE_FLAG} ${MAX_COLS_FLAG} ${PIXEL_BITS_FLAG} ${IP_MODE_FLAG} ${USER_HARDWARE_FLAGS}")
128-
set(HARDWARE_COMPILE_FLAGS "-fsycl -fintelfpga -Wall ${CONSTEXPR_STEPS} ${WIN_FLAG} ${AC_TYPES_FLAG} ${FILTER_SIZE_FLAG} ${PIXELS_PER_CYCLE_FLAG} ${MAX_COLS_FLAG} ${PIXEL_BITS_FLAG} -DFPGA_HARDWARE")
129-
set(HARDWARE_LINK_FLAGS "${REPORT_LINK_FLAGS} ${AC_TYPES_FLAG}")
147+
set(EMULATOR_COMPILE_FLAGS "-fsycl -fintelfpga -Wall ${CONSTEXPR_STEPS} ${WIN_FLAG} ${AC_TYPES_FLAG} ${FILTER_SIZE_FLAG} ${PIXELS_PER_CYCLE_FLAG} ${MAX_COLS_FLAG} ${PIXEL_BITS_FLAG} -DFPGA_EMULATOR ${BSP_FLAG}")
148+
set(EMULATOR_LINK_FLAGS "-fsycl -fintelfpga ${AC_TYPES_FLAG} ${FILTER_SIZE_FLAG} ${PIXELS_PER_CYCLE_FLAG} ${MAX_COLS_FLAG} ${PIXEL_BITS_FLAG} ${BSP_FLAG}")
149+
set(SIMULATOR_COMPILE_FLAGS "-fsycl -fintelfpga -Wall ${CONSTEXPR_STEPS} ${WIN_FLAG} ${AC_TYPES_FLAG} ${FILTER_SIZE_FLAG} ${PIXELS_PER_CYCLE_FLAG} ${MAX_COLS_FLAG} ${PIXEL_BITS_FLAG} -Xssimulation -DFPGA_SIMULATOR ${BSP_FLAG}")
150+
set(SIMULATOR_LINK_FLAGS "-fsycl -fintelfpga -Xssimulation -Xsghdl -Xstarget=${FPGA_DEVICE} ${USER_HARDWARE_FLAGS} ${AC_TYPES_FLAG} ${BSP_FLAG}")
151+
set(REPORT_LINK_FLAGS "-fsycl -fintelfpga -Xshardware ${PROFILE_FLAG} ${FLAT_COMPILE_FLAG} -Xsparallel=2 ${SEED_FLAG} -Xstarget=${FPGA_DEVICE} ${FILTER_SIZE_FLAG} ${PIXELS_PER_CYCLE_FLAG} ${MAX_COLS_FLAG} ${PIXEL_BITS_FLAG} ${USER_HARDWARE_FLAGS} ${BSP_FLAG}")
152+
set(HARDWARE_COMPILE_FLAGS "-fsycl -fintelfpga -Wall ${CONSTEXPR_STEPS} ${WIN_FLAG} ${AC_TYPES_FLAG} ${FILTER_SIZE_FLAG} ${PIXELS_PER_CYCLE_FLAG} ${MAX_COLS_FLAG} ${PIXEL_BITS_FLAG} -DFPGA_HARDWARE ${BSP_FLAG}")
153+
set(HARDWARE_LINK_FLAGS "${REPORT_LINK_FLAGS} ${AC_TYPES_FLAG} ${BSP_FLAG}")
130154
# use cmake -D USER_HARDWARE_FLAGS=<flags> to set extra flags for FPGA backend compilation
131155

132156
###############################################################################

DirectProgramming/C++SYCL_FPGA/ReferenceDesigns/anr/src/anr.hpp

-8
Original file line numberDiff line numberDiff line change
@@ -347,15 +347,7 @@ std::vector<event> SubmitANRKernels(queue& q, int cols, int rows,
347347
// submit the vertical kernel using a column stencil
348348
auto vertical_kernel = q.single_task<VerticalKernelID>([=] {
349349
// copy host side intensity sigma LUT to the device
350-
// For testing the kernel system as an IP and checking the area and Fmax,
351-
// we allow the user to turn off connections to device memory. In this case
352-
// (the DISABLE_DEVICE_MEM macro IS defined), the results will be incorrect
353-
// since there is no way to get the data to/from the device.
354-
#if defined(IP_MODE)
355-
IntensitySigmaLUT sig_i_lut;
356-
#else
357350
IntensitySigmaLUT sig_i_lut(sig_i_lut_data_ptr);
358-
#endif
359351

360352
// build the constexpr exp() and inverse LUT ROMs
361353
constexpr ExpLUT exp_lut;

DirectProgramming/C++SYCL_FPGA/ReferenceDesigns/anr/src/dma_kernels.hpp

+16
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,13 @@ template <typename KernelId, typename T, typename Pipe, int pixels_per_cycle>
2222
event SubmitInputDMA(queue &q, T *in_ptr, int rows, int cols, int frames) {
2323
using PipeType = DataBundle<T, pixels_per_cycle>;
2424

25+
#if defined (IS_BSP)
2526
// LSU attribute to turn off caching
2627
using NonCachingLSU =
2728
ext::intel::lsu<ext::intel::burst_coalesce<true>, ext::intel::cache<0>,
2829
ext::intel::statically_coalesce<true>,
2930
ext::intel::prefetch<false>>;
31+
#endif
3032

3133
// validate the number of columns
3234
if ((cols % pixels_per_cycle) != 0) {
@@ -41,7 +43,12 @@ event SubmitInputDMA(queue &q, T *in_ptr, int rows, int cols, int frames) {
4143

4244
// Using device memory
4345
return q.single_task<KernelId>([=]() [[intel::kernel_args_restrict]] {
46+
47+
#if defined (IS_BSP)
4448
device_ptr<T> in(in_ptr);
49+
#else
50+
T* in(in_ptr);
51+
#endif
4552

4653
// coalesce the following two loops into a single for-loop using the
4754
// loop_coalesce attribute
@@ -51,7 +58,11 @@ event SubmitInputDMA(queue &q, T *in_ptr, int rows, int cols, int frames) {
5158
PipeType pipe_data;
5259
#pragma unroll
5360
for (int k = 0; k < pixels_per_cycle; k++) {
61+
#if defined (IS_BSP)
5462
pipe_data[k] = NonCachingLSU::load(in + i * pixels_per_cycle + k);
63+
#else
64+
pipe_data[k] = in[i * pixels_per_cycle + k];
65+
#endif
5566
}
5667
Pipe::write(pipe_data);
5768
}
@@ -77,7 +88,12 @@ event SubmitOutputDMA(queue &q, T *out_ptr, int rows, int cols, int frames) {
7788

7889
// Using device memory
7990
return q.single_task<KernelId>([=]() [[intel::kernel_args_restrict]] {
91+
92+
#if defined (IS_BSP)
8093
device_ptr<T> out(out_ptr);
94+
#else
95+
T* out(out_ptr);
96+
#endif
8197

8298
// coalesce the following two loops into a single for-loop using the
8399
// loop_coalesce attribute

DirectProgramming/C++SYCL_FPGA/ReferenceDesigns/anr/src/intensity_sigma_lut.hpp

+15-2
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ class IntensitySigmaLUT {
1616
// default constructor
1717
IntensitySigmaLUT() {}
1818

19+
#if defined (IS_BSP)
1920
// construct from a device_ptr (for constructing from device memory)
2021
IntensitySigmaLUT(device_ptr<float> ptr) {
2122
// use a pipelined LSU to load from device memory since we don't
@@ -25,6 +26,14 @@ class IntensitySigmaLUT {
2526
data_[i] = PipelinedLSU::load(ptr + i);
2627
}
2728
}
29+
#else
30+
// construct from a regular pointer
31+
IntensitySigmaLUT(float* ptr) {
32+
for (int i = 0; i < lut_depth; i++) {
33+
data_[i] = ptr[i];
34+
}
35+
}
36+
#endif
2837

2938
// construct from the ANR parameters (actually builds the LUT)
3039
IntensitySigmaLUT(ANRParams params) {
@@ -39,8 +48,12 @@ class IntensitySigmaLUT {
3948
}
4049

4150
// helper static method to allocate enough memory to hold the LUT
42-
static float* AllocateDevice(sycl::queue& q) {
51+
static float* Allocate(sycl::queue& q) {
52+
#if defined (IS_BSP)
4353
float* ptr = sycl::malloc_device<float>(lut_depth, q);
54+
#else
55+
float* ptr = sycl::malloc_shared<float>(lut_depth, q);
56+
#endif
4457
if (ptr == nullptr) {
4558
std::cerr << "ERROR: could not allocate space for 'ptr'\n";
4659
std::terminate();
@@ -49,7 +62,7 @@ class IntensitySigmaLUT {
4962
}
5063

5164
// helper method to copy the data to the device
52-
sycl::event CopyDataToDevice(sycl::queue& q, float* ptr) {
65+
sycl::event CopyData(sycl::queue& q, float* ptr) {
5366
return q.memcpy(ptr, data_, lut_depth * sizeof(float));
5467
}
5568

DirectProgramming/C++SYCL_FPGA/ReferenceDesigns/anr/src/main.cpp

+16-2
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ int main(int argc, char* argv[]) {
117117
// create the output pixels (initialize to all 0s)
118118
std::vector<PixelT> out_pixels(in_pixels.size(), 0);
119119

120+
#if defined (IS_BSP)
120121
// allocate memory on the device for the input and output
121122
PixelT *in, *out;
122123
if ((in = malloc_device<PixelT>(pixel_count, q)) == nullptr) {
@@ -127,18 +128,31 @@ int main(int argc, char* argv[]) {
127128
std::cerr << "ERROR: could not allocate space for 'out'\n";
128129
std::terminate();
129130
}
131+
#else
132+
// allocate memory on the host for the input and output
133+
PixelT *in, *out;
134+
if ((in = malloc_shared<PixelT>(pixel_count, q)) == nullptr) {
135+
std::cerr << "ERROR: could not allocate space for 'in'\n";
136+
std::terminate();
137+
}
138+
if ((out = malloc_shared<PixelT>(pixel_count, q)) == nullptr) {
139+
std::cerr << "ERROR: could not allocate space for 'out'\n";
140+
std::terminate();
141+
}
142+
#endif
143+
130144

131145
// copy the input data to the device memory and wait for the copy to finish
132146
q.memcpy(in, in_pixels.data(), pixel_count * sizeof(PixelT)).wait();
133147

134148
// allocate space for the intensity sigma LUT
135-
float* sig_i_lut_data_ptr = IntensitySigmaLUT::AllocateDevice(q);
149+
float* sig_i_lut_data_ptr = IntensitySigmaLUT::Allocate(q);
136150

137151
// create the intensity sigma LUT data locally on the host
138152
IntensitySigmaLUT sig_i_lut_host(params);
139153

140154
// copy the intensity sigma LUT to the device
141-
sig_i_lut_host.CopyDataToDevice(q, sig_i_lut_data_ptr).wait();
155+
sig_i_lut_host.CopyData(q, sig_i_lut_data_ptr).wait();
142156
//////////////////////////////////////////////////////////////////////////////
143157

144158
// track timing information in ms

0 commit comments

Comments
 (0)