Intel ONE API DPC++ Vector Multiplication
Abhishek Nandy
Kolkata, WB
The vector-multiplication is a simple program that multiplies Three large vectors of integers and verifies the results. This program is implemented using C++ and Data Parallel C++ (DPC++) languages for Intel(R) CPU and accelerators. In this example, you can learn how to use the most basic code in C ...learn more
Project status: Published/In Market
Overview / Usage
PurposeThe vector-multiplication
is a simple program that multiplies Three large vectors of integers and verifies the results. This program is implemented using C and Data Parallel C (DPC++) languages for Intel(R) CPU and accelerators.
In this example, you can learn how to use the most basic code in C language that offloads computations to a GPU or an FPGA using the DPC language.
Key Implementation DetailsThe basic DPC++ implementation explained in the code includes device selector, buffer, accessor, kernel, and command groups.
Methodology / Approach
Building the**vector-multiplication**
Program for CPU and GPU
On a Linux* System
Perform the following steps:
- Build the
vector-add
program using:
make all
- Run the program using:
make run
- Clean the program using:
make clean
- Select Programs > Intel oneAPI 2021 > Intel oneAPI Command Prompt to launch a command window.
- Build the program using the following
nmake
commands:nmake -f Makefile.win clean nmake -f Makefile.win nmake -f Makefile.win run
Perform the following steps:
- Launch the Visual Studio* 2017.
- Select the menu sequence File > Open > Project/Solution.
- Locate the
vector-add
folder. - Select the
vector-add.sln
file. - Select the configuration 'Debug' or 'Release'
- Select Project > Build menu option to build the selected configuration.
- Select Debug > Start Without Debugging menu option to run the program.
**vector-add**
Program for Intel(R) FPGA
On a Linux* System
Perform the following steps:
-
Clean the
vector-add
program using:
make clean -f Makefile.fpga
-
Based on your requirements, you can perform the following:
-
Build and run for FPGA emulation using the following commands:
-
make fpga\_emu -f Makefile.fpga make run\_emu -f Makefile.fpga
-
Build and run for FPGA hardware.
NOTE: The hardware compilation takes a long time to complete. -
make hw -f Makefile.fpga make run\_hw -f Makefile.fpga
-
Generate static optimization reports for design analysis. Path to the reports is
vector-add\_report.prj/reports/report.html
-
make report -f Makefile.fpga
-
Perform the following steps:
NOTE: On a Windows* system, you can only compile and run on the FPGA emulator. Generating an HTML optimization report and compiling and running on the FPGA hardware are not currently supported.
- Select Programs > Intel oneAPI 2021 > Intel oneAPI Command Prompt to launch a command window.
- Build the program using the following
nmake
commands:nmake -f Makefile.win.fpga clean nmake -f Makefile.win.fpga nmake -f Makefile.win.fpga run
Perform the following steps:
- Launch the Visual Studio* 2017.
- Select the menu sequence File > Open > Project/Solution.
- Locate the
vector-add
folder. - Select the
vector-add.sln
file. - Select the configuration 'Debug-fpga' or 'Release-fpga' that have the necessary project settings already below:
Under the 'Project Property' dialog:
a. Select the DPC++ tab. b. In the General subtab, the Perform ahead of time compilation for the FPGA setting is set to Yes. c. In the Preprocessor subtab, the **Preprocessor Definitions" setting has FPGA_EMULATOR added. d. Close the dialog. - Select Project > Build menu option to build the selected configuration.
- Select Debug > Start Without Debugging menu option to run the program. Don't go by the name Vector add its actually Vector Multiplication
Technologies Used
DPC++,Intel ONE API
Repository
https://github.com/AbhiLegend/DPC-
Collaborators
There are no people to show.