Skip to content

Commit 5788af7

Browse files
SDA USRsdausr
authored and
GitHub Enterprise
committed
Squashed 'hpc' changes from 843c1ba..0dcda94 (#701)
0dcda94 Merge pull request #144 from tuol/cr_1140424 a76d87e Merge pull request #145 from tuol/cr_1140420 cd2dbfd make two benchmark case disable, due to similiar issue with their corresponding cases in tests 35211e8 lower build frequency 331c32b Merge pull request #142 from liyuanz/next 28b07ab update mk 9861fbd Merge pull request #141 from tuol/cr_1137645 3cee823 add missing header of vector and future e01e471 Merge pull request #140 from tuol/cr_1135038 aeb6da3 fix error in description.json 6f9dea0 Merge pull request #137 from yuanqian/update_doc_next_portal d2fb2df Merge pull request #138 from liyuanz/add_mem 2aa1d70 Merge pull request #139 from liyuanz/add_mem 390ad14 add mem and time 474e03e update ca904f2 add mem 66ec334 update doc in next branch for portal ab09c33 Merge pull request #136 from liyuanz/next 3e33b54 update makefile 5fbdc9c Merge pull request #134 from changg/22.2_mks a477498 fix u280 0b9d86c 22.2 mk update 2e27386 change 2022.1_stable_latest to 2022.2_stable_latest Co-authored-by: sdausr <[email protected]>
1 parent 525851d commit 5788af7

File tree

83 files changed

+2878
-1278
lines changed

Some content is hidden

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

83 files changed

+2878
-1278
lines changed

hpc/Jenkinsfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
@Library('pipeline-library')_
22

33
VitisLibPipeline (branch: 'next', libname: 'xf_hpc', TARGETS: 'hls_csim:hls_csynth:hls_cosim:vitis_sw_emu:vitis_hw_emu:vitis_hw_build',
4-
upstream_dependencies: 'xf_blas,next,../blas;xf_sparse,next,../sparse', devtest: 'RunDeploy.sh', TOOLVERSION: '2022.1_stable_latest', mail_on:'daily:PR')
4+
upstream_dependencies: 'xf_blas,next,../blas;xf_sparse,next,../sparse', devtest: 'RunDeploy.sh', TOOLVERSION: '2022.2_stable_latest', mail_on:'daily:PR')

hpc/L1/tests/hw/rtm2d/backward/tests/data_h128_w128_t10_pe2/description.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
"env": "",
3636
"index": 0,
3737
"max_memory_MB": {
38-
"vivado_syn": 16384,
38+
"vivado_syn": 32768,
3939
"hls_csim": 10240,
4040
"hls_cosim": 16384,
4141
"vivado_impl": 16384,
@@ -59,4 +59,4 @@
5959
]
6060
},
6161
"topfunction": "top"
62-
}
62+
}

hpc/L1/tests/hw/rtm2d/backward/tests/data_h128_w128_t15_pe2/description.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
"env": "",
3636
"index": 0,
3737
"max_memory_MB": {
38-
"vivado_syn": 16384,
38+
"vivado_syn": 32768,
3939
"hls_csim": 10240,
4040
"hls_cosim": 16384,
4141
"vivado_impl": 16384,
@@ -59,4 +59,4 @@
5959
]
6060
},
6161
"topfunction": "top"
62-
}
62+
}

hpc/L1/tests/hw/rtm2d/forward/tests/data_h128_w128_t15_pe4/description.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
"env": "",
3636
"index": 0,
3737
"max_memory_MB": {
38-
"vivado_syn": 16384,
38+
"vivado_syn": 32768,
3939
"hls_csim": 10240,
4040
"hls_cosim": 16384,
4141
"vivado_impl": 16384,
@@ -59,4 +59,4 @@
5959
]
6060
},
6161
"topfunction": "top"
62-
}
62+
}

hpc/L1/tests/hw/rtm3d/forward_rbc/tests/RTM_x36_y60_z40_t4_p2/description.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
"env": "",
3636
"index": 0,
3737
"max_memory_MB": {
38-
"vivado_syn": 16384,
38+
"vivado_syn": 32768,
3939
"hls_csim": 10240,
4040
"hls_cosim": 16384,
4141
"vivado_impl": 40960,

hpc/L1/tests/hw/rtm3d/forward_rbc/tests/RTM_x50_y60_z80_t4_p2/description.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
"env": "",
3636
"index": 0,
3737
"max_memory_MB": {
38-
"vivado_syn": 16384,
38+
"vivado_syn": 32768,
3939
"hls_csim": 10240,
4040
"hls_cosim": 16384,
4141
"vivado_impl": 40960,

hpc/L2/benchmarks/cg_gemv_jacobi/Makefile

+60-34
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
14-
# vitis makefile-generator v2.0.6
14+
# vitis makefile-generator v2.0.7
1515

1616
############################## Help Section ##############################
1717
.PHONY: help
@@ -34,9 +34,15 @@ help::
3434
$(ECHO) " Command to build host application."
3535
$(ECHO) " By default, HOST_ARCH=x86. HOST_ARCH is required for SoC shells"
3636
$(ECHO) ""
37-
$(ECHO) " NOTE: For embedded devices, e.g. zcu102/zcu104/vck190, env variable SYSROOT and EDGE_COMMON_SW need to be set first, and HOST_ARCH is either aarch32 or aarch64. For example,"
38-
$(ECHO) " export SYSROOT=< path-to-platform-sysroot >"
39-
$(ECHO) " export EDGE_COMMON_SW=< path-to-rootfs-and-Image-files >"
37+
$(ECHO) " NOTE: For embedded devices, e.g. zcu102/zcu104/vck190, HOST_ARCH is either aarch32 or aarch64."
38+
$(ECHO) " a.IF Download the platform, and common-image from Xilinx Download Center(Suggested):"
39+
$(ECHO) " Run the sdk.sh script from the common-image directory to install sysroot using the command : ./sdk.sh -y -d ./ -p "
40+
$(ECHO) " Unzip the rootfs file : gunzip ./rootfs.ext4.gz"
41+
$(ECHO) " export SYSROOT=< path-to-platform-sysroot >"
42+
$(ECHO) " b. User could also define SYSROOT, K_IMAGE and ROOTFS by themselves: "
43+
$(ECHO) " export SYSROOT=< path-to-platform-sysroot >"
44+
$(ECHO) " export K_IMAGE=< path-to-Image-files >"
45+
$(ECHO) " export ROOTFS=< path-to-rootfs >"
4046
$(ECHO) ""
4147
$(ECHO) " make clean "
4248
$(ECHO) " Command to remove the generated non-hardware files."
@@ -61,7 +67,7 @@ ifeq ($(PLATFORM),)
6167
PLATFORM := $(DEVICE)
6268
endif
6369
ifeq ($(PLATFORM),)
64-
PLATFORM := xilinx_u280_xdma_201920_3
70+
PLATFORM := xilinx_u280_gen3x16_xdma_1_202120_1
6571
endif
6672

6773
# #################### Checking if PLATFORM in whitelist ############################
@@ -87,12 +93,17 @@ RUN_DEPS :=
8793
# get global setting
8894
ifeq ($(HOST_ARCH), x86)
8995
CXXFLAGS += -fmessage-length=0 -I$(CUR_DIR)/src/ -I$(XILINX_XRT)/include -I$(XILINX_HLS)/include -std=c++14 -O3 -Wall -Wno-unknown-pragmas -Wno-unused-label
90-
LDFLAGS += -pthread -L$(XILINX_XRT)/lib -L$(XILINX_HLS)/lnx64/tools/fpo_v7_0 -Wl,--as-needed -lOpenCL -lxrt_coreutil -lgmp -lmpfr -lIp_floating_point_v7_0_bitacc_cmodel
96+
LDFLAGS += -pthread -L$(XILINX_XRT)/lib -L$(XILINX_HLS)/lnx64/tools/fpo_v7_1 -Wl,--as-needed -lOpenCL -lxrt_coreutil -lgmp -lmpfr -lIp_floating_point_v7_1_bitacc_cmodel
9197
VPP_FLAGS += -t $(TARGET) --platform $(XPLATFORM) --save-temps
9298
VPP_LDFLAGS += --optimize 2 -R 2
9399
else ifeq ($(HOST_ARCH), aarch64)
100+
ifeq ($(ps_on_x86), on)
101+
CXXFLAGS += -fmessage-length=0 -I$(CUR_DIR)/src/ -I$(XILINX_XRT)/include -I$(XILINX_HLS)/include -std=c++14 -O3 -Wall -Wno-unknown-pragmas -Wno-unused-label
102+
LDFLAGS += -pthread -L$(XILINX_XRT)/lib -L$(XILINX_HLS)/lnx64/tools/fpo_v7_1 -Wl,--as-needed -lOpenCL -lxrt_coreutil -lgmp -lmpfr -lIp_floating_point_v7_1_bitacc_cmodel
103+
else
94104
CXXFLAGS += -I$(CUR_DIR)/src/ -fmessage-length=0 --sysroot=$(SYSROOT) -I$(SYSROOT)/usr/include/xrt -I$(XILINX_HLS)/include -std=c++14 -O3 -Wall -Wno-unknown-pragmas -Wno-unused-label
95-
LDFLAGS += -pthread -L$(SYSROOT)/usr/lib -L$(XILINX_VITIS_AIETOOLS)/lib/aarch64.o -Wl,--as-needed -lxilinxopencl -lxrt_coreutil
105+
LDFLAGS += -pthread -L$(SYSROOT)/usr/lib -Wl,--as-needed -lxilinxopencl -lxrt_coreutil
106+
endif
96107
VPP_FLAGS += -t $(TARGET) --platform $(XPLATFORM) --save-temps
97108
VPP_LDFLAGS += --optimize 2 -R 2
98109
endif
@@ -107,15 +118,23 @@ ifeq ($(TARGET),hw_emu)
107118
CXXFLAGS += -D HW_EMU_TEST
108119
endif
109120

110-
ifeq (,$(findstring opencv,$(CXXFLAGS)))
111-
CXXFLAGS += $(XRT_CXXFLAGS)
112-
endif
113-
114121
#Inclue Required Host Source Files
122+
ifeq ($(ps_on_x86), on)
115123
HOST_SRCS += $(XFLIB_DIR)/L2/src/sw/cgSolver/test_cgSolver_gemv_jacobi.cpp $(XFLIB_DIR)/../blas/L2/src/xcl2/xcl2.cpp
116124
CXXFLAGS += -D HW_CLK=3e-9 -D CG_numTasks=1 -D CG_dataType=double -D CG_numChannels=16 -D CG_parEntries=4 -D CG_instrBytes=64
117125
CXXFLAGS += -I $(XFLIB_DIR)/L1/include/ -I $(XFLIB_DIR)/L2/include/sw/cgSolver -I $(XFLIB_DIR)/L2/include/common/cgSolver -I $(XFLIB_DIR)/L2/include/sw/ -I $(XFLIB_DIR)/../blas/L1/tests/sw/include/ -I $(XFLIB_DIR)/../blas/L2/include/xcl2
118126
CXXFLAGS += -O3
127+
else
128+
HOST_SRCS += $(XFLIB_DIR)/L2/src/sw/cgSolver/test_cgSolver_gemv_jacobi.cpp $(XFLIB_DIR)/../blas/L2/src/xcl2/xcl2.cpp
129+
CXXFLAGS += -D HW_CLK=3e-9 -D CG_numTasks=1 -D CG_dataType=double -D CG_numChannels=16 -D CG_parEntries=4 -D CG_instrBytes=64
130+
CXXFLAGS += -I $(XFLIB_DIR)/L1/include/ -I $(XFLIB_DIR)/L2/include/sw/cgSolver -I $(XFLIB_DIR)/L2/include/common/cgSolver -I $(XFLIB_DIR)/L2/include/sw/ -I $(XFLIB_DIR)/../blas/L1/tests/sw/include/ -I $(XFLIB_DIR)/../blas/L2/include/xcl2
131+
CXXFLAGS += -O3
132+
endif
133+
134+
# workaround for opencv
135+
ifeq (,$(findstring opencv,$(CXXFLAGS)))
136+
CXXFLAGS += $(XRT_CXXFLAGS)
137+
endif
119138

120139
EXE_NAME := host.exe
121140
EXE_FILE := $(BUILD_DIR)/$(EXE_NAME)
@@ -251,11 +270,6 @@ $(EMCONFIG):
251270
emconfigutil --platform $(XPLATFORM) --od $(BUILD_DIR)
252271
############################## Preparing sdcard folder ##############################
253272
ifneq ($(HOST_ARCH), x86)
254-
ifneq (,$(findstring zc706, $(PLATFORM_NAME)))
255-
K_IMAGE := $(SYSROOT)/../../uImage
256-
else
257-
K_IMAGE := $(SYSROOT)/../../Image
258-
endif
259273
RUN_SCRIPT := $(BUILD_DIR)/run_script.sh
260274
$(RUN_SCRIPT):
261275
rm -rf $(RUN_SCRIPT)
@@ -271,7 +285,7 @@ endif
271285
@echo './$(EXE_NAME) $(PKG_HOST_ARGS)' >> $(RUN_SCRIPT)
272286
@echo 'return_code=$$?' >> $(RUN_SCRIPT)
273287
@echo 'if [ $$return_code -ne 0 ]; then' >> $(RUN_SCRIPT)
274-
@echo ' echo "ERROR: Embedded host run failed, RC=$$return_code"' >> $(RUN_SCRIPT)
288+
@echo ' echo "ERROR: TEST FAILED, RC=$$return_code"' >> $(RUN_SCRIPT)
275289
@echo 'else' >> $(RUN_SCRIPT)
276290
@echo ' echo "INFO: TEST PASSED, RC=0"' >> $(RUN_SCRIPT)
277291
@echo 'fi' >> $(RUN_SCRIPT)
@@ -289,23 +303,28 @@ SD_DIRS_WITH_PREFIX = $(foreach sd_dir,$(DATA_DIR),--package.sd_dir $(sd_dir))
289303
PACKAGE_FILES := $(BINARY_CONTAINERS)
290304
PACKAGE_FILES += $(AIE_CONTAINER)
291305
SD_CARD := $(CUR_DIR)/package_$(TARGET)
292-
vck190_dfx_hw := false
293-
$(SD_CARD): $(EXE_FILE) $(BINARY_CONTAINERS) $(RUN_SCRIPT) $(EMCONFIG)
306+
$(SD_CARD): $(EXE_FILE) $(BINARY_CONTAINERS) $(RUN_SCRIPT) $(EMCONFIG) check_kimage check_rootfs
294307
@echo "Generating sd_card folder...."
295308
mkdir -p $(SD_CARD)
296309
chmod a+rx $(BUILD_DIR)/run_script.sh
297-
ifneq (,$(findstring vck190_base_dfx, $(PLATFORM_NAME)))
298-
ifeq ($(TARGET),hw)
299-
$(VPP) -t $(TARGET) --platform $(XPLATFORM) -p $(PACKAGE_FILES) -o $(BINARY_CONTAINERS_PKG)
300-
$(VPP) -t $(TARGET) --platform $(XPLATFORM) -p --package.out_dir $(SD_CARD) --package.rootfs $(SYSROOT)/../../rootfs.ext4 --package.kernel_image $(K_IMAGE) $(SD_FILES_WITH_PREFIX) $(SD_DIRS_WITH_PREFIX) --package.sd_file $(BINARY_CONTAINERS_PKG)
310+
# 1. DFX HW Flow
311+
ifeq ($(dfx_hw), on)
312+
$(VPP) -t $(TARGET) --platform $(XPLATFORM) -p $(PACKAGE_FILES) $(VPP_PACKAGE) -o $(BINARY_CONTAINERS_PKG)
313+
$(VPP) -t $(TARGET) --platform $(XPLATFORM) -p --package.out_dir $(SD_CARD) --package.rootfs $(ROOTFS) --package.kernel_image $(K_IMAGE) $(SD_FILES_WITH_PREFIX) $(SD_DIRS_WITH_PREFIX) --package.sd_file $(BINARY_CONTAINERS_PKG)
301314
@echo "### ***** sd_card generation done! ***** ###"
302-
vck190_dfx_hw := true
303315
endif
316+
# 2. PS_ON_X86 - From 2022.2, Target:sw_emu
317+
ifeq ($(ps_on_x86), on)
318+
@echo "### ***** running PS X86 SE_EMU ***** ###"
319+
$(VPP) -t $(TARGET) --platform $(XPLATFORM) -o $(BINARY_CONTAINERS_PKG) -p $(PACKAGE_FILES) $(VPP_PACKAGE) --package.out_dir $(SD_CARD) --package.emu_ps x86
304320
endif
305-
ifeq ($(vck190_dfx_hw), false)
306-
$(VPP) -t $(TARGET) --platform $(XPLATFORM) -o $(BINARY_CONTAINERS_PKG) -p $(PACKAGE_FILES) $(VPP_PACKAGE) --package.out_dir $(SD_CARD) --package.rootfs $(SYSROOT)/../../rootfs.ext4 --package.kernel_image $(K_IMAGE) $(SD_FILES_WITH_PREFIX) $(SD_DIRS_WITH_PREFIX)
321+
#3. General Embeded flow
322+
ifeq ($(dfx_hw), off)
323+
ifeq ($(ps_on_x86), off)
324+
$(VPP) -t $(TARGET) --platform $(XPLATFORM) -o $(BINARY_CONTAINERS_PKG) -p $(PACKAGE_FILES) $(VPP_PACKAGE) --package.out_dir $(SD_CARD) --package.rootfs $(ROOTFS) --package.kernel_image $(K_IMAGE) $(SD_FILES_WITH_PREFIX) $(SD_DIRS_WITH_PREFIX)
307325
@echo "### ***** sd_card generation done! ***** ###"
308326
endif
327+
endif
309328

310329
.PHONY: sd_card
311330
sd_card: $(SD_CARD)
@@ -329,7 +348,7 @@ ifeq ($(HOST_ARCH), x86)
329348

330349
else
331350
@echo $(RUN_DEPS)
332-
$(SD_CARD)/launch_$(TARGET).sh -no-reboot -run-app $(notdir $(RUN_SCRIPT))
351+
$(SD_CARD)/launch_$(TARGET).sh -no-reboot -run-app $(notdir $(RUN_SCRIPT)) 2>&1 | tee $(SD_CARD)/qemu_output.log
333352
grep "TEST PASSED, RC=0" $(SD_CARD)/qemu_output.log || exit 1
334353

335354
endif
@@ -340,24 +359,32 @@ ifeq ($(HOST_ARCH), x86)
340359
LD_LIBRARY_PATH=$(LIBRARY_PATH):$$LD_LIBRARY_PATH \
341360
XCL_EMULATION_MODE=$(TARGET) $(EXE_FILE) $(HOST_ARGS)
342361

362+
else
363+
ifeq ($(ps_on_x86), on)
364+
LD_LIBRARY_PATH=$(LIBRARY_PATH):$$LD_LIBRARY_PATH \
365+
XCL_EMULATION_MODE=$(TARGET) $(EXE_FILE) $(HOST_ARGS)
366+
343367
else
344368
@echo $(RUN_DEPS)
345-
$(SD_CARD)/launch_$(TARGET).sh -no-reboot -run-app $(notdir $(RUN_SCRIPT))
369+
$(SD_CARD)/launch_$(TARGET).sh -no-reboot -run-app $(notdir $(RUN_SCRIPT)) 2>&1 | tee $(SD_CARD)/qemu_output.log
346370
grep "TEST PASSED, RC=0" $(SD_CARD)/qemu_output.log || exit 1
347371

372+
endif
348373
endif
349374
endif
350375
#hw
351376
ifeq ($(TARGET), hw)
352377
ifneq (,$(findstring aws-vu9p-f1, $(PLATFORM_NAME)))
353-
ifneq ($(JENKINS_INTERNAL_BUILD), 1)
378+
ifeq (,$(wildcard $(BUILD_DIR)/cgSolver.awsxclbin))
354379
$(ECHO) "This makefile does not directly support converting .xclbin to .awsxclbin, please refer https://github.com/aws/aws-fpga/blob/master/Vitis/README.md for next operations"
355380
else
356-
$(ECHO) "Running inside Xilinx regression without converting to .awsxclbin"
357-
$(EXE_FILE) $(HOST_ARGS)
381+
$(ECHO) "Running HW using generated .awsxclbin"
382+
LD_LIBRARY_PATH=$(LIBRARY_PATH):$$LD_LIBRARY_PATH \
383+
$(EXE_FILE) $(subst .xclbin,.awsxclbin,$(HOST_ARGS))
358384

359385
endif
360386
else ifeq ($(HOST_ARCH), x86)
387+
LD_LIBRARY_PATH=$(LIBRARY_PATH):$$LD_LIBRARY_PATH \
361388
$(EXE_FILE) $(HOST_ARGS)
362389

363390
else
@@ -391,12 +418,11 @@ cleanh:
391418

392419
cleank:
393420
-$(RMDIR) $(BUILD_DIR)/*.xclbin _vimage *xclbin.run_summary qemu-memory-_* emulation/ _vimage/ pl*start_simulation. sh *.xclbin
394-
-$(RMDIR) _x_temp.*/_x.* _x_temp.*/.Xil _x_temp.*/profile_summary.* xo_* _x*
395-
-$(RMDIR) _x_temp.*/dltmp* _x_temp.*/kernel_info.dat _x_temp.*/*.log
396-
-$(RMDIR) _x_temp.*
421+
-$(RMDIR) _x_temp.*
397422

398423
cleanall: cleanh cleank
399424
-$(RMDIR) $(BUILD_DIR) emconfig.json *.html $(TEMP_DIR) $(CUR_DIR)/reports *.csv *.run_summary $(CUR_DIR)/*.raw package_* $(BUILD_DIR)/run_script.sh .ipcache *.str
400425
-$(RMDIR) $(CUR_DIR)/Work $(CUR_DIR)/*.xpe $(CUR_DIR)/hw.o $(CUR_DIR)/*.xsa $(CUR_DIR)/xnwOut
426+
-$(RMDIR)
401427

402428
clean: cleanh

hpc/L2/benchmarks/cg_gemv_jacobi/description.json

+1-6
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,6 @@
4343
]
4444
}
4545
},
46-
"pre_launch": [
47-
{
48-
"launch_cmd": "make data_gen"
49-
}
50-
],
5146
"launch": [
5247
{
5348
"name": "generic launch for all flows",
@@ -147,7 +142,7 @@
147142
}
148143
],
149144
"testinfo": {
150-
"disable": false,
145+
"disable": true,
151146
"jobs": [
152147
{
153148
"index": 0,

0 commit comments

Comments
 (0)