Skip to content

Commit 4147cae

Browse files
Rajat SarkariGitHub Enterprise
Rajat Sarkari
authored and
GitHub Enterprise
committedOct 15, 2019
Updated Kernel Swap Example
2 parents 1a7b826 + 26aee7a commit 4147cae

File tree

5 files changed

+35
-6
lines changed

5 files changed

+35
-6
lines changed
 

‎sys_opt/Makefile

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
COMMON_REPO=../common/
2+
3+
docs: README.md
4+
5+
README.md:summary.json
6+
$(COMMON_REPO)/utility/readme_gen/gs_summary_subdir.py
7+

‎sys_opt/README.md

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
System Optimization Examples
2+
==================================
3+
System Optimization examples focussed towards hardware optimization using HLS C/C++ kernels for Xilinx devices.
4+
5+
__Examples Table__
6+
7+
Example | Description | Key Concepts / Keywords
8+
---------------|-----------------------|-------------------------
9+
[kernel_swap/][]|This example shows how host can swap the kernels and share same buffer between two kernels which are exist in separate binary containers. Dynamic platforms does not persist the buffer data so host has to migrate data from device to host memory before swapping the next kernel. After kernel swap, host has to migrate the buffer back to device.|__Key__ __Concepts__<br> - Handling Buffer sharing across multiple binaries<br> - Multiple Kernel Binaries<br>__Keywords__<br> - clEnqueueMigrateMemObjects()<br> - CL_MIGRATE_MEM_OBJECT_HOST
10+
[multiple_devices/][]|This example show how to take advantage of multiple FPGAs on a system. It will show how to initialized an OpenCL context, allocate memory on the two devices and execute a kernel on each FPGA.|__Key__ __Concepts__<br> - OpenCL API<br> - Multi-FPGA Execution<br> - Event Handling<br>__Keywords__<br> - cl_device_id<br> - clGetDeviceIDs()
11+
[multiple_process/][]|This example will demonstrate how to run multiple processes to utilize multiple kernels simultaneously on an FPGA device. Multiple processes can share access to the same device provided each process uses the same xclbin. Processes share access to all device resources but there is no support for exclusive access to resources by any process.|__Key__ __Concepts__<br> - Concurrent execution<br> - Multiple HLS kernels<br> - Multiple Process Support<br>__Keywords__<br> - PID<br> - fork<br> - XCL_MULTIPROCESS_MODE<br> - multiprocess
12+
[slr_assign/][]|This is simple example to describe SLR assignment information for a platform design. This example highlights how to provide extra input to assign the logic of the kernel into a nominated SLR. In this example we are assigning first kernel(Vector Multiplication) to SLR0 and assigning the second kernel(Vector Addition) to SLR1|__Key__ __Concepts__<br> - SLR Assignments<br>__Keywords__<br> - slr
13+
14+
[.]:.
15+
[kernel_swap/]:kernel_swap/
16+
[multiple_devices/]:multiple_devices/
17+
[multiple_process/]:multiple_process/
18+
[slr_assign/]:slr_assign/

‎sys_opt/kernel_swap/README.md

+1-5
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Vector Add - Vector Multiplication for XPR Devices
1+
Kernel Swap
22
======================
33

44
This example shows how host can swap the kernels and share same buffer between two kernels which are exist in separate binary containers. Dynamic platforms does not persist the buffer data so host has to migrate data from device to host memory before swapping the next kernel. After kernel swap, host has to migrate the buffer back to device.
@@ -16,10 +16,6 @@ xilinx_u250_qdma|Xilinx Alveo U250|VITIS 2019.2
1616
xilinx_u250_xdma|Xilinx Alveo U250|VITIS 2019.2
1717
xilinx_u280_xdma|Xilinx Alveo U280|VITIS 2019.2
1818
xilinx_u50_xdma|Xilinx Alveo U50|VITIS 2019.2
19-
zc702_base|Xilinx Zynq-7000 SoC ZC702|VITIS 2019.2
20-
zc706_base|Xilinx Zynq-7000 SoC ZC706|VITIS 2019.2
21-
zcu102_base|Xilinx UltraScale+ MPSoC ZCU102|VITIS 2019.2
22-
zcu104_base|Xilinx UltraScale+ MPSoC ZCU104|VITIS 2019.2
2319

2420

2521
## DESIGN FILES

‎sys_opt/kernel_swap/description.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"zc",
44
"zed"
55
],
6-
"name": "Vector Add - Vector Multiplication for XPR Devices",
6+
"name": "Kernel Swap",
77
"contributors": [
88
{
99
"url": "http://www.xilinx.com",

‎sys_opt/summary.json

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"overview": [
3+
"System Optimization Examples"
4+
],
5+
"description": [
6+
"System Optimization examples focussed towards hardware optimization using HLS C/C++ kernels for Xilinx devices."
7+
]
8+
}

0 commit comments

Comments
 (0)
Please sign in to comment.