diff --git a/DirectProgramming/DPC++/DenseLinearAlgebra/vector-add/Makefile.fpga b/DirectProgramming/DPC++/DenseLinearAlgebra/vector-add/Makefile.fpga
index 782847e2e5..7cefb18f10 100644
--- a/DirectProgramming/DPC++/DenseLinearAlgebra/vector-add/Makefile.fpga
+++ b/DirectProgramming/DPC++/DenseLinearAlgebra/vector-add/Makefile.fpga
@@ -4,7 +4,7 @@ CXXFLAGS = -O2 -g -std=c++17
SRC := src/vector-add-buffers.cpp
USM_SRC := src/vector-add-usm.cpp
-.PHONY: fpga_emu run_emu clean
+.PHONY: fpga_emu run_emu fpga_emu_usm run_emu_usm clean
fpga_emu: vector-add-buffers.fpga_emu
fpga_emu_usm: vector-add-usm.fpga_emu_usm
@@ -18,43 +18,49 @@ report_usm: vector-add-usm_report.a_usm
vector-add-buffers.fpga_emu: $(SRC)
$(CXX) $(CXXFLAGS) -fintelfpga $^ -o $@ -DFPGA_EMULATOR=1
vector-add-usm.fpga_emu_usm: $(USM_SRC)
- $(CXX) $(CXXFLAGS) -fintelfpga $^ -o $@ -DFPGA_EMULATOR=1
+ @#$(CXX) $(CXXFLAGS) -fintelfpga $^ -o $@ -DFPGA_EMULATOR=1
+ @echo USM is not supported for FPGAs, yet
a.o: $(SRC)
$(CXX) $(CXXFLAGS) -fintelfpga -c $^ -o $@ -DFPGA=1
a_usm.o: $(USM_SRC)
- $(CXX) $(CXXFLAGS) -fintelfpga -c $^ -o $@ -DFPGA=1
-
+ @#$(CXX) $(CXXFLAGS) -fintelfpga -c $^ -o $@ -DFPGA=1
+ @echo USM is not supported for FPGAs, yet
vector-add-buffers.fpga: a.o
$(CXX) $(CXXFLAGS) -fintelfpga $^ -o $@ -Xshardware
vector-add-usm.fpga: a_usm.o
- $(CXX) $(CXXFLAGS) -fintelfpga $^ -o $@ -Xshardware
+ @#$(CXX) $(CXXFLAGS) -fintelfpga $^ -o $@ -Xshardware
+ @echo USM is not supported for FPGAs, yet
run_emu: vector-add-buffers.fpga_emu
./vector-add-buffers.fpga_emu
run_emu_usm: vector-add-usm.fpga_emu_usm
- ./vector-add-usm.fpga_emu_usm
+ @#./vector-add-usm.fpga_emu_usm
+ @echo USM is not supported for FPGAs, yet
run_hw: vector-add-buffers.fpga
./vector-add-buffers.fpga
run_hw_usm: vector-add-usm.fpga
- ./vector-add-usm.fpga
-
+ @#./vector-add-usm.fpga
+ @echo USM is not supported for FPGAs, yet
dev.o: $(SRC)
$(CXX) $(CXXFLAGS) -fintelfpga -c $^ -o $@ -DFPGA=1
dev_usm.o: $(USM_SRC)
- $(CXX) $(CXXFLAGS) -fintelfpga -c $^ -o $@ -DFPGA=1
+ @#$(CXX) $(CXXFLAGS) -fintelfpga -c $^ -o $@ -DFPGA=1
+ @echo USM is not supported for FPGAs, yet
+
vector-add-buffers_report.a: dev.o
$(CXX) $(CXXFLAGS) -fintelfpga -fsycl-link $^ -o $@ -Xshardware
vector-add-usm_report.a_usm: dev_usm.o
- $(CXX) $(CXXFLAGS) -fintelfpga -fsycl-link $^ -o $@ -Xshardware
+ @#$(CXX) $(CXXFLAGS) -fintelfpga -fsycl-link $^ -o $@ -Xshardware
+ @echo USM is not supported for FPGAs, yet
clean:
- rm -rf *.o *.d *.out *.mon *.emu *.aocr *.aoco *.prj *.fpga_emu *.fpga_emu_buffers vector-add-buffers.fpga vector-add-usm.fpga *.a
\ No newline at end of file
+ rm -rf *.o *.d *.out *.mon *.emu *.aocr *.aoco *.prj *.fpga_emu *.fpga_emu_buffers vector-add-buffers.fpga vector-add-usm.fpga *.a
diff --git a/DirectProgramming/DPC++/DenseLinearAlgebra/vector-add/Makefile.win b/DirectProgramming/DPC++/DenseLinearAlgebra/vector-add/Makefile.win
index c8dc395fb3..b9e1c2fb4e 100644
--- a/DirectProgramming/DPC++/DenseLinearAlgebra/vector-add/Makefile.win
+++ b/DirectProgramming/DPC++/DenseLinearAlgebra/vector-add/Makefile.win
@@ -1,16 +1,25 @@
CXX = dpcpp-cl
CXXFLAGS = -O2 -EHsc -Zi
LDFLAGS =
-EXE_NAME = vector-add-usm.exe
-SOURCES = src/vector-add-usm.cpp
+EXE_NAME = vector-add-buffers.exe
+SOURCES = src/vector-add-buffers.cpp
+
+USM_EXE_NAME = vector-add-usm.exe
+USM_SOURCES = src/vector-add-usm.cpp
all: main
main:
$(CXX) $(CXXFLAGS) -o $(EXE_NAME) $(SOURCES) $(LDFLAGS)
+build_usm:
+ $(CXX) $(CXXFLAGS) -o $(USM_EXE_NAME) $(USM_SOURCES) $(LDFLAGS)
+
run:
$(EXE_NAME)
+run_usm:
+ $(USM_EXE_NAME)
+
clean:
- del -rf $(EXE_NAME)
+ del /f $(EXE_NAME) $(USM_EXE_NAME)
diff --git a/DirectProgramming/DPC++/DenseLinearAlgebra/vector-add/Makefile.win.fpga b/DirectProgramming/DPC++/DenseLinearAlgebra/vector-add/Makefile.win.fpga
index aae08de163..35d41eb9b4 100644
--- a/DirectProgramming/DPC++/DenseLinearAlgebra/vector-add/Makefile.win.fpga
+++ b/DirectProgramming/DPC++/DenseLinearAlgebra/vector-add/Makefile.win.fpga
@@ -1,16 +1,26 @@
CXX = dpcpp-cl
CXXFLAGS = -O2 -EHsc -Zi
LDFLAGS =
-SOURCES = src/vector-add-usm.cpp
-EXE_NAME_FPGA_EMU = vector-add-usm.fpga_emu.exe
+
+SRC = src/vector-add-buffers.cpp
+USM_SRC = src/vector-add-usm.cpp
+
+EXE = vector-add-buffers.fpga_emu.exe
+USM_EXE = vector-add-usm.fpga_emu.exe
all: fpga_emu
-fpga_emu:
- $(CXX) $(CXXFLAGS) -fintelfpga $(SOURCES) -o $(EXE_NAME_FPGA_EMU) -DFPGA_EMULATOR=1
+fpga_emu: $(SRC)
+ $(CXX) $(CXXFLAGS) -fintelfpga $(SRC) -o $(EXE) -DFPGA_EMULATOR=1
+
+fpga_emu_usm: $(SRC)
+ @echo USM is not supported for FPGAs, yet
run:
- $(EXE_NAME_FPGA_EMU)
+ $(EXE)
+
+run_usm:
+ @echo USM is not supported for FPGAs, yet
clean:
- del -rf $(EXE_NAME_FPGA_EMU)
+ del /f *.o *.d *.out *.mon *.emu *.aocr *.aoco *.prj *.fpga_emu *.fpga_emu_buffers *.a $(EXE) $(USM_EXE)
diff --git a/DirectProgramming/DPC++/DenseLinearAlgebra/vector-add/README.md b/DirectProgramming/DPC++/DenseLinearAlgebra/vector-add/README.md
index 37d11d855c..9f32169505 100644
--- a/DirectProgramming/DPC++/DenseLinearAlgebra/vector-add/README.md
+++ b/DirectProgramming/DPC++/DenseLinearAlgebra/vector-add/README.md
@@ -48,15 +48,17 @@ Perform the following steps:
### On a Windows* System Using a Command Line Interface
1. Select **Programs** > **Intel oneAPI 2021** > **Intel oneAPI Command Prompt** to launch a command window.
-2. Build the program using the following `nmake` commands (Windows supports USM only):
+2. Build the program using the following `nmake` commands:
```
nmake -f Makefile.win
```
+> Note: for USM use `nmake -f Makefile.win build_usm`
3. Run the program using:
```
nmake -f Makefile.win run
```
+> Note: for USM use `nmake -f Makefile.win run_usm`
4. Clean the program using:
```
@@ -127,7 +129,7 @@ Perform the following steps:
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.
+ c. In the **Preprocessor** subtab, the **Preprocessor Definitions" setting has **FPGA_EMULATOR=1** added.
d. Close the dialog.
6. Select **Project** > **Build** menu option to build the selected configuration.
diff --git a/DirectProgramming/DPC++/DenseLinearAlgebra/vector-add/sample.json b/DirectProgramming/DPC++/DenseLinearAlgebra/vector-add/sample.json
index ff974f445e..9737eea2fb 100644
--- a/DirectProgramming/DPC++/DenseLinearAlgebra/vector-add/sample.json
+++ b/DirectProgramming/DPC++/DenseLinearAlgebra/vector-add/sample.json
@@ -1,4 +1,5 @@
{
+ "guid":"b1b58be7-e22e-4ca2-ba59-6887b2f1be6c",
"name": "Vector Add",
"categories": ["Toolkit/Get Started", "Toolkit/Intel® oneAPI Base Toolkit/oneAPI DPC++ Compiler/CPU, GPU and FPGA"],
"description": "Simple program that adds two large vectors in parallel. Provides a ‘Hello World!’ like sample to ensure your environment is setup correctly using simple Data Parallel C++.",
diff --git a/DirectProgramming/DPC++/DenseLinearAlgebra/vector-add/src/vector-add-usm.cpp b/DirectProgramming/DPC++/DenseLinearAlgebra/vector-add/src/vector-add-usm.cpp
index f9893f03f2..017fac296b 100644
--- a/DirectProgramming/DPC++/DenseLinearAlgebra/vector-add/src/vector-add-usm.cpp
+++ b/DirectProgramming/DPC++/DenseLinearAlgebra/vector-add/src/vector-add-usm.cpp
@@ -76,7 +76,7 @@ int main() {
#endif
try {
- queue q(default_selector{}, dpc::exception_handler);
+ queue q(d_selector, dpc::exception_handler);
// Print out the device information used for the kernel code.
std::cout << "Running on device: "
diff --git a/DirectProgramming/DPC++/DenseLinearAlgebra/vector-add/vector-add-buffers.vcxproj b/DirectProgramming/DPC++/DenseLinearAlgebra/vector-add/vector-add-buffers.vcxproj
new file mode 100644
index 0000000000..dc8e3c2ab9
--- /dev/null
+++ b/DirectProgramming/DPC++/DenseLinearAlgebra/vector-add/vector-add-buffers.vcxproj
@@ -0,0 +1,143 @@
+
+
+
+
+ Debug-fpga
+ x64
+
+
+ Debug
+ x64
+
+
+ Release-fpga
+ x64
+
+
+ Release
+ x64
+
+
+
+ 15.0
+ {f11989d7-dcfe-404a-a893-e89084841327}
+ Win32Proj
+ vector_add_buffers
+ $(WindowsSDKVersion)
+
+
+
+ Application
+ true
+ Intel(R) oneAPI DPC++ Compiler
+ Unicode
+
+
+ Application
+ true
+ Intel(R) oneAPI DPC++ Compiler
+ Unicode
+
+
+ Application
+ false
+ Intel(R) oneAPI DPC++ Compiler
+ true
+ Unicode
+
+
+ Application
+ false
+ Intel(R) oneAPI DPC++ Compiler
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+ true
+
+
+ false
+
+
+ false
+
+
+
+
+
+
+
+
+
+ Console
+ true
+
+
+
+
+
+
+
+
+
+
+ Console
+ true
+
+
+
+
+
+
+
+
+
+
+ Console
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+ Console
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
diff --git a/DirectProgramming/DPC++/DenseLinearAlgebra/vector-add/vector-add-usm.vcxproj b/DirectProgramming/DPC++/DenseLinearAlgebra/vector-add/vector-add-usm.vcxproj
index c68c96b35e..1d3548180c 100644
--- a/DirectProgramming/DPC++/DenseLinearAlgebra/vector-add/vector-add-usm.vcxproj
+++ b/DirectProgramming/DPC++/DenseLinearAlgebra/vector-add/vector-add-usm.vcxproj
@@ -1,10 +1,18 @@
+
+ Debug-fpga
+ x64
+
Debug
x64
+
+ Release-fpga
+ x64
+
Release
x64
@@ -24,6 +32,18 @@
Intel(R) oneAPI DPC++ Compiler
Unicode
+
+ Application
+ true
+ Intel(R) oneAPI DPC++ Compiler
+ Unicode
+
+
+ Application
+ true
+ Intel(R) oneAPI DPC++ Compiler
+ Unicode
+
Application
false
@@ -31,12 +51,32 @@
true
Unicode
+
+ Application
+ false
+ Intel(R) oneAPI DPC++ Compiler
+ true
+ Unicode
+
+
+ Application
+ false
+ Intel(R) oneAPI DPC++ Compiler
+ true
+ Unicode
+
Application
true
Intel(R) oneAPI DPC++ Compiler
Unicode
+
+ Application
+ true
+ Intel(R) oneAPI DPC++ Compiler
+ Unicode
+
Application
false
@@ -44,6 +84,13 @@
true
Unicode
+
+ Application
+ false
+ Intel(R) oneAPI DPC++ Compiler
+ true
+ Unicode
+
@@ -52,28 +99,64 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
true
+
+ true
+
+
+ true
+
true
+
+ true
+
false
+
+ false
+
+
+ false
+
false
+
+ false
+
@@ -86,7 +169,45 @@
true
+
+
+
+
+
+
+
+
+ Console
+ true
+
+
+
+
+
+
+
+
+
+
+ Console
+ true
+
+
+
+
+
+
+
+
+
+
+
+ Console
+ true
+
+
+
@@ -113,6 +234,34 @@
true
+
+
+
+
+
+
+
+
+ Console
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+ Console
+ true
+ true
+ true
+
+
@@ -128,12 +277,24 @@
true
+
+
+
+
+
+
+ /std:c++17
+
+
+ Console
+ true
+ true
+ true
+
+
-
-
-
diff --git a/DirectProgramming/DPC++/DenseLinearAlgebra/vector-add/vector-add.sln b/DirectProgramming/DPC++/DenseLinearAlgebra/vector-add/vector-add.sln
index bb3221b714..d8a6dba102 100644
--- a/DirectProgramming/DPC++/DenseLinearAlgebra/vector-add/vector-add.sln
+++ b/DirectProgramming/DPC++/DenseLinearAlgebra/vector-add/vector-add.sln
@@ -5,28 +5,30 @@ VisualStudioVersion = 15.0.28307.1145
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vector-add-usm", "vector-add-usm.vcxproj", "{58CE1265-5B1D-4CBA-9C84-C9E1F8FDFB54}"
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vector-add-buffers", "vector-add-buffers.vcxproj", "{F11989D7-DCFE-404A-A893-E89084841327}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
- Debug|x86 = Debug|x86
Debug-fpga|x64 = Debug-fpga|x64
- Debug-fpga|x86 = Debug-fpga|x86
Release|x64 = Release|x64
- Release|x86 = Release|x86
+ Release-fpga|x64 = Release-fpga|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{58CE1265-5B1D-4CBA-9C84-C9E1F8FDFB54}.Debug|x64.ActiveCfg = Debug|x64
{58CE1265-5B1D-4CBA-9C84-C9E1F8FDFB54}.Debug|x64.Build.0 = Debug|x64
- {58CE1265-5B1D-4CBA-9C84-C9E1F8FDFB54}.Debug|x86.ActiveCfg = Debug|x64
- {58CE1265-5B1D-4CBA-9C84-C9E1F8FDFB54}.Debug|x86.Build.0 = Debug|x64
- {58CE1265-5B1D-4CBA-9C84-C9E1F8FDFB54}.Debug-fpga|x64.ActiveCfg = Debug|x64
- {58CE1265-5B1D-4CBA-9C84-C9E1F8FDFB54}.Debug-fpga|x64.Build.0 = Debug|x64
- {58CE1265-5B1D-4CBA-9C84-C9E1F8FDFB54}.Debug-fpga|x86.ActiveCfg = Debug|x64
- {58CE1265-5B1D-4CBA-9C84-C9E1F8FDFB54}.Debug-fpga|x86.Build.0 = Debug|x64
- {58CE1265-5B1D-4CBA-9C84-C9E1F8FDFB54}.Release|x64.ActiveCfg = Debug|x64
- {58CE1265-5B1D-4CBA-9C84-C9E1F8FDFB54}.Release|x64.Build.0 = Debug|x64
- {58CE1265-5B1D-4CBA-9C84-C9E1F8FDFB54}.Release|x86.ActiveCfg = Debug|x64
- {58CE1265-5B1D-4CBA-9C84-C9E1F8FDFB54}.Release|x86.Build.0 = Debug|x64
+ {58CE1265-5B1D-4CBA-9C84-C9E1F8FDFB54}.Debug-fpga|x64.ActiveCfg = Debug-fpga|x64
+ {58CE1265-5B1D-4CBA-9C84-C9E1F8FDFB54}.Release|x64.ActiveCfg = Release|x64
+ {58CE1265-5B1D-4CBA-9C84-C9E1F8FDFB54}.Release|x64.Build.0 = Release|x64
+ {58CE1265-5B1D-4CBA-9C84-C9E1F8FDFB54}.Release-fpga|x64.ActiveCfg = Release-fpga|x64
+ {F11989D7-DCFE-404A-A893-E89084841327}.Debug|x64.ActiveCfg = Debug|x64
+ {F11989D7-DCFE-404A-A893-E89084841327}.Debug|x64.Build.0 = Debug|x64
+ {F11989D7-DCFE-404A-A893-E89084841327}.Debug-fpga|x64.ActiveCfg = Debug-fpga|x64
+ {F11989D7-DCFE-404A-A893-E89084841327}.Debug-fpga|x64.Build.0 = Debug-fpga|x64
+ {F11989D7-DCFE-404A-A893-E89084841327}.Release|x64.ActiveCfg = Release|x64
+ {F11989D7-DCFE-404A-A893-E89084841327}.Release|x64.Build.0 = Release|x64
+ {F11989D7-DCFE-404A-A893-E89084841327}.Release-fpga|x64.ActiveCfg = Release-fpga|x64
+ {F11989D7-DCFE-404A-A893-E89084841327}.Release-fpga|x64.Build.0 = Release-fpga|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE