Skip to content

Commit f3b2773

Browse files
SDA USRsdausr
authored and
GitHub Enterprise
committed
Squashed 'hpc' changes from 0dcda94..99206d5 (#728)
99206d5 Merge pull request #155 from RepoOps/update_readme_5 82bd621 update README b5ef682 update README 7b500f9 Merge pull request #154 from liyuanz/next 037e51a update description.json 5872eb0 Merge pull request #153 from tuol/cr_1143013_3 aa45dfe lower freq 42b28e6 Merge pull request #152 from RepoOps/update_doc_url_3 7b44d6c fix urk 42d5a75 Merge pull request #147 from RepoOps/update_doc_url_3 862bb40 Merge pull request #151 from tuol/cr_1143013 1f81ca6 fix frequency a38e08c Merge pull request #150 from liyuanz/next 76cded4 add memory 4e4d7e4 Merge pull request #149 from tuol/cr_1140566 b212735 remove broken sym link 3896c56 Merge pull request #148 from tuol/cr_1142096 0ec8716 fix hw_build of L3/tests/rtm2d 48dee48 update url and branch in doc 13991c5 Merge pull request #146 from tuol/fix_version 79a503b update version to 2022.2 e44f356 Merge pull request #143 from RepoOps/update_makefile_20220908-212141 e2ab4a4 Merge branch 'next' into update_makefile_20220908-212141 327cbd9 update Makefile with 2.0.8 version Co-authored-by: sdausr <[email protected]>
1 parent 8dfc103 commit f3b2773

File tree

84 files changed

+1148
-1475
lines changed

Some content is hidden

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

84 files changed

+1148
-1475
lines changed

hpc/L1/tests/hw/cgSolver/test_gemv/description.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
"env": "",
4040
"index": 0,
4141
"max_memory_MB": {
42-
"vivado_syn": 16384,
42+
"vivado_syn": 32768,
4343
"hls_csim": 10240,
4444
"hls_cosim": 16384,
4545
"vivado_impl": 16384,
@@ -56,4 +56,4 @@
5656
"vivado_impl"
5757
]
5858
}
59-
}
59+
}

hpc/L1/tests/hw/rtm2d/forward/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/L2/benchmarks/Readme.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -10,20 +10,20 @@ several FPGA and CPU platforms. It supports software and hardware emulation as w
1010
- Vitis BLAS library is required to build any projects in Vitis HPC library
1111
- According to the benchmark application, Alveo U250, U280 or U50 need to be installed and correctly configured.
1212
- Xilinx runtime (XRT) installed
13-
- Xilinx Vitis 2021.2 installed and configured
13+
- Xilinx Vitis 2022.2 installed and configured
1414

1515
## Building
1616

1717
Here is an example to indicate how to build the application and kernel with the command line Makefile flow.
1818

1919
### Download code
2020

21-
These benchmarks can be downloaded from [vitis libraries](https://github.com/Xilinx/Vitis_Libraries.git) ``master`` branch.
21+
These benchmarks can be downloaded from [vitis libraries](https://github.com/Xilinx/Vitis_Libraries.git) ``main`` branch.
2222

2323
```
2424
git clone https://github.com/Xilinx/Vitis_Libraries.git
2525
cd Vitis_Libraries
26-
git checkout master
26+
git checkout main
2727
cd hpc
2828
```
2929

@@ -32,13 +32,13 @@ These benchmarks can be downloaded from [vitis libraries](https://github.com/Xil
3232
Specifying the corresponding Vitis, XRT, and path to the platform repository by running following commands.
3333

3434
```
35-
source <intstall_path>/installs/lin64/Vitis/2020.2/settings64.sh
35+
source <intstall_path>/installs/lin64/Vitis/2022.2/settings64.sh
3636
source /opt/xilinx/xrt/setup.sh
3737
export PLATFORM_REPO_PATHS=/opt/xilinx/platforms
3838
```
3939

4040
### Python 3.6+
41-
Follow the steps as per https://xilinx.github.io/Vitis_Libraries/blas/2021.2/user_guide/L1/pyenvguide.html to set up Python3 environment.
41+
Follow the steps as per https://docs.xilinx.com/r/en-US/Vitis_Libraries/blas/user_guide/L1/pyenvguide.html to set up Python3 environment.
4242

4343
### Datasets
4444
- For dense matrix conjugate gradient solver, data are randomly generated during benchmark

hpc/L2/benchmarks/cg_gemv_jacobi/Makefile

+21-43
Original file line numberDiff line numberDiff line change
@@ -11,28 +11,24 @@
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.7
14+
# vitis makefile-generator v2.0.8
1515

1616
############################## Help Section ##############################
1717
.PHONY: help
1818

1919
help::
2020
$(ECHO) "Makefile Usage:"
21-
$(ECHO) " make all TARGET=<hw/> PLATFORM=<FPGA platform> HOST_ARCH=<x86>"
21+
$(ECHO) " make all TARGET=<hw/> PLATFORM=<FPGA platform>"
2222
$(ECHO) " Command to generate the design for specified Target and Shell."
23-
$(ECHO) " By default, HOST_ARCH=x86. HOST_ARCH is required for SoC shells"
2423
$(ECHO) ""
25-
$(ECHO) " make run TARGET=<hw/> PLATFORM=<FPGA platform> HOST_ARCH=<x86>"
24+
$(ECHO) " make run TARGET=<hw/> PLATFORM=<FPGA platform>"
2625
$(ECHO) " Command to run application in emulation."
27-
$(ECHO) " By default, HOST_ARCH=x86. HOST_ARCH required for SoC shells"
2826
$(ECHO) ""
29-
$(ECHO) " make xclbin TARGET=<hw/> PLATFORM=<FPGA platform> HOST_ARCH=<x86>"
27+
$(ECHO) " make xclbin TARGET=<hw/> PLATFORM=<FPGA platform>"
3028
$(ECHO) " Command to build xclbin application."
31-
$(ECHO) " By default, HOST_ARCH=x86. HOST_ARCH is required for SoC shells"
3229
$(ECHO) ""
3330
$(ECHO) " make host TARGET=<hw/>"
3431
$(ECHO) " Command to build host application."
35-
$(ECHO) " By default, HOST_ARCH=x86. HOST_ARCH is required for SoC shells"
3632
$(ECHO) ""
3733
$(ECHO) " NOTE: For embedded devices, e.g. zcu102/zcu104/vck190, HOST_ARCH is either aarch32 or aarch64."
3834
$(ECHO) " a.IF Download the platform, and common-image from Xilinx Download Center(Suggested):"
@@ -97,13 +93,8 @@ LDFLAGS += -pthread -L$(XILINX_XRT)/lib -L$(XILINX_HLS)/lnx64/tools/fpo_v7_1 -Wl
9793
VPP_FLAGS += -t $(TARGET) --platform $(XPLATFORM) --save-temps
9894
VPP_LDFLAGS += --optimize 2 -R 2
9995
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
10496
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
10597
LDFLAGS += -pthread -L$(SYSROOT)/usr/lib -Wl,--as-needed -lxilinxopencl -lxrt_coreutil
106-
endif
10798
VPP_FLAGS += -t $(TARGET) --platform $(XPLATFORM) --save-temps
10899
VPP_LDFLAGS += --optimize 2 -R 2
109100
endif
@@ -169,7 +160,7 @@ VPP_FLAGS_krnl_update_xk += --hls.clock 333000000:krnl_update_xk
169160
VPP_FLAGS_krnl_update_rk_jacobi += --hls.clock 333000000:krnl_update_rk_jacobi
170161
VPP_FLAGS_krnl_update_pk += --hls.clock 333000000:krnl_update_pk
171162
VPP_FLAGS_krnl_control += --hls.clock 333000000:krnl_control
172-
ifneq ($(HOST_ARCH), x86)
163+
ifneq ($(HOST_ARCH_temp), x86)
173164
VPP_LDFLAGS_cgSolver += --clock.defaultFreqHz 333000000
174165
else
175166
VPP_LDFLAGS_cgSolver += --kernel_frequency 333
@@ -185,7 +176,7 @@ VPP_FLAGS_krnl_update_xk += --hls.clock 333000000:krnl_update_xk
185176
VPP_FLAGS_krnl_update_rk_jacobi += --hls.clock 333000000:krnl_update_rk_jacobi
186177
VPP_FLAGS_krnl_update_pk += --hls.clock 333000000:krnl_update_pk
187178
VPP_FLAGS_krnl_control += --hls.clock 333000000:krnl_control
188-
ifneq ($(HOST_ARCH), x86)
179+
ifneq ($(HOST_ARCH_temp), x86)
189180
VPP_LDFLAGS_cgSolver += --clock.defaultFreqHz 333000000
190181
else
191182
VPP_LDFLAGS_cgSolver += --kernel_frequency 333
@@ -205,7 +196,7 @@ VPP_LDFLAGS_cgSolver_temp := --config $(CUR_DIR)/opts.cfg
205196
VPP_LDFLAGS_cgSolver += $(VPP_LDFLAGS_cgSolver_temp)
206197

207198
endif
208-
ifeq ($(HOST_ARCH), x86)
199+
ifneq ($(SD_CARD_NEEDED), on)
209200
BINARY_CONTAINERS += $(BUILD_DIR)/cgSolver.xclbin
210201
else
211202
BINARY_CONTAINERS += $(BUILD_DIR)/cgSolver_pkg.$(LINK_TARGET_FMT)
@@ -254,22 +245,15 @@ $(BINARY_CONTAINERS): $(BINARY_CONTAINERS_DEPS)
254245
$(VPP) -l $(VPP_FLAGS) --temp_dir $(TEMP_DIR) --report_dir $(BUILD_REPORT_DIR)/cgSolver $(VPP_LDFLAGS) $(VPP_LDFLAGS_cgSolver) $(AIE_LDFLAGS) -o $@ $^
255246

256247
############################## Setting Rules for Host (Building Host Executable) ##############################
257-
ifeq ($(HOST_ARCH), x86)
258-
$(EXE_FILE): $(EXE_FILE_DEPS) | check_xrt
259-
mkdir -p $(BUILD_DIR)
260-
$(CXX) -o $@ $^ $(CXXFLAGS) $(LDFLAGS)
261-
262-
else
263-
$(EXE_FILE): $(EXE_FILE_DEPS) | check_sysroot
248+
$(EXE_FILE): $(EXE_FILE_DEPS)
264249
mkdir -p $(BUILD_DIR)
265250
$(CXX) -o $@ $^ $(CXXFLAGS) $(LDFLAGS)
266251

267-
endif
268-
269252
$(EMCONFIG):
270253
emconfigutil --platform $(XPLATFORM) --od $(BUILD_DIR)
254+
271255
############################## Preparing sdcard folder ##############################
272-
ifneq ($(HOST_ARCH), x86)
256+
ifeq ($(SD_CARD_NEEDED), on)
273257
RUN_SCRIPT := $(BUILD_DIR)/run_script.sh
274258
$(RUN_SCRIPT):
275259
rm -rf $(RUN_SCRIPT)
@@ -303,7 +287,7 @@ SD_DIRS_WITH_PREFIX = $(foreach sd_dir,$(DATA_DIR),--package.sd_dir $(sd_dir))
303287
PACKAGE_FILES := $(BINARY_CONTAINERS)
304288
PACKAGE_FILES += $(AIE_CONTAINER)
305289
SD_CARD := $(CUR_DIR)/package_$(TARGET)
306-
$(SD_CARD): $(EXE_FILE) $(BINARY_CONTAINERS) $(RUN_SCRIPT) $(EMCONFIG) check_kimage check_rootfs
290+
$(SD_CARD): host xclbin $(RUN_SCRIPT) $(EMCONFIG) check_kimage check_rootfs
307291
@echo "Generating sd_card folder...."
308292
mkdir -p $(SD_CARD)
309293
chmod a+rx $(BUILD_DIR)/run_script.sh
@@ -330,15 +314,15 @@ endif
330314
sd_card: $(SD_CARD)
331315
endif
332316
############################## Setting Essential Checks and Building Rules ##############################
333-
RUN_DEPS += $(EXE_FILE) $(BINARY_CONTAINERS) $(EMCONFIG)
317+
RUN_DEPS += host xclbin $(EMCONFIG)
334318
RUN_DEPS += $(SD_CARD)
335319

336320
.PHONY: mkflag all run
337321
mkflag:
338322
mkdir -p $(BUILD_DIR)
339323
rm -rf $(BUILD_DIR)/makefile_args.txt
340324
@for var in $(MAKEFLAGS); do echo $$var >> $(BUILD_DIR)/makefile_args.txt; done
341-
all: check_device check_vpp check_platform mkflag $(RUN_DEPS)
325+
all: check_device check_vpp check_platform mkflag $(RUN_DEPS)
342326
run: all
343327
#hw_emu
344328
ifneq (,$(filter hw_emu, $(TARGET)))
@@ -348,8 +332,8 @@ ifeq ($(HOST_ARCH), x86)
348332

349333
else
350334
@echo $(RUN_DEPS)
351-
$(SD_CARD)/launch_$(TARGET).sh -no-reboot -run-app $(notdir $(RUN_SCRIPT)) 2>&1 | tee $(SD_CARD)/qemu_output.log
352-
grep "TEST PASSED, RC=0" $(SD_CARD)/qemu_output.log || exit 1
335+
$(SD_CARD)/launch_$(TARGET).sh -no-reboot -run-app $(notdir $(RUN_SCRIPT)) 2>&1 | tee $(SD_CARD)/qemu_stdout.log
336+
grep "TEST PASSED, RC=0" $(SD_CARD)/qemu_stdout.log || exit 1
353337

354338
endif
355339
endif
@@ -359,17 +343,11 @@ ifeq ($(HOST_ARCH), x86)
359343
LD_LIBRARY_PATH=$(LIBRARY_PATH):$$LD_LIBRARY_PATH \
360344
XCL_EMULATION_MODE=$(TARGET) $(EXE_FILE) $(HOST_ARGS)
361345

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-
367346
else
368347
@echo $(RUN_DEPS)
369-
$(SD_CARD)/launch_$(TARGET).sh -no-reboot -run-app $(notdir $(RUN_SCRIPT)) 2>&1 | tee $(SD_CARD)/qemu_output.log
370-
grep "TEST PASSED, RC=0" $(SD_CARD)/qemu_output.log || exit 1
348+
$(SD_CARD)/launch_$(TARGET).sh -no-reboot -run-app $(notdir $(RUN_SCRIPT)) 2>&1 | tee $(SD_CARD)/qemu_stdout.log
349+
grep "TEST PASSED, RC=0" $(SD_CARD)/qemu_stdout.log || exit 1
371350

372-
endif
373351
endif
374352
endif
375353
#hw
@@ -399,16 +377,16 @@ emconfig: $(EMCONFIG)
399377

400378
.PHONY: host
401379
ifeq ($(HOST_ARCH), x86)
402-
host: check_xrt $(EXE_FILE)
380+
host: check_xrt $(EXE_FILE)
403381
else
404-
host: check_sysroot $(EXE_FILE)
382+
host: check_sysroot $(EXE_FILE)
405383
endif
406384

407385
.PHONY: xclbin
408386
ifeq ($(HOST_ARCH), x86)
409-
xclbin: check_vpp check_xrt $(BINARY_CONTAINERS)
387+
xclbin: check_vpp check_xrt $(BINARY_CONTAINERS)
410388
else
411-
xclbin: check_vpp check_sysroot $(BINARY_CONTAINERS)
389+
xclbin: check_vpp check_sysroot $(BINARY_CONTAINERS)
412390
endif
413391

414392
############################## Cleaning Rules ##############################

hpc/L2/benchmarks/cg_gemv_jacobi/utils.mk

+23-15
Original file line numberDiff line numberDiff line change
@@ -40,15 +40,11 @@ ifeq ($(DEBUG), yes)
4040
VPP_LDFLAGS += --dk protocol:all:all:all
4141
endif
4242

43-
#Check environment setup
43+
#Check vitis setup
4444
ifndef XILINX_VITIS
4545
XILINX_VITIS = /opt/xilinx/Vitis/$(TOOL_VERSION)
4646
export XILINX_VITIS
4747
endif
48-
ifndef XILINX_XRT
49-
XILINX_XRT = /opt/xilinx/xrt
50-
export XILINX_XRT
51-
endif
5248

5349
.PHONY: check_device
5450
check_device:
@@ -83,6 +79,7 @@ endif
8379
endif
8480

8581

82+
8683
# Special processing for tool version/platform type
8784
VITIS_VER = $(shell v++ --version | grep 'v++' | sed 's/^[[:space:]]*//' | sed -e 's/^[*]* v++ v//g' | cut -d " " -f1)
8885
# 1) for versal flow from 2022.1
@@ -109,8 +106,28 @@ ifneq ($(HOST_ARCH), x86)
109106
ifeq ($(shell expr $(VITIS_VER) \>= 2022.2), 1)
110107
ifeq ($(TARGET), sw_emu)
111108
ps_on_x86 := on
109+
HOST_ARCH := x86
110+
endif
112111
endif
113112
endif
113+
114+
#when x86 arch, check XRT setup
115+
ifeq ($(HOST_ARCH), x86)
116+
ifndef XILINX_XRT
117+
XILINX_XRT = /opt/xilinx/xrt
118+
export XILINX_XRT
119+
endif
120+
endif
121+
122+
#check if need sd_card
123+
ifeq ($(HOST_ARCH), aarch32)
124+
SD_CARD_NEEDED := on
125+
endif
126+
ifeq ($(HOST_ARCH), aarch64)
127+
SD_CARD_NEEDED := on
128+
endif
129+
ifeq ($(ps_on_x86), on)
130+
SD_CARD_NEEDED := on
114131
endif
115132

116133
#Checks for Device Family
@@ -162,17 +179,8 @@ ifeq (,$(wildcard $(ROOTFS)))
162179
endif
163180
endif
164181

165-
#Checks for g++
166-
ifeq ($(HOST_ARCH), x86)
167-
X86_CXX := true
168-
else
169-
ifeq ($(ps_on_x86), true)
170-
X86_CXX := true
171-
endif
172-
endif
173-
174182
CXX := g++
175-
ifeq ($(X86_CXX), true)
183+
ifeq ($(HOST_ARCH), x86)
176184
ifeq ($(shell expr $(VITIS_VER) \>= 2022.1), 1)
177185
CXX_VER := 8.3.0
178186
else

0 commit comments

Comments
 (0)