diff --git a/blas/Jenkinsfile b/blas/Jenkinsfile
index fd5cdbf8d5..3c4149edb2 100644
--- a/blas/Jenkinsfile
+++ b/blas/Jenkinsfile
@@ -1,5 +1,5 @@
@Library('pipeline-library')_
-VitisLibPipeline (branch: 'next', libname: 'xf_blas', TARGETS: 'hls_csim:hls_csynth:hls_cosim:vitis_sw_emu:vitis_hw_emu:vitis_hw_build',
- upstream_dependencies: 'xf_hpc,next,../hpc',
- devtest: 'RunDeploy.sh', TOOLVERSION: '2021.2_stable_latest')
+VitisLibPipeline (branch: 'master', libname: 'xf_blas', TARGETS: 'hls_csim:hls_csynth:hls_cosim:vitis_sw_emu:vitis_hw_emu:vitis_hw_build',
+ upstream_dependencies: 'xf_hpc,master,../hpc',
+ devtest: 'RunDeploy.sh', TOOLVERSION: '2021.2_released')
diff --git a/blas/L3/benchmarks/gemm/streamingKernel/Makefile b/blas/L3/benchmarks/gemm/streamingKernel/Makefile
deleted file mode 100644
index 68c397863a..0000000000
--- a/blas/L3/benchmarks/gemm/streamingKernel/Makefile
+++ /dev/null
@@ -1,372 +0,0 @@
-# Copyright 2019-2021 Xilinx, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# vitis makefile-generator v2.0.3
-
-############################## Help Section ##############################
-.PHONY: help
-
-help::
- $(ECHO) "Makefile Usage:"
- $(ECHO) " make all TARGET= PLATFORM= HOST_ARCH=< >"
- $(ECHO) " Command to generate the design for specified Target and Shell."
- $(ECHO) " By default, HOST_ARCH=. HOST_ARCH is required for SoC shells"
- $(ECHO) ""
- $(ECHO) " make run TARGET= PLATFORM= HOST_ARCH=< >"
- $(ECHO) " Command to run application in emulation."
- $(ECHO) " By default, HOST_ARCH=. HOST_ARCH required for SoC shells"
- $(ECHO) ""
- $(ECHO) " make xclbin TARGET= PLATFORM= HOST_ARCH=< >"
- $(ECHO) " Command to build xclbin application."
- $(ECHO) " By default, HOST_ARCH=. HOST_ARCH is required for SoC shells"
- $(ECHO) ""
- $(ECHO) " make host HOST_ARCH="
- $(ECHO) " Command to build host application."
- $(ECHO) " By default, HOST_ARCH=. HOST_ARCH is required for SoC shells"
- $(ECHO) ""
- $(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,"
- $(ECHO) " export SYSROOT=< path-to-platform-sysroot >"
- $(ECHO) " export EDGE_COMMON_SW=< path-to-rootfs-and-Image-files >"
- $(ECHO) ""
- $(ECHO) " make clean "
- $(ECHO) " Command to remove the generated non-hardware files."
- $(ECHO) ""
- $(ECHO) " make cleanall"
- $(ECHO) " Command to remove all the generated files."
- $(ECHO) ""
-
-############################## Setting up Project Variables ##############################
-
-MK_PATH := $(abspath $(lastword $(MAKEFILE_LIST)))
-XF_PROJ_ROOT ?= $(shell bash -c 'export MK_PATH=$(MK_PATH); echo $${MK_PATH%/L3/*}')
-CUR_DIR := $(patsubst %/,%,$(dir $(MK_PATH)))
-XFLIB_DIR = $(XF_PROJ_ROOT)
-
-# setting devault value
-TARGET ?= hw_emu
-HOST_ARCH ?=
-
-#setting PLATFORM
-ifeq ($(PLATFORM),)
-PLATFORM := $(DEVICE)
-endif
-ifeq ($(PLATFORM),)
-PLATFORM := xilinx_u250_gen3x16_xdma_3_1_202020_1
-endif
-
-# ###dddd################# Checking if PLATFORM in whitelist ############################
-PLATFORM_ALLOWLIST += xilinx_u250_gen3x16_xdma_3_1_202020_1
-PLATFORM_BLOCKLIST +=
-
-include ./utils.mk
-
-TEMP_DIR := _x_temp.$(TARGET).$(XPLATFORM)
-TEMP_REPORT_DIR := $(CUR_DIR)/reports/_x.$(TARGET).$(XPLATFORM)
-BUILD_DIR := build_dir.$(TARGET).$(XPLATFORM)
-BUILD_REPORT_DIR := $(CUR_DIR)/reports/_build.$(TARGET).$(XPLATFORM)
-EMCONFIG := $(BUILD_DIR)/emconfig.json
-XCLBIN_DIR := $(CUR_DIR)/$(BUILD_DIR)
-export XCL_BINDIR = $(XCLBIN_DIR)
-
-EXE_FILE_DEPS :=
-BINARY_CONTAINERS_DEPS :=
-RUN_DEPS :=
-
-# get global setting
-ifeq ($(HOST_ARCH), x86)
-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
-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
-VPP_FLAGS += -t $(TARGET) --platform $(XPLATFORM) --save-temps
-VPP_LDFLAGS += --optimize 2 -R 2
-else ifeq ($(HOST_ARCH), aarch64)
-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
-LDFLAGS += -pthread -L$(SYSROOT)/usr/lib -L$(XILINX_VITIS_AIETOOLS)/lib/aarch64.o -Wl,--as-needed -lxilinxopencl -lxrt_coreutil
-VPP_FLAGS += -t $(TARGET) --platform $(XPLATFORM) --save-temps
-VPP_LDFLAGS += --optimize 2 -R 2
-endif
-CXXFLAGS += $(EXTRA_CXXFLAGS)
-VPP_FLAGS += $(EXTRA_VPP_FLAGS)
-
-########################## Setting up Host Variables ##########################
-ifeq ($(TARGET),sw_emu)
-CXXFLAGS += -D SW_EMU_TEST
-endif
-ifeq ($(TARGET),hw_emu)
-CXXFLAGS += -D HW_EMU_TEST
-endif
-
-#Inclue Required Host Source Files
-HOST_SRCS += $(XFLIB_DIR)/L3/benchmarks/gemm/gemm_bench.cpp
-CXXFLAGS += -I $(XFLIB_DIR)/L3/include/sw -I $(XFLIB_DIR)/L3/benchmarks/gemm -I $(XFLIB_DIR)/L3/benchmarks -I $(XFLIB_DIR)/L2/include/streamingKernel -I $(XFLIB_DIR)/L1/include/hw
-LDFLAGS += -luuid -lxrt_coreutil
-
-EXE_NAME := gemm_bench.exe
-EXE_FILE := $(BUILD_DIR)/$(EXE_NAME)
-EXE_FILE_DEPS := $(HOST_SRCS) $(EXE_FILE_DEPS)
-
-HOST_ARGS := $(BUILD_DIR)/gemmKernel.xclbin $(BUILD_DIR)/config_info.dat
-ifneq ($(HOST_ARCH), x86)
-PKG_HOST_ARGS = $(foreach args,$(HOST_ARGS),$(subst $(dir $(patsubst %/,%,$(args))),,$(args)))
-endif
-
-########################## Kernel compiler global settings ##########################
-VPP_FLAGS += -I $(XFLIB_DIR)/L1/include/hw -I $(XFLIB_DIR)/L1/include/hw/xf_blas -I $(XFLIB_DIR)/L1/include/hw/xf_blas/gemm -I $(XFLIB_DIR)/L1/include/hw/xf_blas/helpers/utils -I $(XFLIB_DIR)/L2/include/streamingKernel -I $(XFLIB_DIR)/L2/include/streamingKernel/hw/xf_blas/gemmStreamKernel/ -I $(XFLIB_DIR)/L2/include/streamingKernel/hw/xf_blas -I $(XFLIB_DIR)/L1/include/hw
-
-ifneq (,$(shell echo $(XPLATFORM) | awk '/ u250/'))
-
-########################## binary container global settings ##########################
-ifeq ($(HOST_ARCH), x86)
-BINARY_CONTAINERS += $(BUILD_DIR)/gemmKernel.xclbin
-else
-BINARY_CONTAINERS += $(BUILD_DIR)/gemmKernel_pkg.xclbin
-BINARY_CONTAINERS_PKG += $(BUILD_DIR)/gemmKernel.xclbin
-endif
-
-# ################ Setting Rules for Binary Containers (Building Kernels) ################
-$(BINARY_CONTAINERS): $(BINARY_CONTAINERS_DEPS)
- mkdir -p $(BUILD_DIR)
- $(VPP) -l $(VPP_FLAGS) --temp_dir $(BUILD_DIR) --report_dir $(BUILD_REPORT_DIR)/gemmKernel $(VPP_LDFLAGS) $(VPP_LDFLAGS_gemmKernel) $(AIE_LDFLAGS) -o $@ $^
-
-else
-VPP_FLAGS_gemmCPlusXKernel += --hls.clock 300000000:gemmCPlusXKernel
-VPP_FLAGS_gemmTagsKernel += --hls.clock 300000000:gemmTagsKernel
-VPP_FLAGS_gemmTimerKernel += --hls.clock 300000000:gemmTimerKernel
-VPP_FLAGS_gemmMergeKernel += --hls.clock 300000000:gemmMergeKernel
-VPP_FLAGS_gemmAddsKernel += --hls.clock 300000000:gemmAddsKernel
-VPP_FLAGS_gemmMulsKernel += --hls.clock 300000000:gemmMulsKernel
-VPP_FLAGS_gemmSystolicArrayKernel += --hls.clock 300000000:gemmSystolicArrayKernel
-VPP_FLAGS_gemmLoadStoreKernel += --hls.clock 300000000:gemmLoadStoreKernel
-
-VPP_LDFLAGS_gemmKernel_temp := --config opts.cfg
-VPP_LDFLAGS_gemmKernel += $(VPP_LDFLAGS_gemmKernel_temp)
-
-########################## binary container global settings ##########################
-BINARY_CONTAINER_gemmKernel_OBJS += $(TEMP_DIR)/gemmCPlusXKernel.xo
-BINARY_CONTAINERS_DEPS += $(BINARY_CONTAINER_gemmKernel_OBJS)
-BINARY_CONTAINER_gemmKernel_OBJS += $(TEMP_DIR)/gemmTagsKernel.xo
-BINARY_CONTAINERS_DEPS += $(BINARY_CONTAINER_gemmKernel_OBJS)
-BINARY_CONTAINER_gemmKernel_OBJS += $(TEMP_DIR)/gemmTimerKernel.xo
-BINARY_CONTAINERS_DEPS += $(BINARY_CONTAINER_gemmKernel_OBJS)
-BINARY_CONTAINER_gemmKernel_OBJS += $(TEMP_DIR)/gemmMergeKernel.xo
-BINARY_CONTAINERS_DEPS += $(BINARY_CONTAINER_gemmKernel_OBJS)
-BINARY_CONTAINER_gemmKernel_OBJS += $(TEMP_DIR)/gemmAddsKernel.xo
-BINARY_CONTAINERS_DEPS += $(BINARY_CONTAINER_gemmKernel_OBJS)
-BINARY_CONTAINER_gemmKernel_OBJS += $(TEMP_DIR)/gemmMulsKernel.xo
-BINARY_CONTAINERS_DEPS += $(BINARY_CONTAINER_gemmKernel_OBJS)
-BINARY_CONTAINER_gemmKernel_OBJS += $(TEMP_DIR)/gemmSystolicArrayKernel.xo
-BINARY_CONTAINERS_DEPS += $(BINARY_CONTAINER_gemmKernel_OBJS)
-BINARY_CONTAINER_gemmKernel_OBJS += $(TEMP_DIR)/gemmLoadStoreKernel.xo
-BINARY_CONTAINERS_DEPS += $(BINARY_CONTAINER_gemmKernel_OBJS)
-ifeq ($(HOST_ARCH), x86)
-BINARY_CONTAINERS += $(BUILD_DIR)/gemmKernel.xclbin
-else
-BINARY_CONTAINERS += $(BUILD_DIR)/gemmKernel_pkg.xclbin
-BINARY_CONTAINERS_PKG += $(BUILD_DIR)/gemmKernel.xclbin
-endif
-
-# ################ Setting Rules for Binary Containers (Building Kernels) ################
-$(TEMP_DIR)/gemmCPlusXKernel.xo: $(XFLIB_DIR)/L2/src/streamingKernel/hw/gemmCPlusX.cpp
- $(ECHO) "Compiling Kernel: gemmCPlusXKernel"
- mkdir -p $(TEMP_DIR)
- $(VPP) -c $(VPP_FLAGS_gemmCPlusXKernel) $(VPP_FLAGS) -k gemmCPlusXKernel -I'$(> $(RUN_SCRIPT)
-ifneq ($(filter sw_emu hw_emu, $(TARGET)),)
- @echo 'export XCL_EMULATION_MODE=$(TARGET)' >> $(RUN_SCRIPT)
-endif
- @echo 'export XILINX_VITIS=/mnt' >> $(RUN_SCRIPT)
- @echo 'export XILINX_XRT=/usr' >> $(RUN_SCRIPT)
- @echo 'if [ -f platform_desc.txt ]; then' >> $(RUN_SCRIPT)
- @echo ' cp platform_desc.txt /etc/xocl.txt' >> $(RUN_SCRIPT)
- @echo 'fi' >> $(RUN_SCRIPT)
- @echo './$(EXE_NAME) $(PKG_HOST_ARGS)' >> $(RUN_SCRIPT)
- @echo 'return_code=$$?' >> $(RUN_SCRIPT)
- @echo 'if [ $$return_code -ne 0 ]; then' >> $(RUN_SCRIPT)
- @echo ' echo "ERROR: Embedded host run failed, RC=$$return_code"' >> $(RUN_SCRIPT)
- @echo 'else' >> $(RUN_SCRIPT)
- @echo ' echo "INFO: TEST PASSED, RC=0"' >> $(RUN_SCRIPT)
- @echo 'fi' >> $(RUN_SCRIPT)
- @echo 'echo "INFO: Embedded host run completed."' >> $(RUN_SCRIPT)
- @echo 'exit $$return_code' >> $(RUN_SCRIPT)
-DATA_FILE :=
-DATA_DIR :=
-SD_FILES += $(RUN_SCRIPT)
-SD_FILES += $(EXE_FILE)
-SD_FILES += $(EMCONFIG)
-SD_FILES += xrt.ini
-SD_FILES += $(DATA_FILE)# where define DATAFILE in json
-SD_FILES_WITH_PREFIX = $(foreach sd_file,$(SD_FILES), $(if $(filter $(sd_file),$(wildcard $(sd_file))), --package.sd_file $(sd_file)))
-SD_DIRS_WITH_PREFIX = $(foreach sd_dir,$(DATA_DIR),--package.sd_dir $(sd_dir))
-PACKAGE_FILES := $(BINARY_CONTAINERS)
-PACKAGE_FILES += $(AIE_CONTAINER)
-SD_CARD := $(CUR_DIR)/package_$(TARGET)
-$(SD_CARD): $(EXE_FILE) $(BINARY_CONTAINERS) $(RUN_SCRIPT) $(EMCONFIG)
- @echo "Generating sd_card folder...."
- mkdir -p $(SD_CARD)
- chmod a+rx $(BUILD_DIR)/run_script.sh
- $(VPP) -t $(TARGET) --platform $(PLATFORM) -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)
- @echo "### ***** sd_card generation done! ***** ###"
-
-.PHONY: sd_card
-sd_card: $(SD_CARD)
-
-endif
-############################## Setting Essential Checks and Building Rules ##############################
-ifneq (,$(filter x86sim aiesim, $(TARGET)))
-RUN_DEPS += $(AIE_CONTAINER)
-else
-RUN_DEPS += $(AIE_CONTAINER) $(EXE_FILE) $(BINARY_CONTAINERS) $(EMCONFIG)
-RUN_DEPS += $(SD_CARD)
-endif
-
-run: check_device pre_build $(RUN_DEPS)
-#x86sim
-ifeq ($(TARGET), x86sim)
- $(X86SIMULATOR) --pkg-dir=./Work
-
-endif
-#aiesim
-ifeq ($(TARGET), aiesim)
- $(AIESIMULATOR) --pkg-dir=./Work --profile
-
-endif
-#hw_emu and sw_emu
-ifneq (,$(filter sw_emu hw_emu, $(TARGET)))
-ifeq ($(HOST_ARCH), x86)
- LD_LIBRARY_PATH=$(LIBRARY_PATH):$$LD_LIBRARY_PATH \
- XCL_EMULATION_MODE=$(TARGET) $(EXE_FILE) $(HOST_ARGS)
-
-else
- @echo $(RUN_DEPS)
- $(SD_CARD)/launch_$(TARGET).sh -no-reboot -run-app $(notdir $(RUN_SCRIPT))
- grep "TEST PASSED, RC=0" $(SD_CARD)/qemu_output.log || exit 1
-
-endif
-endif
-#hw
-ifeq ($(TARGET), hw)
-ifeq ($(HOST_ARCH), x86)
- $(EXE_FILE) $(HOST_ARGS)
-
-else
- $(ECHO) "Please copy the content of sd_card folder and data to an SD Card and run on the board"
-endif
-endif
-
-############################## Setting Targets ##############################
-
--include params.makefile
-
-.PHONY: pre_build
-pre_build:
- make dump_config
-
-.PHONY: all clean cleanall emconfig
-emconfig: $(EMCONFIG)
-ifeq ($(HOST_ARCH), x86)
-all: pre_build check_vpp check_platform check_xrt $(EXE_FILE) $(BINARY_CONTAINERS) emconfig
-else
-all: pre_build check_vpp check_platform check_sysroot $(EXE_FILE) $(BINARY_CONTAINERS) emconfig sd_card
-endif
-
-.PHONY: host
-ifeq ($(HOST_ARCH), x86)
-host: pre_build check_xrt $(EXE_FILE)
-else
-host: pre_build check_sysroot $(EXE_FILE)
-endif
-
-.PHONY: xclbin
-ifeq ($(HOST_ARCH), x86)
-xclbin: pre_build check_vpp check_xrt $(BINARY_CONTAINERS)
-else
-xclbin: pre_build check_vpp check_sysroot $(BINARY_CONTAINERS)
-endif
-
-.PHONY: x86sim
-x86sim: $(AIE_CONTAINER)
- $(X86SIMULATOR) --pkg-dir=./Work
-
-############################## Cleaning Rules ##############################
-cleanh:
- -$(RMDIR) $(EXE_FILE) vitis_* TempConfig system_estimate.xtxt *.rpt .run/
- -$(RMDIR) src/*.ll _xocc_* .Xil dltmp* xmltmp* *.log *.jou *.wcfg *.wdb sample_link.ini sample_compile.ini obj* bin* *.csv *.jpg *.jpeg *.png
-
-cleank:
- -$(RMDIR) $(BUILD_DIR)/*.xclbin _vimage *xclbin.run_summary qemu-memory-_* emulation/ _vimage/ pl*start_simulation. sh *.xclbin
- -$(RMDIR) _x_temp.*/_x.* _x_temp.*/.Xil _x_temp.*/profile_summary.* xo_* _x*
- -$(RMDIR) _x_temp.*/dltmp* _x_temp.*/kernel_info.dat _x_temp.*/*.log
- -$(RMDIR) _x_temp.*
-
-cleanall: cleanh cleank
- -$(RMDIR) $(BUILD_DIR) build_dir.* emconfig.json *.html $(TEMP_DIR) $(CUR_DIR)/reports *.csv *.run_summary $(CUR_DIR)/*.raw package_* $(BUILD_DIR)/run_script.sh .ipcache *.str
- -$(RMDIR) $(XFLIB_DIR)/common/data/*.xe2xd* $(XFLIB_DIR)/common/data/*.orig*
- -$(RMDIR) $(CUR_DIR)/Work $(CUR_DIR)/*.xpe $(CUR_DIR)/hw.o $(CUR_DIR)/*.xsa $(CUR_DIR)/xnwOut
-
-clean: cleanh
\ No newline at end of file
diff --git a/blas/L3/benchmarks/gemm/streamingKernel/README.md b/blas/L3/benchmarks/gemm/streamingKernel/README.md
deleted file mode 100644
index b8e9973b51..0000000000
--- a/blas/L3/benchmarks/gemm/streamingKernel/README.md
+++ /dev/null
@@ -1,91 +0,0 @@
-streamingKernel
-================
-
-This example resides in ``L3/benchmarks/gemm/streamingKernel`` directory. The tutorial provides a step-by-step guide that covers commands for building and running kernel. This benchmark performs the matrix-matrix multiplication (A * B = C), M is number of rows of matrix A/C, K is number of columns of matrix A/number of rows of matrix B, N is number of columns of matrix B/C
-
-Executable Usage
------------------
-
-* **Work Directory(Step 1)**
-
-The steps for library download and environment setup can be found in [here](https://github.com/Xilinx/Vitis_Libraries/tree/master/blas/L2/benchmarks#building). For getting the design,
-
-```
- cd L3/benchmarks/gemm/streamingKernel
-```
-
-* **Build kernel(Step 2)**
-
-Run the following make command to build your XCLBIN and host binary targeting a specific device. Please be noticed that this process will take a long time, maybe couple of hours.
-
-```
- make run TARGET=hw PLATFORM_REPO_PATHS=/opt/xilinx/platforms DEVICE=xilinx_u250_gen3x16_xdma_3_1_202020_1
-```
-
-* **Run kernel(Step 3)**
-
-To get the benchmark results, please run the following command.
-
-Input Arguments:
-
-```
-
-```
-
-For example:
-
-```
- build_dir.hw.xilinx_u250_gen3x16_xdma_3_1_202020_1/gemm_bench.exe build_dir.hw.xilinx_u250_gen3x16_xdma_3_1_202020_1/blas.xclbin build_dir.hw.xilinx_u250_gen3x16_xdma_3_1_202020_1/config_info.dat
-```
-
-* **Example output(Step 4)**
-
-```
-xfblasCreate 249.914832 msec
-copyToFpga 0.243765 msec
-copyFromFpga 0.437556 msec
-Api time is 0.681321 msec
-DATA_CSV:,Freq,M,K,N,TimeApiMs,EffApiPct,PerfApiTops
-DATA_CSV:,250.000000,64,64,64,0.681321,0.601185,0.000788
->> Kernel #0 << Test passed!
-```
-
-* **Use script to run benchmark**
-
-Use mkl to generate dataset, usage of this script is: ./run_gemm_mkl.sh number_of_thread datatype g(generate)/b(benchmark)
-Then use run_gemm_bench.sh to run benchmark
-```
- cd ../gemm_mkl
- ./run_gemm_mkl.sh 16 float g
- ./run_gemm_bench.sh build_dir.hw.xilinx_u250_gen3x16_xdma_3_1_202020_1/blas.xclbin build_dir.hw.xilinx_u250_gen3x16_xdma_3_1_202020_1/config_info.dat
-```
-
-Profiling
-----------
-
-The xclbin could be built in 250 MHz
-The hardware resource utilization and benchmark results are shown in the two tables below.
-
-##### Table 1 Hardware resources
-
-| Name | LUT | BRAM | URAM | DSP | REG |
-|-------------------------|--------------|-----------|----------|--------|------------|
-| gemmAddsKernel | 101988 | 0 | 0 | 384 | 192516 |
-| gemmCPlusXKernel | 8529 | 24 | 0 | 66 | 20358 |
-| gemmLoadStoreKernel | 7126 | 23 | 0 | 16 | 19457 |
-| gemmMergeKernel | 8342 | 0 | 0 | 0 | 25219 |
-| gemmMulsKernel | 50640 | 0 | 0 | 768 | 98013 |
-| gemmSystolicArrayKernel | 2541 | 0 | 0 | 0 | 240 |
-| gemmTagsKernel | 20203 | 15 | 0 | 8 | 34678 |
-| gemmTimerKernel | 32 | 0 | 0 | 0 | 115 |
-
-
-##### Table 2 Benchmark results
-
-| M | N | K | api execution time [ms] | api Eff [%] | PerfApiTops |
-|------|------|------|----------------------------|--------------|---------------|
-| 256 | 256 | 256 | 1.370527 | 19.127241 | 0.024626 |
-| 512 | 512 | 512 | 4.517989 | 46.417820 | 0.059589 |
-| 1024 | 1024 | 1024 | 29.500145 | 56.871639 | 0.072902 |
-| 2048 | 2048 | 2048 | 217.555482 | 61.693563 | 0.079026 |
-| 4096 | 4096 | 4096 | 1685.337895 | 63.710774 | 0.081580 |
diff --git a/blas/L3/benchmarks/gemm/streamingKernel/build_gemm_bench.sh b/blas/L3/benchmarks/gemm/streamingKernel/build_gemm_bench.sh
deleted file mode 100755
index 211e65daf2..0000000000
--- a/blas/L3/benchmarks/gemm/streamingKernel/build_gemm_bench.sh
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/usr/bin/env bash
-
-# Copyright 2019 Xilinx, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-
-if [ "$1" == "-h" ]; then
- echo "Usage: `basename $0` path_to_config_info"
- exit 0
-elif [ "$1" == "" ]; then
- echo "Usage: `basename $0` path_to_config_info"
- exit 0
-else
- dataType=$(grep BLAS_dataType $1 | sed 's/^BLAS_dataType=//')
- numKernels=$(grep BLAS_numKernels $1 | sed 's/^BLAS_numKernels=//')
- make cleanall
- echo ================================================
- echo Now build benchmark with $dataType type
- echo ================================================
- make host BLAS_dataType=${dataType} BLAS_numKernels=${numKernels}
-fi
-
-
diff --git a/blas/L3/benchmarks/gemm/streamingKernel/conn_u250.cfg b/blas/L3/benchmarks/gemm/streamingKernel/conn_u250.cfg
deleted file mode 100644
index 94a334410b..0000000000
--- a/blas/L3/benchmarks/gemm/streamingKernel/conn_u250.cfg
+++ /dev/null
@@ -1,104 +0,0 @@
-[connectivity]
-nk=gemmTimerKernel:1:gemmTimerKernel_0
-nk=gemmLoadStoreKernel:1:gemmLoadStoreKernel_0
-nk=gemmTagsKernel:1:gemmTagsKernel_0
-nk=gemmCPlusXKernel:1:gemmCPlusXKernel_0
-nk=gemmMergeKernel:1:gemmMergeKernel_0
-nk=gemmSystolicArrayKernel:1:gemmSystolicArrayKernel_0
-nk=gemmAddsKernel:1:gemmAddsKernel_0
-nk=gemmMulsKernel:1:gemmMulsKernel_0
-
-sp=gemmLoadStoreKernel_0.m_axi_gmem:DDR[0]
-
-sc=gemmLoadStoreKernel_0.l_aStr:gemmTagsKernel_0.p_a:256
-sc=gemmLoadStoreKernel_0.l_bStr:gemmTagsKernel_0.p_b
-sc=gemmLoadStoreKernel_0.l_xStr:gemmCPlusXKernel_0.l_xStr
-sc=gemmLoadStoreKernel_0.l_opCodeStr:gemmTimerKernel_0.l_opCodeStr
-
-sc=gemmTimerKernel_0.l_resStr:gemmLoadStoreKernel_0.l_resStr
-sc=gemmCPlusXKernel_0.l_cStr:gemmLoadStoreKernel_0.l_cStr:256
-
-sc=gemmTagsKernel_0.p_aOut:gemmSystolicArrayKernel_0.p_a
-sc=gemmTagsKernel_0.p_tagOut:gemmSystolicArrayKernel_0.p_tag
-sc=gemmTagsKernel_0.p_bOut:gemmSystolicArrayKernel_0.p_b
-
-sc=gemmSystolicArrayKernel_0.p_bOut:gemmMulsKernel_0.p_bIn:32
-
-sc=gemmSystolicArrayKernel_0.p_aOut_0:gemmMulsKernel_0.p_aIn0:32
-sc=gemmSystolicArrayKernel_0.p_aOut_1:gemmMulsKernel_0.p_aIn1:32
-sc=gemmSystolicArrayKernel_0.p_aOut_2:gemmMulsKernel_0.p_aIn2:32
-sc=gemmSystolicArrayKernel_0.p_aOut_3:gemmMulsKernel_0.p_aIn3:32
-sc=gemmSystolicArrayKernel_0.p_aOut_4:gemmMulsKernel_0.p_aIn4:32
-sc=gemmSystolicArrayKernel_0.p_aOut_5:gemmMulsKernel_0.p_aIn5:32
-sc=gemmSystolicArrayKernel_0.p_aOut_6:gemmMulsKernel_0.p_aIn6:32
-sc=gemmSystolicArrayKernel_0.p_aOut_7:gemmMulsKernel_0.p_aIn7:32
-sc=gemmSystolicArrayKernel_0.p_aOut_8:gemmMulsKernel_0.p_aIn8:32
-sc=gemmSystolicArrayKernel_0.p_aOut_9:gemmMulsKernel_0.p_aIn9:32
-sc=gemmSystolicArrayKernel_0.p_aOut_10:gemmMulsKernel_0.p_aIn10:32
-sc=gemmSystolicArrayKernel_0.p_aOut_11:gemmMulsKernel_0.p_aIn11:32
-sc=gemmSystolicArrayKernel_0.p_aOut_12:gemmMulsKernel_0.p_aIn12:32
-sc=gemmSystolicArrayKernel_0.p_aOut_13:gemmMulsKernel_0.p_aIn13:32
-sc=gemmSystolicArrayKernel_0.p_aOut_14:gemmMulsKernel_0.p_aIn14:32
-sc=gemmSystolicArrayKernel_0.p_aOut_15:gemmMulsKernel_0.p_aIn15:32
-
-sc=gemmSystolicArrayKernel_0.p_tagOut_0:gemmMulsKernel_0.p_tagIn0:32
-sc=gemmSystolicArrayKernel_0.p_tagOut_1:gemmMulsKernel_0.p_tagIn1:32
-sc=gemmSystolicArrayKernel_0.p_tagOut_2:gemmMulsKernel_0.p_tagIn2:32
-sc=gemmSystolicArrayKernel_0.p_tagOut_3:gemmMulsKernel_0.p_tagIn3:32
-sc=gemmSystolicArrayKernel_0.p_tagOut_4:gemmMulsKernel_0.p_tagIn4:32
-sc=gemmSystolicArrayKernel_0.p_tagOut_5:gemmMulsKernel_0.p_tagIn5:32
-sc=gemmSystolicArrayKernel_0.p_tagOut_6:gemmMulsKernel_0.p_tagIn6:32
-sc=gemmSystolicArrayKernel_0.p_tagOut_7:gemmMulsKernel_0.p_tagIn7:32
-sc=gemmSystolicArrayKernel_0.p_tagOut_8:gemmMulsKernel_0.p_tagIn8:32
-sc=gemmSystolicArrayKernel_0.p_tagOut_9:gemmMulsKernel_0.p_tagIn9:32
-sc=gemmSystolicArrayKernel_0.p_tagOut_10:gemmMulsKernel_0.p_tagIn10:32
-sc=gemmSystolicArrayKernel_0.p_tagOut_11:gemmMulsKernel_0.p_tagIn11:32
-sc=gemmSystolicArrayKernel_0.p_tagOut_12:gemmMulsKernel_0.p_tagIn12:32
-sc=gemmSystolicArrayKernel_0.p_tagOut_13:gemmMulsKernel_0.p_tagIn13:32
-sc=gemmSystolicArrayKernel_0.p_tagOut_14:gemmMulsKernel_0.p_tagIn14:32
-sc=gemmSystolicArrayKernel_0.p_tagOut_15:gemmMulsKernel_0.p_tagIn15:32
-
-sc=gemmMulsKernel_0.p_out0:gemmAddsKernel_0.p_in0
-sc=gemmMulsKernel_0.p_out1:gemmAddsKernel_0.p_in1
-sc=gemmMulsKernel_0.p_out2:gemmAddsKernel_0.p_in2
-sc=gemmMulsKernel_0.p_out3:gemmAddsKernel_0.p_in3
-sc=gemmMulsKernel_0.p_out4:gemmAddsKernel_0.p_in4
-sc=gemmMulsKernel_0.p_out5:gemmAddsKernel_0.p_in5
-sc=gemmMulsKernel_0.p_out6:gemmAddsKernel_0.p_in6
-sc=gemmMulsKernel_0.p_out7:gemmAddsKernel_0.p_in7
-sc=gemmMulsKernel_0.p_out8:gemmAddsKernel_0.p_in8
-sc=gemmMulsKernel_0.p_out9:gemmAddsKernel_0.p_in9
-sc=gemmMulsKernel_0.p_out10:gemmAddsKernel_0.p_in10
-sc=gemmMulsKernel_0.p_out11:gemmAddsKernel_0.p_in11
-sc=gemmMulsKernel_0.p_out12:gemmAddsKernel_0.p_in12
-sc=gemmMulsKernel_0.p_out13:gemmAddsKernel_0.p_in13
-sc=gemmMulsKernel_0.p_out14:gemmAddsKernel_0.p_in14
-sc=gemmMulsKernel_0.p_out15:gemmAddsKernel_0.p_in15
-
-sc=gemmAddsKernel_0.p_out0:gemmMergeKernel_0.p_sum_0
-sc=gemmAddsKernel_0.p_out1:gemmMergeKernel_0.p_sum_1
-sc=gemmAddsKernel_0.p_out2:gemmMergeKernel_0.p_sum_2
-sc=gemmAddsKernel_0.p_out3:gemmMergeKernel_0.p_sum_3
-sc=gemmAddsKernel_0.p_out4:gemmMergeKernel_0.p_sum_4
-sc=gemmAddsKernel_0.p_out5:gemmMergeKernel_0.p_sum_5
-sc=gemmAddsKernel_0.p_out6:gemmMergeKernel_0.p_sum_6
-sc=gemmAddsKernel_0.p_out7:gemmMergeKernel_0.p_sum_7
-sc=gemmAddsKernel_0.p_out8:gemmMergeKernel_0.p_sum_8
-sc=gemmAddsKernel_0.p_out9:gemmMergeKernel_0.p_sum_9
-sc=gemmAddsKernel_0.p_out10:gemmMergeKernel_0.p_sum_10
-sc=gemmAddsKernel_0.p_out11:gemmMergeKernel_0.p_sum_11
-sc=gemmAddsKernel_0.p_out12:gemmMergeKernel_0.p_sum_12
-sc=gemmAddsKernel_0.p_out13:gemmMergeKernel_0.p_sum_13
-sc=gemmAddsKernel_0.p_out14:gemmMergeKernel_0.p_sum_14
-sc=gemmAddsKernel_0.p_out15:gemmMergeKernel_0.p_sum_15
-
-sc=gemmMergeKernel_0.p_sum:gemmCPlusXKernel_0.l_sStr
-
-slr=gemmLoadStoreKernel_0:SLR0
-
-slr=gemmTagsKernel_0:SLR0
-slr=gemmSystolicArrayKernel_0:SLR0
-slr=gemmMulsKernel_0:SLR0
-slr=gemmAddsKernel_0:SLR0
-slr=gemmMergeKernel_0:SLR0
-slr=gemmCPlusXKernel_0:SLR0
diff --git a/blas/L3/benchmarks/gemm/streamingKernel/data/float/matA_in_64_64.bin b/blas/L3/benchmarks/gemm/streamingKernel/data/float/matA_in_64_64.bin
deleted file mode 100644
index 75e7925257..0000000000
Binary files a/blas/L3/benchmarks/gemm/streamingKernel/data/float/matA_in_64_64.bin and /dev/null differ
diff --git a/blas/L3/benchmarks/gemm/streamingKernel/data/float/matB_in_64_64.bin b/blas/L3/benchmarks/gemm/streamingKernel/data/float/matB_in_64_64.bin
deleted file mode 100644
index 75e7925257..0000000000
Binary files a/blas/L3/benchmarks/gemm/streamingKernel/data/float/matB_in_64_64.bin and /dev/null differ
diff --git a/blas/L3/benchmarks/gemm/streamingKernel/data/float/matC_in_64_64.bin b/blas/L3/benchmarks/gemm/streamingKernel/data/float/matC_in_64_64.bin
deleted file mode 100644
index 75e7925257..0000000000
Binary files a/blas/L3/benchmarks/gemm/streamingKernel/data/float/matC_in_64_64.bin and /dev/null differ
diff --git a/blas/L3/benchmarks/gemm/streamingKernel/data/float/matC_out_64_64.bin b/blas/L3/benchmarks/gemm/streamingKernel/data/float/matC_out_64_64.bin
deleted file mode 100644
index fac70cd60a..0000000000
Binary files a/blas/L3/benchmarks/gemm/streamingKernel/data/float/matC_out_64_64.bin and /dev/null differ
diff --git a/blas/L3/benchmarks/gemm/streamingKernel/description.json b/blas/L3/benchmarks/gemm/streamingKernel/description.json
deleted file mode 100644
index 56755acdcf..0000000000
--- a/blas/L3/benchmarks/gemm/streamingKernel/description.json
+++ /dev/null
@@ -1,134 +0,0 @@
-{
- "name": "Xilinx XF_BLAS.gemm_benchmark_streaming",
- "description": "",
- "flow": "vitis",
- "platform_whitelist": [
- "xilinx_u250_gen3x16_xdma_3_1_202020_1"
- ],
- "platform_blacklist": [],
- "platform_type": "pcie",
- "gui": false,
- "platform_properties": {
- "u250": {
- "containers": [
- {
- "name" : "gemmKernel",
- "ldclflags" : "--kernel_frequency 250 --config PROJECT/conn_u250.cfg"
- }
- ]
- }
- },
- "launch": [
- {
- "cmd_args": "BUILD/gemmKernel.xclbin BUILD/config_info.dat",
- "name": "generic launch for all flows"
- }
- ],
- "pre_build": [
- {
- "build_cmd": "make dump_config"
- }
- ],
- "host": {
- "host_exe": "gemm_bench.exe",
- "compiler": {
- "sources": [
- "LIB_DIR/L3/benchmarks/gemm/gemm_bench.cpp"
- ],
- "includepaths": [
- "LIB_DIR/L3/include/sw",
- "LIB_DIR/L3/benchmarks/gemm",
- "LIB_DIR/L3/benchmarks",
- "LIB_DIR/L2/include/streamingKernel"
- ],
- "symbols": [
- ]
- },
- "linker": {
- "options": "-luuid -lxrt_coreutil"
- }
- },
- "v++": {
- "compiler": {
- "includepaths": [
- "LIB_DIR/L1/include/hw",
- "LIB_DIR/L1/include/hw/xf_blas",
- "LIB_DIR/L1/include/hw/xf_blas/gemm",
- "LIB_DIR/L1/include/hw/xf_blas/helpers/utils",
- "LIB_DIR/L2/include/streamingKernel",
- "LIB_DIR/L2/include/streamingKernel/hw/xf_blas/gemmStreamKernel/",
- "LIB_DIR/L2/include/streamingKernel/hw/xf_blas"
- ]
- }
- },
- "containers": [
- {
- "name" : "gemmKernel",
- "ldclflags" : "--config opts.cfg",
- "accelerators": [
- {
- "name": "gemmCPlusXKernel",
- "location": "LIB_DIR/L2/src/streamingKernel/hw/gemmCPlusX.cpp",
- "frequency" : 300
- },
- {
- "name": "gemmTagsKernel",
- "location": "LIB_DIR/L2/src/streamingKernel/hw/gemmTags.cpp",
- "frequency" : 300
- },
- {
- "name": "gemmTimerKernel",
- "location": "LIB_DIR/L2/src/streamingKernel/hw/gemmTimerKernel.cpp",
- "frequency" : 300
- },
- {
- "name": "gemmMergeKernel",
- "location": "LIB_DIR/L2/src/streamingKernel/hw/gemmMerge.cpp",
- "frequency" : 300
- },
- {
- "name": "gemmAddsKernel",
- "location": "LIB_DIR/L2/src/streamingKernel/hw/gemmAdds.cpp",
- "frequency" : 300
- },
- {
- "name": "gemmMulsKernel",
- "location": "LIB_DIR/L2/src/streamingKernel/hw/gemmMuls.cpp",
- "frequency" : 300
- },
- {
- "name": "gemmSystolicArrayKernel",
- "location": "LIB_DIR/L2/src/streamingKernel/hw/gemmSystolicArray.cpp",
- "frequency" : 300
- },
- {
- "name": "gemmLoadStoreKernel",
- "location": "LIB_DIR/L2/src/streamingKernel/hw/gemmLoadStore.cpp",
- "frequency" : 300
- }
- ]
- }
- ],
- "testinfo": {
- "disable": true,
- "jobs": [
- {
- "index": 0,
- "dependency": [],
- "env": "",
- "cmd": "",
- "max_memory_MB": 32768,
- "max_time_min": {
- "vitis_hw_build": 470,
- "vitis_hw_emu": 470,
- "vitis_sw_emu": 60,
- "vitis_hw_run": 10
- }
- }
- ],
- "targets": [
- "vitis_hw_emu"
- ],
- "category": "canary"
- }
-}
\ No newline at end of file
diff --git a/blas/L3/benchmarks/gemm/streamingKernel/opts.cfg b/blas/L3/benchmarks/gemm/streamingKernel/opts.cfg
deleted file mode 100644
index 2eecff33d6..0000000000
--- a/blas/L3/benchmarks/gemm/streamingKernel/opts.cfg
+++ /dev/null
@@ -1,8 +0,0 @@
-[vivado]
-param=project.writeIntermediateCheckpoints=1
-prop=run.impl_1.STEPS.OPT_DESIGN.ARGS.DIRECTIVE=Explore
-prop=run.impl_1.STEPS.PHYS_OPT_DESIGN.IS_ENABLED=true
-prop=run.impl_1.STEPS.PHYS_OPT_DESIGN.ARGS.DIRECTIVE=AggressiveExplore
-prop=run.impl_1.STEPS.ROUTE_DESIGN.ARGS.DIRECTIVE=Explore
-prop=run.impl_1.{STEPS.ROUTE_DESIGN.ARGS.MORE OPTIONS}={-tns_cleanup}
-prop=run.impl_1.STEPS.POST_ROUTE_PHYS_OPT_DESIGN.IS_ENABLED=true
diff --git a/blas/L3/benchmarks/gemm/streamingKernel/params.makefile b/blas/L3/benchmarks/gemm/streamingKernel/params.makefile
deleted file mode 100644
index e5ed481e0b..0000000000
--- a/blas/L3/benchmarks/gemm/streamingKernel/params.makefile
+++ /dev/null
@@ -1,55 +0,0 @@
-BLAS_pageSizeBytes=4096
-BLAS_instrOffsetBytes=0
-BLAS_resOffsetBytes=4096
-BLAS_dataOffsetBytes=8192
-BLAS_ddrMemBits=512
-BLAS_maxNumInstrs=64
-BLAS_memWordsPerInstr=1
-BLAS_parEntries=16
-
-BLAS_dataType=float
-BLAS_mParWords=4
-BLAS_kParWords=4
-BLAS_nParWords=4
-BLAS_numKernels = 1
-BLAS_runGemm = 1
-BLAS_streamingKernel=1
-
-BLAS_FLOAT_WIDTH=8
-
-MACROS += -D BLAS_pageSizeBytes=$(BLAS_pageSizeBytes) \
- -D BLAS_instrOffsetBytes=$(BLAS_instrOffsetBytes) \
- -D BLAS_resOffsetBytes=$(BLAS_resOffsetBytes) \
- -D BLAS_dataOffsetBytes=$(BLAS_dataOffsetBytes) \
- -D BLAS_ddrMemBits=$(BLAS_ddrMemBits) \
- -D BLAS_maxNumInstrs=$(BLAS_maxNumInstrs) \
- -D BLAS_memWordsPerInstr=$(BLAS_memWordsPerInstr) \
- -D BLAS_parEntries=$(BLAS_parEntries) \
- -D BLAS_dataType=$(BLAS_dataType) \
- -D BLAS_mParWords=$(BLAS_mParWords) \
- -D BLAS_kParWords=$(BLAS_kParWords) \
- -D BLAS_nParWords=$(BLAS_nParWords) \
- -D BLAS_numKernels=$(BLAS_numKernels) \
- -D BLAS_FLOAT_WIDTH=$(BLAS_FLOAT_WIDTH) \
- -D DEBUG=$(DEBUG) \
- -D BLAS_runGemm=$(BLAS_runGemm) \
- -D BLAS_streamingKernel=$(BLAS_streamingKernel) \
- -D AP_INT_MAX_W=1026
-
-CXXFLAGS += -D BLAS_streamingKernel=$(BLAS_streamingKernel) \
- -D BLAS_dataType=$(BLAS_dataType)
-VPP_FLAGS += ${MACROS}
-
-ifeq ($(TARGET),$(filter $(TARGET),hw_emu))
- CXXFLAGS += -lxrt_hwemu
-else ifeq ($(TARGET),$(filter $(TARGET),sw_emu))
- CXXFLAGS += -lxrt_swemu
-else
- CXXFLAGS += -lxrt_core
-endif
-
-CONFIG_INFO = $(shell echo ${MACROS} | sed 's/-D //g; s/ -Wno.*//')
-
-dump_config:
- mkdir -p ${BUILD_DIR}
- @echo ${CONFIG_INFO} | tr " " "\n" > ${BUILD_DIR}/config_info.dat
diff --git a/blas/L3/benchmarks/gemm/streamingKernel/run_gemm_bench.sh b/blas/L3/benchmarks/gemm/streamingKernel/run_gemm_bench.sh
deleted file mode 100755
index 33f01753d2..0000000000
--- a/blas/L3/benchmarks/gemm/streamingKernel/run_gemm_bench.sh
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/usr/bin/env bash
-
-# Copyright 2019 Xilinx, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-if [ "$1" == "-h" ]; then
- echo "Usage: `basename $0` path_to_xclbin path_to_config_info"
- exit 0
-elif [ "$1" == "" ]; then
- echo "Usage: `basename $0` path_to_xclbin path_to_config_info"
- exit 0
-else
- dataType=$(grep BLAS_dataType $2 | sed 's/^BLAS_dataType=//')
- numKernels=$(grep BLAS_numKernels $2 | sed 's/^BLAS_numKernels=//')
- n=256
- logs=()
- while [ $n -le 4096 ]; do
- date
- echo "############# $n ################"
- nice ./build_dir.hw.xilinx_u250_gen3x16_xdma_3_1_202020_1/gemm_bench.exe $1 $2 $n $n $n ../data/$dataType/ $numKernels | tee log-$n.txt
- logs="$logs log-$n.txt"
- n=`expr $n \* 2`
- done
-
- egrep -h ^DATA_CSV $logs | grep Freq | head -1 > perf_gemm_api_cpp.csv
- egrep -h ^DATA_CSV $logs | grep -v Freq >> perf_gemm_api_cpp.csv
-fi
-
-
diff --git a/blas/L3/benchmarks/gemm/streamingKernel/utils.mk b/blas/L3/benchmarks/gemm/streamingKernel/utils.mk
deleted file mode 100644
index e71c1c5409..0000000000
--- a/blas/L3/benchmarks/gemm/streamingKernel/utils.mk
+++ /dev/null
@@ -1,246 +0,0 @@
-#
-# Copyright 2019-2021 Xilinx, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# vitis makefile-generator v2.0.3
-#
-#+-------------------------------------------------------------------------------
-# The following parameters are assigned with default values. These parameters can
-# be overridden through the make command line
-#+-------------------------------------------------------------------------------
-
-REPORT := no
-PROFILE := no
-DEBUG := no
-
-#'estimate' for estimate report generation
-#'system' for system report generation
-ifneq ($(REPORT), no)
-VPP_LDFLAGS += --report estimate
-VPP_LDFLAGS += --report system
-endif
-
-#Generates profile summary report
-ifeq ($(PROFILE), yes)
-VPP_LDFLAGS += --profile_kernel data:all:all:all
-endif
-
-#Generates debug summary report
-ifeq ($(DEBUG), yes)
-VPP_LDFLAGS += --dk protocol:all:all:all
-endif
-
-#Check environment setup
-ifndef XILINX_VITIS
- XILINX_VITIS = /opt/xilinx/Vitis/$(TOOL_VERSION)
- export XILINX_VITIS
-endif
-ifndef XILINX_XRT
- XILINX_XRT = /opt/xilinx/xrt
- export XILINX_XRT
-endif
-
-check_device:
- @set -eu; \
- inallowlist=False; \
- inblocklist=False; \
- for dev in $(PLATFORM_ALLOWLIST); \
- do if [[ $$(echo $(XPLATFORM) | grep $$dev) != "" ]]; \
- then inallowlist=True; fi; \
- done ;\
- for dev in $(PLATFORM_BLOCKLIST); \
- do if [[ $$(echo $(XPLATFORM) | grep $$dev) != "" ]]; \
- then inblocklist=True; fi; \
- done ;\
- if [[ $$inallowlist == False ]]; \
- then echo "[Warning]: The device $(XPLATFORM) not in allowlist."; \
- fi; \
- if [[ $$inblocklist == True ]]; \
- then echo "[ERROR]: The device $(XPLATFORM) in blocklist."; exit 1;\
- fi;
-
-#get HOST_ARCH by PLATFORM
-HOST_ARCH_temp = $(shell platforminfo -p $(PLATFORM) | grep 'CPU Type' | sed 's/.*://' | sed '/ai_engine/d' | sed 's/^[[:space:]]*//')
-$(warning HOST_ARCH_temp:$(HOST_ARCH_temp))
-ifeq ($(HOST_ARCH_temp), x86)
-HOST_ARCH := x86
-else ifeq ($(HOST_ARCH_temp), cortex-a9)
-HOST_ARCH := aarch32
-else ifeq ($(HOST_ARCH_temp), cortex-a*)
-HOST_ARCH := aarch64
-endif
-
-#Checks for Device Family
-ifeq ($(HOST_ARCH), aarch32)
- DEV_FAM = 7Series
-else ifeq ($(HOST_ARCH), aarch64)
- DEV_FAM = Ultrascale
-endif
-
-#Checks for Correct architecture
-ifneq ($(HOST_ARCH), $(filter $(HOST_ARCH),aarch64 aarch32 x86))
-$(error HOST_ARCH variable not set, please set correctly and rerun)
-endif
-
-check_version:
-ifneq (, $(shell which git))
-ifneq (,$(wildcard $(XFLIB_DIR)/.git))
- @cd $(XFLIB_DIR) && git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit -n 1 && cd -
-endif
-endif
-
-#Checks for SYSROOT
-check_sysroot:
-ifneq ($(HOST_ARCH), x86)
-ifndef SYSROOT
- $(error SYSROOT ENV variable is not set, please set ENV variable correctly and rerun)
-endif
-endif
-
-#Checks for g++
-CXX := g++
-ifeq ($(HOST_ARCH), x86)
-ifneq ($(shell expr $(shell echo "__GNUG__" | g++ -E -x c++ - | tail -1) \>= 5), 1)
-ifndef XILINX_VIVADO
-$(error [ERROR]: g++ version too old. Please use 5.0 or above)
-else
-CXX := $(XILINX_VIVADO)/tps/lnx64/gcc-6.2.0/bin/g++
-ifeq ($(LD_LIBRARY_PATH),)
-export LD_LIBRARY_PATH := $(XILINX_VIVADO)/tps/lnx64/gcc-6.2.0/lib64
-else
-export LD_LIBRARY_PATH := $(XILINX_VIVADO)/tps/lnx64/gcc-6.2.0/lib64:$(LD_LIBRARY_PATH)
-endif
-$(warning [WARNING]: g++ version too old. Using g++ provided by the tool: $(CXX))
-endif
-endif
-else ifeq ($(HOST_ARCH), aarch64)
-CXX := $(XILINX_VITIS)/gnu/aarch64/lin/aarch64-linux/bin/aarch64-linux-gnu-g++
-else ifeq ($(HOST_ARCH), aarch32)
-CXX := $(XILINX_VITIS)/gnu/aarch32/lin/gcc-arm-linux-gnueabi/bin/arm-linux-gnueabihf-g++
-endif
-
-#Check OS and setting env
-OSDIST = $(shell lsb_release -i |awk -F: '{print tolower($$2)}' | tr -d ' \t' )
-OSREL = $(shell lsb_release -r |awk -F: '{print tolower($$2)}' |tr -d ' \t')
-
-ifeq ($(OSDIST), centos)
-ifeq (7,$(shell echo $(OSREL) | awk -F. '{print tolower($$1)}' ))
-ifeq ($(HOST_ARCH), x86)
-CXXFLAGS += -D_GLIBCXX_USE_CXX11_ABI=0
-endif
-endif
-endif
-
-#Setting VPP
-VPP := v++
-
-#Cheks for aiecompiler
-AIECXX := aiecompiler
-AIESIMULATOR := aiesimulator
-X86SIMULATOR := x86simulator
-
-.PHONY: check_vivado
-check_vivado:
-ifeq (,$(wildcard $(XILINX_VIVADO)/bin/vivado))
- @echo "Cannot locate Vivado installation. Please set XILINX_VIVADO variable." && false
-endif
-
-.PHONY: check_vpp
-check_vpp:
-ifeq (,$(wildcard $(XILINX_VITIS)/bin/v++))
- @echo "Cannot locate Vitis installation. Please set XILINX_VITIS variable." && false
-endif
-
-.PHONY: check_xrt
-check_xrt:
-ifeq (,$(wildcard $(XILINX_XRT)/lib/libxilinxopencl.so))
- @echo "Cannot locate XRT installation. Please set XILINX_XRT variable." && false
-endif
-
-export PATH := $(XILINX_VITIS)/bin:$(XILINX_XRT)/bin:$(PATH)
-ifeq ($(HOST_ARCH), x86)
-ifeq (,$(LD_LIBRARY_PATH))
-LD_LIBRARY_PATH := $(XILINX_XRT)/lib
-else
-LD_LIBRARY_PATH := $(XILINX_XRT)/lib:$(LD_LIBRARY_PATH)
-endif
-endif
-
-ifneq (,$(wildcard $(PLATFORM)))
-XPLATFORM := $(PLATFORM)
-else
-ifneq (,$(wildcard $(PLATFORM)))
-# Use PLATFORM as a file path
-XPLATFORM := $(PLATFORM)
-else
-# Use PLATFORM as a file name pattern
-# 1. search paths specified by variable
-ifneq (,$(PLATFORM_REPO_PATHS))
-# 1.1 as exact name
-XPLATFORM := $(strip $(foreach p, $(subst :, ,$(PLATFORM_REPO_PATHS)), $(wildcard $(p)/$(PLATFORM)/$(PLATFORM).xpfm)))
-# 1.2 as a pattern
-ifeq (,$(XPLATFORM))
-XPLATFORMS := $(foreach p, $(subst :, ,$(PLATFORM_REPO_PATHS)), $(wildcard $(p)/*/*.xpfm))
-XPLATFORM := $(strip $(foreach p, $(XPLATFORMS), $(shell echo $(p) | awk '$$1 ~ /$(PLATFORM)/')))
-endif # 1.2
-endif # 1
-# 2. search Vitis installation
-ifeq (,$(XPLATFORM))
-# 2.1 as exact name
-XPLATFORM := $(strip $(wildcard $(XILINX_VITIS)/platforms/$(PLATFORM)/$(PLATFORM).xpfm))
-# 2.2 as a pattern
-ifeq (,$(XPLATFORM))
-XPLATFORMS := $(wildcard $(XILINX_VITIS)/platforms/*/*.xpfm)
-XPLATFORM := $(strip $(foreach p, $(XPLATFORMS), $(shell echo $(p) | awk '$$1 ~ /$(PLATFORM)/')))
-endif # 2.2
-endif # 2
-# 3. search default locations
-ifeq (,$(XPLATFORM))
-# 3.1 as exact name
-XPLATFORM := $(strip $(wildcard /opt/xilinx/platforms/$(PLATFORM)/$(PLATFORM).xpfm))
-# 3.2 as a pattern
-ifeq (,$(XPLATFORM))
-XPLATFORMS := $(wildcard /opt/xilinx/platforms/*/*.xpfm)
-XPLATFORM := $(strip $(foreach p, $(XPLATFORMS), $(shell echo $(p) | awk '$$1 ~ /$(PLATFORM)/')))
-endif # 3.2
-endif # 3
-endif
-endif
-
-define MSG_PLATFORM
-No platform matched pattern '$(PLATFORM)'.
-Available platforms are: $(XPLATFORMS)
-To add more platform directories, set the PLATFORM_REPO_PATHS variable or point PLATFORM variable to the full path of platform .xpfm file.
-endef
-export MSG_PLATFORM
-
-
-.PHONY: check_platform
-check_platform:
-ifeq (,$(XPLATFORM))
- @echo "$${MSG_PLATFORM}" && false
-endif
-#Check ends
-
-# device2xsa - create a filesystem friendly name from device name
-# $(1) - full name of device
-XPLATFORM = $(strip $(patsubst %.xpfm, % , $(shell basename $(PLATFORM))))
-
-
-# Cleaning stuff
-RM = rm -f
-RMDIR = rm -rf
-
-MV = mv -f
-CP = cp -rf
-ECHO:= @echo
diff --git a/blas/L3/benchmarks/gemm/streamingKernel/xrt.cfg b/blas/L3/benchmarks/gemm/streamingKernel/xrt.cfg
deleted file mode 100644
index 7215af63fa..0000000000
--- a/blas/L3/benchmarks/gemm/streamingKernel/xrt.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-[Debug]
-profile=true
-timeline_trace=true
-device_profile=true
-data_transfer_trace=fine
-[Emulation]
-enable_shared_memory=false
diff --git a/blas/L3/examples/streamingKernel/gemm/Makefile b/blas/L3/examples/streamingKernel/gemm/Makefile
deleted file mode 100644
index 5add8b4016..0000000000
--- a/blas/L3/examples/streamingKernel/gemm/Makefile
+++ /dev/null
@@ -1,372 +0,0 @@
-# Copyright 2019-2021 Xilinx, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# vitis makefile-generator v2.0.3
-
-############################## Help Section ##############################
-.PHONY: help
-
-help::
- $(ECHO) "Makefile Usage:"
- $(ECHO) " make all TARGET= PLATFORM= HOST_ARCH=< >"
- $(ECHO) " Command to generate the design for specified Target and Shell."
- $(ECHO) " By default, HOST_ARCH=. HOST_ARCH is required for SoC shells"
- $(ECHO) ""
- $(ECHO) " make run TARGET= PLATFORM= HOST_ARCH=< >"
- $(ECHO) " Command to run application in emulation."
- $(ECHO) " By default, HOST_ARCH=. HOST_ARCH required for SoC shells"
- $(ECHO) ""
- $(ECHO) " make xclbin TARGET= PLATFORM= HOST_ARCH=< >"
- $(ECHO) " Command to build xclbin application."
- $(ECHO) " By default, HOST_ARCH=. HOST_ARCH is required for SoC shells"
- $(ECHO) ""
- $(ECHO) " make host HOST_ARCH="
- $(ECHO) " Command to build host application."
- $(ECHO) " By default, HOST_ARCH=. HOST_ARCH is required for SoC shells"
- $(ECHO) ""
- $(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,"
- $(ECHO) " export SYSROOT=< path-to-platform-sysroot >"
- $(ECHO) " export EDGE_COMMON_SW=< path-to-rootfs-and-Image-files >"
- $(ECHO) ""
- $(ECHO) " make clean "
- $(ECHO) " Command to remove the generated non-hardware files."
- $(ECHO) ""
- $(ECHO) " make cleanall"
- $(ECHO) " Command to remove all the generated files."
- $(ECHO) ""
-
-############################## Setting up Project Variables ##############################
-
-MK_PATH := $(abspath $(lastword $(MAKEFILE_LIST)))
-XF_PROJ_ROOT ?= $(shell bash -c 'export MK_PATH=$(MK_PATH); echo $${MK_PATH%/L3/*}')
-CUR_DIR := $(patsubst %/,%,$(dir $(MK_PATH)))
-XFLIB_DIR = $(XF_PROJ_ROOT)
-
-# setting devault value
-TARGET ?= hw_emu
-HOST_ARCH ?=
-
-#setting PLATFORM
-ifeq ($(PLATFORM),)
-PLATFORM := $(DEVICE)
-endif
-ifeq ($(PLATFORM),)
-PLATFORM := xilinx_u250_gen3x16_xdma_3_1_202020_1
-endif
-
-# ###dddd################# Checking if PLATFORM in whitelist ############################
-PLATFORM_ALLOWLIST += xilinx_u250_gen3x16_xdma_3_1_202020_1
-PLATFORM_BLOCKLIST +=
-
-include ./utils.mk
-
-TEMP_DIR := _x_temp.$(TARGET).$(XPLATFORM)
-TEMP_REPORT_DIR := $(CUR_DIR)/reports/_x.$(TARGET).$(XPLATFORM)
-BUILD_DIR := build_dir.$(TARGET).$(XPLATFORM)
-BUILD_REPORT_DIR := $(CUR_DIR)/reports/_build.$(TARGET).$(XPLATFORM)
-EMCONFIG := $(BUILD_DIR)/emconfig.json
-XCLBIN_DIR := $(CUR_DIR)/$(BUILD_DIR)
-export XCL_BINDIR = $(XCLBIN_DIR)
-
-EXE_FILE_DEPS :=
-BINARY_CONTAINERS_DEPS :=
-RUN_DEPS :=
-
-# get global setting
-ifeq ($(HOST_ARCH), x86)
-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
-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
-VPP_FLAGS += -t $(TARGET) --platform $(XPLATFORM) --save-temps
-VPP_LDFLAGS += --optimize 2 -R 2
-else ifeq ($(HOST_ARCH), aarch64)
-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
-LDFLAGS += -pthread -L$(SYSROOT)/usr/lib -L$(XILINX_VITIS_AIETOOLS)/lib/aarch64.o -Wl,--as-needed -lxilinxopencl -lxrt_coreutil
-VPP_FLAGS += -t $(TARGET) --platform $(XPLATFORM) --save-temps
-VPP_LDFLAGS += --optimize 2 -R 2
-endif
-CXXFLAGS += $(EXTRA_CXXFLAGS)
-VPP_FLAGS += $(EXTRA_VPP_FLAGS)
-
-########################## Setting up Host Variables ##########################
-ifeq ($(TARGET),sw_emu)
-CXXFLAGS += -D SW_EMU_TEST
-endif
-ifeq ($(TARGET),hw_emu)
-CXXFLAGS += -D HW_EMU_TEST
-endif
-
-#Inclue Required Host Source Files
-HOST_SRCS += $(XFLIB_DIR)/L3/examples/streamingKernel/gemm/gemm_example.cpp
-CXXFLAGS += -I $(XFLIB_DIR)/L3/include/sw -I $(XFLIB_DIR)/L3/examples/gemm -I $(XFLIB_DIR)/L2/include/streamingKernel -I $(XFLIB_DIR)/L1/include/hw
-LDFLAGS += -luuid -lxrt_coreutil
-
-EXE_NAME := gemm_example.exe
-EXE_FILE := $(BUILD_DIR)/$(EXE_NAME)
-EXE_FILE_DEPS := $(HOST_SRCS) $(EXE_FILE_DEPS)
-
-HOST_ARGS := $(BUILD_DIR)/gemmKernel.xclbin $(BUILD_DIR)/config_info.dat
-ifneq ($(HOST_ARCH), x86)
-PKG_HOST_ARGS = $(foreach args,$(HOST_ARGS),$(subst $(dir $(patsubst %/,%,$(args))),,$(args)))
-endif
-
-########################## Kernel compiler global settings ##########################
-VPP_FLAGS += -I $(XFLIB_DIR)/L1/include/hw -I $(XFLIB_DIR)/L1/include/hw/xf_blas -I $(XFLIB_DIR)/L1/include/hw/xf_blas/gemm -I $(XFLIB_DIR)/L1/include/hw/xf_blas/helpers/utils -I $(XFLIB_DIR)/L2/include/streamingKernel -I $(XFLIB_DIR)/L2/include/streamingKernel/hw/xf_blas/gemmStreamKernel/ -I $(XFLIB_DIR)/L2/include/streamingKernel/hw/xf_blas -I $(XFLIB_DIR)/L1/include/hw
-
-ifneq (,$(shell echo $(XPLATFORM) | awk '/ u250/'))
-
-########################## binary container global settings ##########################
-ifeq ($(HOST_ARCH), x86)
-BINARY_CONTAINERS += $(BUILD_DIR)/gemmKernel.xclbin
-else
-BINARY_CONTAINERS += $(BUILD_DIR)/gemmKernel_pkg.xclbin
-BINARY_CONTAINERS_PKG += $(BUILD_DIR)/gemmKernel.xclbin
-endif
-
-# ################ Setting Rules for Binary Containers (Building Kernels) ################
-$(BINARY_CONTAINERS): $(BINARY_CONTAINERS_DEPS)
- mkdir -p $(BUILD_DIR)
- $(VPP) -l $(VPP_FLAGS) --temp_dir $(BUILD_DIR) --report_dir $(BUILD_REPORT_DIR)/gemmKernel $(VPP_LDFLAGS) $(VPP_LDFLAGS_gemmKernel) $(AIE_LDFLAGS) -o $@ $^
-
-else
-VPP_FLAGS_gemmCPlusXKernel += --hls.clock 300000000:gemmCPlusXKernel
-VPP_FLAGS_gemmTagsKernel += --hls.clock 300000000:gemmTagsKernel
-VPP_FLAGS_gemmTimerKernel += --hls.clock 300000000:gemmTimerKernel
-VPP_FLAGS_gemmMergeKernel += --hls.clock 300000000:gemmMergeKernel
-VPP_FLAGS_gemmAddsKernel += --hls.clock 300000000:gemmAddsKernel
-VPP_FLAGS_gemmMulsKernel += --hls.clock 300000000:gemmMulsKernel
-VPP_FLAGS_gemmSystolicArrayKernel += --hls.clock 300000000:gemmSystolicArrayKernel
-VPP_FLAGS_gemmLoadStoreKernel += --hls.clock 300000000:gemmLoadStoreKernel
-
-VPP_LDFLAGS_gemmKernel_temp := --config opts.cfg
-VPP_LDFLAGS_gemmKernel += $(VPP_LDFLAGS_gemmKernel_temp)
-
-########################## binary container global settings ##########################
-BINARY_CONTAINER_gemmKernel_OBJS += $(TEMP_DIR)/gemmCPlusXKernel.xo
-BINARY_CONTAINERS_DEPS += $(BINARY_CONTAINER_gemmKernel_OBJS)
-BINARY_CONTAINER_gemmKernel_OBJS += $(TEMP_DIR)/gemmTagsKernel.xo
-BINARY_CONTAINERS_DEPS += $(BINARY_CONTAINER_gemmKernel_OBJS)
-BINARY_CONTAINER_gemmKernel_OBJS += $(TEMP_DIR)/gemmTimerKernel.xo
-BINARY_CONTAINERS_DEPS += $(BINARY_CONTAINER_gemmKernel_OBJS)
-BINARY_CONTAINER_gemmKernel_OBJS += $(TEMP_DIR)/gemmMergeKernel.xo
-BINARY_CONTAINERS_DEPS += $(BINARY_CONTAINER_gemmKernel_OBJS)
-BINARY_CONTAINER_gemmKernel_OBJS += $(TEMP_DIR)/gemmAddsKernel.xo
-BINARY_CONTAINERS_DEPS += $(BINARY_CONTAINER_gemmKernel_OBJS)
-BINARY_CONTAINER_gemmKernel_OBJS += $(TEMP_DIR)/gemmMulsKernel.xo
-BINARY_CONTAINERS_DEPS += $(BINARY_CONTAINER_gemmKernel_OBJS)
-BINARY_CONTAINER_gemmKernel_OBJS += $(TEMP_DIR)/gemmSystolicArrayKernel.xo
-BINARY_CONTAINERS_DEPS += $(BINARY_CONTAINER_gemmKernel_OBJS)
-BINARY_CONTAINER_gemmKernel_OBJS += $(TEMP_DIR)/gemmLoadStoreKernel.xo
-BINARY_CONTAINERS_DEPS += $(BINARY_CONTAINER_gemmKernel_OBJS)
-ifeq ($(HOST_ARCH), x86)
-BINARY_CONTAINERS += $(BUILD_DIR)/gemmKernel.xclbin
-else
-BINARY_CONTAINERS += $(BUILD_DIR)/gemmKernel_pkg.xclbin
-BINARY_CONTAINERS_PKG += $(BUILD_DIR)/gemmKernel.xclbin
-endif
-
-# ################ Setting Rules for Binary Containers (Building Kernels) ################
-$(TEMP_DIR)/gemmCPlusXKernel.xo: $(XFLIB_DIR)/L2/src/streamingKernel/hw/gemmCPlusX.cpp
- $(ECHO) "Compiling Kernel: gemmCPlusXKernel"
- mkdir -p $(TEMP_DIR)
- $(VPP) -c $(VPP_FLAGS_gemmCPlusXKernel) $(VPP_FLAGS) -k gemmCPlusXKernel -I'$(> $(RUN_SCRIPT)
-ifneq ($(filter sw_emu hw_emu, $(TARGET)),)
- @echo 'export XCL_EMULATION_MODE=$(TARGET)' >> $(RUN_SCRIPT)
-endif
- @echo 'export XILINX_VITIS=/mnt' >> $(RUN_SCRIPT)
- @echo 'export XILINX_XRT=/usr' >> $(RUN_SCRIPT)
- @echo 'if [ -f platform_desc.txt ]; then' >> $(RUN_SCRIPT)
- @echo ' cp platform_desc.txt /etc/xocl.txt' >> $(RUN_SCRIPT)
- @echo 'fi' >> $(RUN_SCRIPT)
- @echo './$(EXE_NAME) $(PKG_HOST_ARGS)' >> $(RUN_SCRIPT)
- @echo 'return_code=$$?' >> $(RUN_SCRIPT)
- @echo 'if [ $$return_code -ne 0 ]; then' >> $(RUN_SCRIPT)
- @echo ' echo "ERROR: Embedded host run failed, RC=$$return_code"' >> $(RUN_SCRIPT)
- @echo 'else' >> $(RUN_SCRIPT)
- @echo ' echo "INFO: TEST PASSED, RC=0"' >> $(RUN_SCRIPT)
- @echo 'fi' >> $(RUN_SCRIPT)
- @echo 'echo "INFO: Embedded host run completed."' >> $(RUN_SCRIPT)
- @echo 'exit $$return_code' >> $(RUN_SCRIPT)
-DATA_FILE :=
-DATA_DIR :=
-SD_FILES += $(RUN_SCRIPT)
-SD_FILES += $(EXE_FILE)
-SD_FILES += $(EMCONFIG)
-SD_FILES += xrt.ini
-SD_FILES += $(DATA_FILE)# where define DATAFILE in json
-SD_FILES_WITH_PREFIX = $(foreach sd_file,$(SD_FILES), $(if $(filter $(sd_file),$(wildcard $(sd_file))), --package.sd_file $(sd_file)))
-SD_DIRS_WITH_PREFIX = $(foreach sd_dir,$(DATA_DIR),--package.sd_dir $(sd_dir))
-PACKAGE_FILES := $(BINARY_CONTAINERS)
-PACKAGE_FILES += $(AIE_CONTAINER)
-SD_CARD := $(CUR_DIR)/package_$(TARGET)
-$(SD_CARD): $(EXE_FILE) $(BINARY_CONTAINERS) $(RUN_SCRIPT) $(EMCONFIG)
- @echo "Generating sd_card folder...."
- mkdir -p $(SD_CARD)
- chmod a+rx $(BUILD_DIR)/run_script.sh
- $(VPP) -t $(TARGET) --platform $(PLATFORM) -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)
- @echo "### ***** sd_card generation done! ***** ###"
-
-.PHONY: sd_card
-sd_card: $(SD_CARD)
-
-endif
-############################## Setting Essential Checks and Building Rules ##############################
-ifneq (,$(filter x86sim aiesim, $(TARGET)))
-RUN_DEPS += $(AIE_CONTAINER)
-else
-RUN_DEPS += $(AIE_CONTAINER) $(EXE_FILE) $(BINARY_CONTAINERS) $(EMCONFIG)
-RUN_DEPS += $(SD_CARD)
-endif
-
-run: check_device pre_build $(RUN_DEPS)
-#x86sim
-ifeq ($(TARGET), x86sim)
- $(X86SIMULATOR) --pkg-dir=./Work
-
-endif
-#aiesim
-ifeq ($(TARGET), aiesim)
- $(AIESIMULATOR) --pkg-dir=./Work --profile
-
-endif
-#hw_emu and sw_emu
-ifneq (,$(filter sw_emu hw_emu, $(TARGET)))
-ifeq ($(HOST_ARCH), x86)
- LD_LIBRARY_PATH=$(LIBRARY_PATH):$$LD_LIBRARY_PATH \
- XCL_EMULATION_MODE=$(TARGET) $(EXE_FILE) $(HOST_ARGS)
-
-else
- @echo $(RUN_DEPS)
- $(SD_CARD)/launch_$(TARGET).sh -no-reboot -run-app $(notdir $(RUN_SCRIPT))
- grep "TEST PASSED, RC=0" $(SD_CARD)/qemu_output.log || exit 1
-
-endif
-endif
-#hw
-ifeq ($(TARGET), hw)
-ifeq ($(HOST_ARCH), x86)
- $(EXE_FILE) $(HOST_ARGS)
-
-else
- $(ECHO) "Please copy the content of sd_card folder and data to an SD Card and run on the board"
-endif
-endif
-
-############################## Setting Targets ##############################
-
--include params.makefile
-
-.PHONY: pre_build
-pre_build:
- make dump_config
-
-.PHONY: all clean cleanall emconfig
-emconfig: $(EMCONFIG)
-ifeq ($(HOST_ARCH), x86)
-all: pre_build check_vpp check_platform check_xrt $(EXE_FILE) $(BINARY_CONTAINERS) emconfig
-else
-all: pre_build check_vpp check_platform check_sysroot $(EXE_FILE) $(BINARY_CONTAINERS) emconfig sd_card
-endif
-
-.PHONY: host
-ifeq ($(HOST_ARCH), x86)
-host: pre_build check_xrt $(EXE_FILE)
-else
-host: pre_build check_sysroot $(EXE_FILE)
-endif
-
-.PHONY: xclbin
-ifeq ($(HOST_ARCH), x86)
-xclbin: pre_build check_vpp check_xrt $(BINARY_CONTAINERS)
-else
-xclbin: pre_build check_vpp check_sysroot $(BINARY_CONTAINERS)
-endif
-
-.PHONY: x86sim
-x86sim: $(AIE_CONTAINER)
- $(X86SIMULATOR) --pkg-dir=./Work
-
-############################## Cleaning Rules ##############################
-cleanh:
- -$(RMDIR) $(EXE_FILE) vitis_* TempConfig system_estimate.xtxt *.rpt .run/
- -$(RMDIR) src/*.ll _xocc_* .Xil dltmp* xmltmp* *.log *.jou *.wcfg *.wdb sample_link.ini sample_compile.ini obj* bin* *.csv *.jpg *.jpeg *.png
-
-cleank:
- -$(RMDIR) $(BUILD_DIR)/*.xclbin _vimage *xclbin.run_summary qemu-memory-_* emulation/ _vimage/ pl*start_simulation. sh *.xclbin
- -$(RMDIR) _x_temp.*/_x.* _x_temp.*/.Xil _x_temp.*/profile_summary.* xo_* _x*
- -$(RMDIR) _x_temp.*/dltmp* _x_temp.*/kernel_info.dat _x_temp.*/*.log
- -$(RMDIR) _x_temp.*
-
-cleanall: cleanh cleank
- -$(RMDIR) $(BUILD_DIR) build_dir.* emconfig.json *.html $(TEMP_DIR) $(CUR_DIR)/reports *.csv *.run_summary $(CUR_DIR)/*.raw package_* $(BUILD_DIR)/run_script.sh .ipcache *.str
- -$(RMDIR) $(XFLIB_DIR)/common/data/*.xe2xd* $(XFLIB_DIR)/common/data/*.orig*
- -$(RMDIR) $(CUR_DIR)/Work $(CUR_DIR)/*.xpe $(CUR_DIR)/hw.o $(CUR_DIR)/*.xsa $(CUR_DIR)/xnwOut
-
-clean: cleanh
\ No newline at end of file
diff --git a/blas/L3/examples/streamingKernel/gemm/conn_u250.cfg b/blas/L3/examples/streamingKernel/gemm/conn_u250.cfg
deleted file mode 100644
index 94a334410b..0000000000
--- a/blas/L3/examples/streamingKernel/gemm/conn_u250.cfg
+++ /dev/null
@@ -1,104 +0,0 @@
-[connectivity]
-nk=gemmTimerKernel:1:gemmTimerKernel_0
-nk=gemmLoadStoreKernel:1:gemmLoadStoreKernel_0
-nk=gemmTagsKernel:1:gemmTagsKernel_0
-nk=gemmCPlusXKernel:1:gemmCPlusXKernel_0
-nk=gemmMergeKernel:1:gemmMergeKernel_0
-nk=gemmSystolicArrayKernel:1:gemmSystolicArrayKernel_0
-nk=gemmAddsKernel:1:gemmAddsKernel_0
-nk=gemmMulsKernel:1:gemmMulsKernel_0
-
-sp=gemmLoadStoreKernel_0.m_axi_gmem:DDR[0]
-
-sc=gemmLoadStoreKernel_0.l_aStr:gemmTagsKernel_0.p_a:256
-sc=gemmLoadStoreKernel_0.l_bStr:gemmTagsKernel_0.p_b
-sc=gemmLoadStoreKernel_0.l_xStr:gemmCPlusXKernel_0.l_xStr
-sc=gemmLoadStoreKernel_0.l_opCodeStr:gemmTimerKernel_0.l_opCodeStr
-
-sc=gemmTimerKernel_0.l_resStr:gemmLoadStoreKernel_0.l_resStr
-sc=gemmCPlusXKernel_0.l_cStr:gemmLoadStoreKernel_0.l_cStr:256
-
-sc=gemmTagsKernel_0.p_aOut:gemmSystolicArrayKernel_0.p_a
-sc=gemmTagsKernel_0.p_tagOut:gemmSystolicArrayKernel_0.p_tag
-sc=gemmTagsKernel_0.p_bOut:gemmSystolicArrayKernel_0.p_b
-
-sc=gemmSystolicArrayKernel_0.p_bOut:gemmMulsKernel_0.p_bIn:32
-
-sc=gemmSystolicArrayKernel_0.p_aOut_0:gemmMulsKernel_0.p_aIn0:32
-sc=gemmSystolicArrayKernel_0.p_aOut_1:gemmMulsKernel_0.p_aIn1:32
-sc=gemmSystolicArrayKernel_0.p_aOut_2:gemmMulsKernel_0.p_aIn2:32
-sc=gemmSystolicArrayKernel_0.p_aOut_3:gemmMulsKernel_0.p_aIn3:32
-sc=gemmSystolicArrayKernel_0.p_aOut_4:gemmMulsKernel_0.p_aIn4:32
-sc=gemmSystolicArrayKernel_0.p_aOut_5:gemmMulsKernel_0.p_aIn5:32
-sc=gemmSystolicArrayKernel_0.p_aOut_6:gemmMulsKernel_0.p_aIn6:32
-sc=gemmSystolicArrayKernel_0.p_aOut_7:gemmMulsKernel_0.p_aIn7:32
-sc=gemmSystolicArrayKernel_0.p_aOut_8:gemmMulsKernel_0.p_aIn8:32
-sc=gemmSystolicArrayKernel_0.p_aOut_9:gemmMulsKernel_0.p_aIn9:32
-sc=gemmSystolicArrayKernel_0.p_aOut_10:gemmMulsKernel_0.p_aIn10:32
-sc=gemmSystolicArrayKernel_0.p_aOut_11:gemmMulsKernel_0.p_aIn11:32
-sc=gemmSystolicArrayKernel_0.p_aOut_12:gemmMulsKernel_0.p_aIn12:32
-sc=gemmSystolicArrayKernel_0.p_aOut_13:gemmMulsKernel_0.p_aIn13:32
-sc=gemmSystolicArrayKernel_0.p_aOut_14:gemmMulsKernel_0.p_aIn14:32
-sc=gemmSystolicArrayKernel_0.p_aOut_15:gemmMulsKernel_0.p_aIn15:32
-
-sc=gemmSystolicArrayKernel_0.p_tagOut_0:gemmMulsKernel_0.p_tagIn0:32
-sc=gemmSystolicArrayKernel_0.p_tagOut_1:gemmMulsKernel_0.p_tagIn1:32
-sc=gemmSystolicArrayKernel_0.p_tagOut_2:gemmMulsKernel_0.p_tagIn2:32
-sc=gemmSystolicArrayKernel_0.p_tagOut_3:gemmMulsKernel_0.p_tagIn3:32
-sc=gemmSystolicArrayKernel_0.p_tagOut_4:gemmMulsKernel_0.p_tagIn4:32
-sc=gemmSystolicArrayKernel_0.p_tagOut_5:gemmMulsKernel_0.p_tagIn5:32
-sc=gemmSystolicArrayKernel_0.p_tagOut_6:gemmMulsKernel_0.p_tagIn6:32
-sc=gemmSystolicArrayKernel_0.p_tagOut_7:gemmMulsKernel_0.p_tagIn7:32
-sc=gemmSystolicArrayKernel_0.p_tagOut_8:gemmMulsKernel_0.p_tagIn8:32
-sc=gemmSystolicArrayKernel_0.p_tagOut_9:gemmMulsKernel_0.p_tagIn9:32
-sc=gemmSystolicArrayKernel_0.p_tagOut_10:gemmMulsKernel_0.p_tagIn10:32
-sc=gemmSystolicArrayKernel_0.p_tagOut_11:gemmMulsKernel_0.p_tagIn11:32
-sc=gemmSystolicArrayKernel_0.p_tagOut_12:gemmMulsKernel_0.p_tagIn12:32
-sc=gemmSystolicArrayKernel_0.p_tagOut_13:gemmMulsKernel_0.p_tagIn13:32
-sc=gemmSystolicArrayKernel_0.p_tagOut_14:gemmMulsKernel_0.p_tagIn14:32
-sc=gemmSystolicArrayKernel_0.p_tagOut_15:gemmMulsKernel_0.p_tagIn15:32
-
-sc=gemmMulsKernel_0.p_out0:gemmAddsKernel_0.p_in0
-sc=gemmMulsKernel_0.p_out1:gemmAddsKernel_0.p_in1
-sc=gemmMulsKernel_0.p_out2:gemmAddsKernel_0.p_in2
-sc=gemmMulsKernel_0.p_out3:gemmAddsKernel_0.p_in3
-sc=gemmMulsKernel_0.p_out4:gemmAddsKernel_0.p_in4
-sc=gemmMulsKernel_0.p_out5:gemmAddsKernel_0.p_in5
-sc=gemmMulsKernel_0.p_out6:gemmAddsKernel_0.p_in6
-sc=gemmMulsKernel_0.p_out7:gemmAddsKernel_0.p_in7
-sc=gemmMulsKernel_0.p_out8:gemmAddsKernel_0.p_in8
-sc=gemmMulsKernel_0.p_out9:gemmAddsKernel_0.p_in9
-sc=gemmMulsKernel_0.p_out10:gemmAddsKernel_0.p_in10
-sc=gemmMulsKernel_0.p_out11:gemmAddsKernel_0.p_in11
-sc=gemmMulsKernel_0.p_out12:gemmAddsKernel_0.p_in12
-sc=gemmMulsKernel_0.p_out13:gemmAddsKernel_0.p_in13
-sc=gemmMulsKernel_0.p_out14:gemmAddsKernel_0.p_in14
-sc=gemmMulsKernel_0.p_out15:gemmAddsKernel_0.p_in15
-
-sc=gemmAddsKernel_0.p_out0:gemmMergeKernel_0.p_sum_0
-sc=gemmAddsKernel_0.p_out1:gemmMergeKernel_0.p_sum_1
-sc=gemmAddsKernel_0.p_out2:gemmMergeKernel_0.p_sum_2
-sc=gemmAddsKernel_0.p_out3:gemmMergeKernel_0.p_sum_3
-sc=gemmAddsKernel_0.p_out4:gemmMergeKernel_0.p_sum_4
-sc=gemmAddsKernel_0.p_out5:gemmMergeKernel_0.p_sum_5
-sc=gemmAddsKernel_0.p_out6:gemmMergeKernel_0.p_sum_6
-sc=gemmAddsKernel_0.p_out7:gemmMergeKernel_0.p_sum_7
-sc=gemmAddsKernel_0.p_out8:gemmMergeKernel_0.p_sum_8
-sc=gemmAddsKernel_0.p_out9:gemmMergeKernel_0.p_sum_9
-sc=gemmAddsKernel_0.p_out10:gemmMergeKernel_0.p_sum_10
-sc=gemmAddsKernel_0.p_out11:gemmMergeKernel_0.p_sum_11
-sc=gemmAddsKernel_0.p_out12:gemmMergeKernel_0.p_sum_12
-sc=gemmAddsKernel_0.p_out13:gemmMergeKernel_0.p_sum_13
-sc=gemmAddsKernel_0.p_out14:gemmMergeKernel_0.p_sum_14
-sc=gemmAddsKernel_0.p_out15:gemmMergeKernel_0.p_sum_15
-
-sc=gemmMergeKernel_0.p_sum:gemmCPlusXKernel_0.l_sStr
-
-slr=gemmLoadStoreKernel_0:SLR0
-
-slr=gemmTagsKernel_0:SLR0
-slr=gemmSystolicArrayKernel_0:SLR0
-slr=gemmMulsKernel_0:SLR0
-slr=gemmAddsKernel_0:SLR0
-slr=gemmMergeKernel_0:SLR0
-slr=gemmCPlusXKernel_0:SLR0
diff --git a/blas/L3/examples/streamingKernel/gemm/description.json b/blas/L3/examples/streamingKernel/gemm/description.json
deleted file mode 100644
index d8db8e38da..0000000000
--- a/blas/L3/examples/streamingKernel/gemm/description.json
+++ /dev/null
@@ -1,133 +0,0 @@
-{
- "name": "Xilinx XF_BLAS.gemm_example_streaming",
- "description": "",
- "flow": "vitis",
- "platform_whitelist": [
- "xilinx_u250_gen3x16_xdma_3_1_202020_1"
- ],
- "platform_blacklist": [],
- "platform_type": "pcie",
- "gui": false,
- "platform_properties": {
- "u250": {
- "containers": [
- {
- "name" : "gemmKernel",
- "ldclflags" : "--kernel_frequency 250 --config PROJECT/conn_u250.cfg"
- }
- ]
- }
- },
- "launch": [
- {
- "cmd_args": "BUILD/gemmKernel.xclbin BUILD/config_info.dat",
- "name": "generic launch for all flows"
- }
- ],
- "pre_build": [
- {
- "build_cmd": "make dump_config"
- }
- ],
- "host": {
- "host_exe": "gemm_example.exe",
- "compiler": {
- "sources": [
- "LIB_DIR/L3/examples/streamingKernel/gemm/gemm_example.cpp"
- ],
- "includepaths": [
- "LIB_DIR/L3/include/sw",
- "LIB_DIR/L3/examples/gemm",
- "LIB_DIR/L2/include/streamingKernel"
- ],
- "symbols": [
- ]
- },
- "linker": {
- "options": "-luuid -lxrt_coreutil"
- }
- },
- "v++": {
- "compiler": {
- "includepaths": [
- "LIB_DIR/L1/include/hw",
- "LIB_DIR/L1/include/hw/xf_blas",
- "LIB_DIR/L1/include/hw/xf_blas/gemm",
- "LIB_DIR/L1/include/hw/xf_blas/helpers/utils",
- "LIB_DIR/L2/include/streamingKernel",
- "LIB_DIR/L2/include/streamingKernel/hw/xf_blas/gemmStreamKernel/",
- "LIB_DIR/L2/include/streamingKernel/hw/xf_blas"
- ]
- }
- },
- "containers": [
- {
- "name" : "gemmKernel",
- "ldclflags" : "--config opts.cfg",
- "accelerators": [
- {
- "name": "gemmCPlusXKernel",
- "location": "LIB_DIR/L2/src/streamingKernel/hw/gemmCPlusX.cpp",
- "frequency" : 300
- },
- {
- "name": "gemmTagsKernel",
- "location": "LIB_DIR/L2/src/streamingKernel/hw/gemmTags.cpp",
- "frequency" : 300
- },
- {
- "name": "gemmTimerKernel",
- "location": "LIB_DIR/L2/src/streamingKernel/hw/gemmTimerKernel.cpp",
- "frequency" : 300
- },
- {
- "name": "gemmMergeKernel",
- "location": "LIB_DIR/L2/src/streamingKernel/hw/gemmMerge.cpp",
- "frequency" : 300
- },
- {
- "name": "gemmAddsKernel",
- "location": "LIB_DIR/L2/src/streamingKernel/hw/gemmAdds.cpp",
- "frequency" : 300
- },
- {
- "name": "gemmMulsKernel",
- "location": "LIB_DIR/L2/src/streamingKernel/hw/gemmMuls.cpp",
- "frequency" : 300
- },
- {
- "name": "gemmSystolicArrayKernel",
- "location": "LIB_DIR/L2/src/streamingKernel/hw/gemmSystolicArray.cpp",
- "frequency" : 300
- },
- {
- "name": "gemmLoadStoreKernel",
- "location": "LIB_DIR/L2/src/streamingKernel/hw/gemmLoadStore.cpp",
- "frequency" : 300
- }
- ]
- }
- ],
- "testinfo": {
- "disable": true,
- "jobs": [
- {
- "index": 0,
- "dependency": [],
- "env": "",
- "cmd": "",
- "max_memory_MB": 32768,
- "max_time_min": {
- "vitis_hw_build": 470,
- "vitis_hw_emu": 470,
- "vitis_sw_emu": 60,
- "vitis_hw_run": 10
- }
- }
- ],
- "targets": [
- "vitis_hw_emu"
- ],
- "category": "canary"
- }
-}
\ No newline at end of file
diff --git a/blas/L3/examples/streamingKernel/gemm/gemm_example.cpp b/blas/L3/examples/streamingKernel/gemm/gemm_example.cpp
deleted file mode 100644
index 49c560f7bf..0000000000
--- a/blas/L3/examples/streamingKernel/gemm/gemm_example.cpp
+++ /dev/null
@@ -1,227 +0,0 @@
-/*
- * Copyright 2019 Xilinx, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*
- * usage: ./gemm_test.exe PATH_TO_XCLBIN/gemx.xclbin PATH_TO_XCLBIN/config_info.dat
- *
- */
-
-#include
-#include
-#include "xf_blas.hpp"
-
-#define IDX2R(i, j, ld) (((i) * (ld)) + (j))
-#define m 64 // a - mxk matrix
-#define n 64 // b - kxn matrix
-#define k 64 // c - mxn matrix
-
-using namespace std;
-
-BLAS_dataType* getGoldenMat(BLAS_dataType* a, BLAS_dataType* b, BLAS_dataType* c) {
- BLAS_dataType* goldenC;
- goldenC = (BLAS_dataType*)malloc(m * n * sizeof(BLAS_dataType));
- for (int row = 0; row < m; row++) {
- for (int col = 0; col < n; col++) {
- BLAS_dataType l_val = 0;
- for (int i = 0; i < k; i++) {
- l_val += a[IDX2R(row, i, k)] * b[IDX2R(i, col, n)];
- }
- goldenC[IDX2R(row, col, n)] = l_val + c[IDX2R(row, col, n)];
- }
- }
- return goldenC;
-}
-
-bool compareGemm(BLAS_dataType* c, BLAS_dataType* goldenC, float p_TolRel = 1e-3, float p_TolAbs = 1e-5) {
- bool l_check = true;
- for (int row = 0; row < m; row++) {
- for (int col = 0; col < n; col++) {
- BLAS_dataType l_ref = goldenC[IDX2R(row, col, n)];
- BLAS_dataType l_result = c[IDX2R(row, col, n)];
- float l_diffAbs = abs(l_ref - l_result);
- float l_diffRel = l_diffAbs;
- if (goldenC[IDX2R(row, col, n)] != 0) {
- l_diffRel /= abs(l_ref);
- }
- bool check = (l_diffRel <= p_TolRel) || (l_diffAbs <= p_TolAbs);
- if (!check) {
- cout << "golden result " << setprecision(10) << goldenC[IDX2R(row, col, n)]
- << " is not equal to fpga result " << setprecision(10) << c[IDX2R(row, col, n)] << "\n";
- l_check = false;
- }
- }
- }
- return l_check;
-}
-
-int main(int argc, char** argv) {
- if (argc < 3) {
- cerr << " usage: \n"
- << " gemm_test.exe gemx.xclbin config_info.dat 1\n"
- << " gemm_test.exe gemx.xclbin config_info.dat\n";
- return EXIT_FAILURE;
- }
- unsigned int l_argIdx = 1;
- string l_xclbinFile(argv[l_argIdx++]);
- string l_configFile(argv[l_argIdx++]);
- int l_numKernel = 1;
-
- if (argc == 4) {
- cout << "read custom number of kernels\n";
- l_numKernel = stoi(argv[l_argIdx++]);
- }
-
- xfblasEngine_t engineName = XFBLAS_ENGINE_GEMM;
- xfblasStatus_t status = xfblasCreate(l_xclbinFile.c_str(), l_configFile, engineName, l_numKernel);
- if (status != XFBLAS_STATUS_SUCCESS) {
- cout << "Create Handle failed with error code: " << status << "\n";
- return EXIT_FAILURE;
- }
-
- int i, j; // i-row l_numKernel -1 ,j- column l_numKernel -1
- BLAS_dataType *a, *b, *c, *d, *e;
-
- posix_memalign((void**)&a, 4096, m * k * sizeof(BLAS_dataType));
- posix_memalign((void**)&b, 4096, k * n * sizeof(BLAS_dataType));
- posix_memalign((void**)&c, 4096, m * n * sizeof(BLAS_dataType));
- posix_memalign((void**)&d, 4096, n * n * sizeof(BLAS_dataType));
- posix_memalign((void**)&e, 4096, m * n * sizeof(BLAS_dataType));
-
- int ind = 1;
- for (i = 0; i < m; i++) {
- for (j = 0; j < k; j++) {
- a[IDX2R(i, j, k)] = (BLAS_dataType)ind++;
- }
- }
- ind = 1;
- for (i = 0; i < k; i++) {
- for (j = 0; j < n; j++) {
- b[IDX2R(i, j, n)] = (BLAS_dataType)ind++;
- }
- }
-
- for (i = 0; i < n; i++) {
- for (j = 0; j < n; j++) {
- d[IDX2R(i, j, n)] = 1;
- }
- }
-
- for (i = 0; i < m; i++) {
- for (j = 0; j < n; j++) {
- c[IDX2R(i, j, n)] = 0;
- e[IDX2R(i, j, n)] = 0;
- }
- }
-
- BLAS_dataType* tmpC = getGoldenMat(a, b, c);
- BLAS_dataType* golden = getGoldenMat(tmpC, d, e);
-
- status = xfblasMallocRestricted(m, k, sizeof(*a), a, k, l_numKernel - 1);
- if (status != XFBLAS_STATUS_SUCCESS) {
- cout << "Malloc memory for matrix A failed with error code: " << status << "\n";
- return EXIT_FAILURE;
- }
-
- status = xfblasMallocRestricted(k, n, sizeof(*b), b, n, l_numKernel - 1);
-
- if (status != XFBLAS_STATUS_SUCCESS) {
- cout << "Malloc memory for matrix B failed with error code: " << status << "\n";
- xfblasDestroy();
- return EXIT_FAILURE;
- }
- status = xfblasMallocRestricted(m, n, sizeof(*c), c, n, l_numKernel - 1);
-
- if (status != XFBLAS_STATUS_SUCCESS) {
- cout << "Malloc memory for matrix C failed with error code: " << status << "\n";
- xfblasDestroy();
- return EXIT_FAILURE;
- }
-
- status = xfblasMallocRestricted(n, n, sizeof(*d), d, n, l_numKernel - 1);
-
- if (status != XFBLAS_STATUS_SUCCESS) {
- cout << "Malloc memory for matrix d failed with error code: " << status << "\n";
- xfblasDestroy();
- return EXIT_FAILURE;
- }
-
- status = xfblasMallocRestricted(m, n, sizeof(*e), e, n, l_numKernel - 1);
-
- if (status != XFBLAS_STATUS_SUCCESS) {
- cout << "Malloc memory for matrix e failed with error code: " << status << "\n";
- xfblasDestroy();
- return EXIT_FAILURE;
- }
-
- status = xfblasSetMatrixRestricted(a, l_numKernel - 1);
- status = xfblasSetMatrixRestricted(b, l_numKernel - 1);
- status = xfblasSetMatrixRestricted(c, l_numKernel - 1);
- status = xfblasSetMatrixRestricted(d, l_numKernel - 1);
- status = xfblasSetMatrixRestricted(e, l_numKernel - 1);
-
- if (status != XFBLAS_STATUS_SUCCESS) {
- cout << "Set Matrix failed with error code: " << status << "\n";
- xfblasDestroy();
- return EXIT_FAILURE;
- }
-
- status = xfblasGemm(XFBLAS_OP_N, XFBLAS_OP_N, m, n, k, 1, a, k, b, n, 1, c, n, l_numKernel - 1);
- status = xfblasGemm(XFBLAS_OP_N, XFBLAS_OP_N, m, n, n, 1, c, n, d, n, 1, e, n, l_numKernel - 1);
-
- if (status != XFBLAS_STATUS_SUCCESS) {
- cout << "Matrix Multiplication failed with error code: " << status << "\n";
- xfblasDestroy();
- return EXIT_FAILURE;
- }
-
- status = xfblasGetMatrixRestricted(e, l_numKernel - 1);
-
- if (status != XFBLAS_STATUS_SUCCESS) {
- cout << "Get Matrix failed with error code: " << status << "\n";
- xfblasDestroy();
- return EXIT_FAILURE;
- }
-
- for (i = 0; i < 10; i++) {
- for (j = 0; j < 10; j++) {
- cout << (e[IDX2R(i, j, k)]) << " ";
- }
- cout << "\n";
- }
-
- if (compareGemm(e, golden)) {
- cout << "Test passed!\n";
- } else {
- cout << "Test failed!\n";
- }
-
- xfblasFree(a, l_numKernel - 1);
- xfblasFree(b, l_numKernel - 1);
- xfblasFree(c, l_numKernel - 1);
- xfblasFree(d, l_numKernel - 1);
- xfblasFree(e, l_numKernel - 1);
- free(a);
- free(b);
- free(c);
- free(d);
- free(e);
- free(tmpC);
- free(golden);
-
- xfblasDestroy(l_numKernel);
-
- return EXIT_SUCCESS;
-}
diff --git a/blas/L3/examples/streamingKernel/gemm/opts.cfg b/blas/L3/examples/streamingKernel/gemm/opts.cfg
deleted file mode 100644
index 2eecff33d6..0000000000
--- a/blas/L3/examples/streamingKernel/gemm/opts.cfg
+++ /dev/null
@@ -1,8 +0,0 @@
-[vivado]
-param=project.writeIntermediateCheckpoints=1
-prop=run.impl_1.STEPS.OPT_DESIGN.ARGS.DIRECTIVE=Explore
-prop=run.impl_1.STEPS.PHYS_OPT_DESIGN.IS_ENABLED=true
-prop=run.impl_1.STEPS.PHYS_OPT_DESIGN.ARGS.DIRECTIVE=AggressiveExplore
-prop=run.impl_1.STEPS.ROUTE_DESIGN.ARGS.DIRECTIVE=Explore
-prop=run.impl_1.{STEPS.ROUTE_DESIGN.ARGS.MORE OPTIONS}={-tns_cleanup}
-prop=run.impl_1.STEPS.POST_ROUTE_PHYS_OPT_DESIGN.IS_ENABLED=true
diff --git a/blas/L3/examples/streamingKernel/gemm/params.makefile b/blas/L3/examples/streamingKernel/gemm/params.makefile
deleted file mode 100644
index 4387d53092..0000000000
--- a/blas/L3/examples/streamingKernel/gemm/params.makefile
+++ /dev/null
@@ -1,55 +0,0 @@
-BLAS_pageSizeBytes=4096
-BLAS_instrOffsetBytes=0
-BLAS_resOffsetBytes=4096
-BLAS_dataOffsetBytes=8192
-BLAS_ddrMemBits=512
-BLAS_maxNumInstrs=64
-BLAS_memWordsPerInstr=1
-BLAS_parEntries=16
-
-BLAS_dataType=float
-BLAS_mParWords=4
-BLAS_kParWords=4
-BLAS_nParWords=4
-BLAS_numKernels = 1
-BLAS_runGemm = 1
-BLAS_streamingKernel=1
-
-BLAS_FLOAT_WIDTH=8
-
-MACROS += -D BLAS_pageSizeBytes=$(BLAS_pageSizeBytes) \
- -D BLAS_instrOffsetBytes=$(BLAS_instrOffsetBytes) \
- -D BLAS_resOffsetBytes=$(BLAS_resOffsetBytes) \
- -D BLAS_dataOffsetBytes=$(BLAS_dataOffsetBytes) \
- -D BLAS_ddrMemBits=$(BLAS_ddrMemBits) \
- -D BLAS_maxNumInstrs=$(BLAS_maxNumInstrs) \
- -D BLAS_memWordsPerInstr=$(BLAS_memWordsPerInstr) \
- -D BLAS_parEntries=$(BLAS_parEntries) \
- -D BLAS_dataType=$(BLAS_dataType) \
- -D BLAS_mParWords=$(BLAS_mParWords) \
- -D BLAS_kParWords=$(BLAS_kParWords) \
- -D BLAS_nParWords=$(BLAS_nParWords) \
- -D BLAS_numKernels=$(BLAS_numKernels) \
- -D BLAS_FLOAT_WIDTH=$(BLAS_FLOAT_WIDTH) \
- -D DEBUG=$(DEBUG) \
- -D BLAS_runGemm=$(BLAS_runGemm) \
- -D BLAS_streamingKernel=$(BLAS_streamingKernel) \
- -D AP_INT_MAX_W=1026
-
-CXXFLAGS += -D BLAS_streamingKernel=$(BLAS_streamingKernel) \
- -D BLAS_dataType=$(BLAS_dataType)
-VPP_FLAGS += ${MACROS}
-
-ifeq ($(TARGET),$(filter $(TARGET),hw_emu))
- CXXFLAGS += -lxrt_hwemu
-else ifeq ($(TARGET),$(filter $(TARGET),sw_emu))
- CXXFLAGS += -lxrt_swemu
-else
- CXXFLAGS += -lxrt_core
-endif
-
-CONFIG_INFO = $(shell echo ${MACROS} | sed 's/-D //g; s/ -Wno.*//')
-
-dump_config:
- mkdir -p ${BUILD_DIR}
- @echo ${CONFIG_INFO} | tr " " "\n" > ${BUILD_DIR}/config_info.dat
diff --git a/blas/L3/examples/streamingKernel/gemm/utils.mk b/blas/L3/examples/streamingKernel/gemm/utils.mk
deleted file mode 100644
index e71c1c5409..0000000000
--- a/blas/L3/examples/streamingKernel/gemm/utils.mk
+++ /dev/null
@@ -1,246 +0,0 @@
-#
-# Copyright 2019-2021 Xilinx, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# vitis makefile-generator v2.0.3
-#
-#+-------------------------------------------------------------------------------
-# The following parameters are assigned with default values. These parameters can
-# be overridden through the make command line
-#+-------------------------------------------------------------------------------
-
-REPORT := no
-PROFILE := no
-DEBUG := no
-
-#'estimate' for estimate report generation
-#'system' for system report generation
-ifneq ($(REPORT), no)
-VPP_LDFLAGS += --report estimate
-VPP_LDFLAGS += --report system
-endif
-
-#Generates profile summary report
-ifeq ($(PROFILE), yes)
-VPP_LDFLAGS += --profile_kernel data:all:all:all
-endif
-
-#Generates debug summary report
-ifeq ($(DEBUG), yes)
-VPP_LDFLAGS += --dk protocol:all:all:all
-endif
-
-#Check environment setup
-ifndef XILINX_VITIS
- XILINX_VITIS = /opt/xilinx/Vitis/$(TOOL_VERSION)
- export XILINX_VITIS
-endif
-ifndef XILINX_XRT
- XILINX_XRT = /opt/xilinx/xrt
- export XILINX_XRT
-endif
-
-check_device:
- @set -eu; \
- inallowlist=False; \
- inblocklist=False; \
- for dev in $(PLATFORM_ALLOWLIST); \
- do if [[ $$(echo $(XPLATFORM) | grep $$dev) != "" ]]; \
- then inallowlist=True; fi; \
- done ;\
- for dev in $(PLATFORM_BLOCKLIST); \
- do if [[ $$(echo $(XPLATFORM) | grep $$dev) != "" ]]; \
- then inblocklist=True; fi; \
- done ;\
- if [[ $$inallowlist == False ]]; \
- then echo "[Warning]: The device $(XPLATFORM) not in allowlist."; \
- fi; \
- if [[ $$inblocklist == True ]]; \
- then echo "[ERROR]: The device $(XPLATFORM) in blocklist."; exit 1;\
- fi;
-
-#get HOST_ARCH by PLATFORM
-HOST_ARCH_temp = $(shell platforminfo -p $(PLATFORM) | grep 'CPU Type' | sed 's/.*://' | sed '/ai_engine/d' | sed 's/^[[:space:]]*//')
-$(warning HOST_ARCH_temp:$(HOST_ARCH_temp))
-ifeq ($(HOST_ARCH_temp), x86)
-HOST_ARCH := x86
-else ifeq ($(HOST_ARCH_temp), cortex-a9)
-HOST_ARCH := aarch32
-else ifeq ($(HOST_ARCH_temp), cortex-a*)
-HOST_ARCH := aarch64
-endif
-
-#Checks for Device Family
-ifeq ($(HOST_ARCH), aarch32)
- DEV_FAM = 7Series
-else ifeq ($(HOST_ARCH), aarch64)
- DEV_FAM = Ultrascale
-endif
-
-#Checks for Correct architecture
-ifneq ($(HOST_ARCH), $(filter $(HOST_ARCH),aarch64 aarch32 x86))
-$(error HOST_ARCH variable not set, please set correctly and rerun)
-endif
-
-check_version:
-ifneq (, $(shell which git))
-ifneq (,$(wildcard $(XFLIB_DIR)/.git))
- @cd $(XFLIB_DIR) && git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit -n 1 && cd -
-endif
-endif
-
-#Checks for SYSROOT
-check_sysroot:
-ifneq ($(HOST_ARCH), x86)
-ifndef SYSROOT
- $(error SYSROOT ENV variable is not set, please set ENV variable correctly and rerun)
-endif
-endif
-
-#Checks for g++
-CXX := g++
-ifeq ($(HOST_ARCH), x86)
-ifneq ($(shell expr $(shell echo "__GNUG__" | g++ -E -x c++ - | tail -1) \>= 5), 1)
-ifndef XILINX_VIVADO
-$(error [ERROR]: g++ version too old. Please use 5.0 or above)
-else
-CXX := $(XILINX_VIVADO)/tps/lnx64/gcc-6.2.0/bin/g++
-ifeq ($(LD_LIBRARY_PATH),)
-export LD_LIBRARY_PATH := $(XILINX_VIVADO)/tps/lnx64/gcc-6.2.0/lib64
-else
-export LD_LIBRARY_PATH := $(XILINX_VIVADO)/tps/lnx64/gcc-6.2.0/lib64:$(LD_LIBRARY_PATH)
-endif
-$(warning [WARNING]: g++ version too old. Using g++ provided by the tool: $(CXX))
-endif
-endif
-else ifeq ($(HOST_ARCH), aarch64)
-CXX := $(XILINX_VITIS)/gnu/aarch64/lin/aarch64-linux/bin/aarch64-linux-gnu-g++
-else ifeq ($(HOST_ARCH), aarch32)
-CXX := $(XILINX_VITIS)/gnu/aarch32/lin/gcc-arm-linux-gnueabi/bin/arm-linux-gnueabihf-g++
-endif
-
-#Check OS and setting env
-OSDIST = $(shell lsb_release -i |awk -F: '{print tolower($$2)}' | tr -d ' \t' )
-OSREL = $(shell lsb_release -r |awk -F: '{print tolower($$2)}' |tr -d ' \t')
-
-ifeq ($(OSDIST), centos)
-ifeq (7,$(shell echo $(OSREL) | awk -F. '{print tolower($$1)}' ))
-ifeq ($(HOST_ARCH), x86)
-CXXFLAGS += -D_GLIBCXX_USE_CXX11_ABI=0
-endif
-endif
-endif
-
-#Setting VPP
-VPP := v++
-
-#Cheks for aiecompiler
-AIECXX := aiecompiler
-AIESIMULATOR := aiesimulator
-X86SIMULATOR := x86simulator
-
-.PHONY: check_vivado
-check_vivado:
-ifeq (,$(wildcard $(XILINX_VIVADO)/bin/vivado))
- @echo "Cannot locate Vivado installation. Please set XILINX_VIVADO variable." && false
-endif
-
-.PHONY: check_vpp
-check_vpp:
-ifeq (,$(wildcard $(XILINX_VITIS)/bin/v++))
- @echo "Cannot locate Vitis installation. Please set XILINX_VITIS variable." && false
-endif
-
-.PHONY: check_xrt
-check_xrt:
-ifeq (,$(wildcard $(XILINX_XRT)/lib/libxilinxopencl.so))
- @echo "Cannot locate XRT installation. Please set XILINX_XRT variable." && false
-endif
-
-export PATH := $(XILINX_VITIS)/bin:$(XILINX_XRT)/bin:$(PATH)
-ifeq ($(HOST_ARCH), x86)
-ifeq (,$(LD_LIBRARY_PATH))
-LD_LIBRARY_PATH := $(XILINX_XRT)/lib
-else
-LD_LIBRARY_PATH := $(XILINX_XRT)/lib:$(LD_LIBRARY_PATH)
-endif
-endif
-
-ifneq (,$(wildcard $(PLATFORM)))
-XPLATFORM := $(PLATFORM)
-else
-ifneq (,$(wildcard $(PLATFORM)))
-# Use PLATFORM as a file path
-XPLATFORM := $(PLATFORM)
-else
-# Use PLATFORM as a file name pattern
-# 1. search paths specified by variable
-ifneq (,$(PLATFORM_REPO_PATHS))
-# 1.1 as exact name
-XPLATFORM := $(strip $(foreach p, $(subst :, ,$(PLATFORM_REPO_PATHS)), $(wildcard $(p)/$(PLATFORM)/$(PLATFORM).xpfm)))
-# 1.2 as a pattern
-ifeq (,$(XPLATFORM))
-XPLATFORMS := $(foreach p, $(subst :, ,$(PLATFORM_REPO_PATHS)), $(wildcard $(p)/*/*.xpfm))
-XPLATFORM := $(strip $(foreach p, $(XPLATFORMS), $(shell echo $(p) | awk '$$1 ~ /$(PLATFORM)/')))
-endif # 1.2
-endif # 1
-# 2. search Vitis installation
-ifeq (,$(XPLATFORM))
-# 2.1 as exact name
-XPLATFORM := $(strip $(wildcard $(XILINX_VITIS)/platforms/$(PLATFORM)/$(PLATFORM).xpfm))
-# 2.2 as a pattern
-ifeq (,$(XPLATFORM))
-XPLATFORMS := $(wildcard $(XILINX_VITIS)/platforms/*/*.xpfm)
-XPLATFORM := $(strip $(foreach p, $(XPLATFORMS), $(shell echo $(p) | awk '$$1 ~ /$(PLATFORM)/')))
-endif # 2.2
-endif # 2
-# 3. search default locations
-ifeq (,$(XPLATFORM))
-# 3.1 as exact name
-XPLATFORM := $(strip $(wildcard /opt/xilinx/platforms/$(PLATFORM)/$(PLATFORM).xpfm))
-# 3.2 as a pattern
-ifeq (,$(XPLATFORM))
-XPLATFORMS := $(wildcard /opt/xilinx/platforms/*/*.xpfm)
-XPLATFORM := $(strip $(foreach p, $(XPLATFORMS), $(shell echo $(p) | awk '$$1 ~ /$(PLATFORM)/')))
-endif # 3.2
-endif # 3
-endif
-endif
-
-define MSG_PLATFORM
-No platform matched pattern '$(PLATFORM)'.
-Available platforms are: $(XPLATFORMS)
-To add more platform directories, set the PLATFORM_REPO_PATHS variable or point PLATFORM variable to the full path of platform .xpfm file.
-endef
-export MSG_PLATFORM
-
-
-.PHONY: check_platform
-check_platform:
-ifeq (,$(XPLATFORM))
- @echo "$${MSG_PLATFORM}" && false
-endif
-#Check ends
-
-# device2xsa - create a filesystem friendly name from device name
-# $(1) - full name of device
-XPLATFORM = $(strip $(patsubst %.xpfm, % , $(shell basename $(PLATFORM))))
-
-
-# Cleaning stuff
-RM = rm -f
-RMDIR = rm -rf
-
-MV = mv -f
-CP = cp -rf
-ECHO:= @echo
diff --git a/blas/L3/examples/streamingKernel/gemm/xrt.cfg b/blas/L3/examples/streamingKernel/gemm/xrt.cfg
deleted file mode 100644
index 7215af63fa..0000000000
--- a/blas/L3/examples/streamingKernel/gemm/xrt.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-[Debug]
-profile=true
-timeline_trace=true
-device_profile=true
-data_transfer_trace=fine
-[Emulation]
-enable_shared_memory=false
diff --git a/blas/L3/tests/gemm/streamingKernel/gemm_float/Makefile b/blas/L3/tests/gemm/streamingKernel/gemm_float/Makefile
deleted file mode 100644
index 72ecd849b8..0000000000
--- a/blas/L3/tests/gemm/streamingKernel/gemm_float/Makefile
+++ /dev/null
@@ -1,372 +0,0 @@
-# Copyright 2019-2021 Xilinx, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# vitis makefile-generator v2.0.3
-
-############################## Help Section ##############################
-.PHONY: help
-
-help::
- $(ECHO) "Makefile Usage:"
- $(ECHO) " make all TARGET= PLATFORM= HOST_ARCH=< >"
- $(ECHO) " Command to generate the design for specified Target and Shell."
- $(ECHO) " By default, HOST_ARCH=. HOST_ARCH is required for SoC shells"
- $(ECHO) ""
- $(ECHO) " make run TARGET= PLATFORM= HOST_ARCH=< >"
- $(ECHO) " Command to run application in emulation."
- $(ECHO) " By default, HOST_ARCH=. HOST_ARCH required for SoC shells"
- $(ECHO) ""
- $(ECHO) " make xclbin TARGET= PLATFORM= HOST_ARCH=< >"
- $(ECHO) " Command to build xclbin application."
- $(ECHO) " By default, HOST_ARCH=. HOST_ARCH is required for SoC shells"
- $(ECHO) ""
- $(ECHO) " make host HOST_ARCH="
- $(ECHO) " Command to build host application."
- $(ECHO) " By default, HOST_ARCH=. HOST_ARCH is required for SoC shells"
- $(ECHO) ""
- $(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,"
- $(ECHO) " export SYSROOT=< path-to-platform-sysroot >"
- $(ECHO) " export EDGE_COMMON_SW=< path-to-rootfs-and-Image-files >"
- $(ECHO) ""
- $(ECHO) " make clean "
- $(ECHO) " Command to remove the generated non-hardware files."
- $(ECHO) ""
- $(ECHO) " make cleanall"
- $(ECHO) " Command to remove all the generated files."
- $(ECHO) ""
-
-############################## Setting up Project Variables ##############################
-
-MK_PATH := $(abspath $(lastword $(MAKEFILE_LIST)))
-XF_PROJ_ROOT ?= $(shell bash -c 'export MK_PATH=$(MK_PATH); echo $${MK_PATH%/L3/*}')
-CUR_DIR := $(patsubst %/,%,$(dir $(MK_PATH)))
-XFLIB_DIR = $(XF_PROJ_ROOT)
-
-# setting devault value
-TARGET ?= hw_emu
-HOST_ARCH ?=
-
-#setting PLATFORM
-ifeq ($(PLATFORM),)
-PLATFORM := $(DEVICE)
-endif
-ifeq ($(PLATFORM),)
-PLATFORM := xilinx_u250_gen3x16_xdma_3_1_202020_1
-endif
-
-# ###dddd################# Checking if PLATFORM in whitelist ############################
-PLATFORM_ALLOWLIST += xilinx_u250_gen3x16_xdma_3_1_202020_1
-PLATFORM_BLOCKLIST +=
-
-include ./utils.mk
-
-TEMP_DIR := _x_temp.$(TARGET).$(XPLATFORM)
-TEMP_REPORT_DIR := $(CUR_DIR)/reports/_x.$(TARGET).$(XPLATFORM)
-BUILD_DIR := build_dir.$(TARGET).$(XPLATFORM)
-BUILD_REPORT_DIR := $(CUR_DIR)/reports/_build.$(TARGET).$(XPLATFORM)
-EMCONFIG := $(BUILD_DIR)/emconfig.json
-XCLBIN_DIR := $(CUR_DIR)/$(BUILD_DIR)
-export XCL_BINDIR = $(XCLBIN_DIR)
-
-EXE_FILE_DEPS :=
-BINARY_CONTAINERS_DEPS :=
-RUN_DEPS :=
-
-# get global setting
-ifeq ($(HOST_ARCH), x86)
-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
-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
-VPP_FLAGS += -t $(TARGET) --platform $(XPLATFORM) --save-temps
-VPP_LDFLAGS += --optimize 2 -R 2
-else ifeq ($(HOST_ARCH), aarch64)
-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
-LDFLAGS += -pthread -L$(SYSROOT)/usr/lib -L$(XILINX_VITIS_AIETOOLS)/lib/aarch64.o -Wl,--as-needed -lxilinxopencl -lxrt_coreutil
-VPP_FLAGS += -t $(TARGET) --platform $(XPLATFORM) --save-temps
-VPP_LDFLAGS += --optimize 2 -R 2
-endif
-CXXFLAGS += $(EXTRA_CXXFLAGS)
-VPP_FLAGS += $(EXTRA_VPP_FLAGS)
-
-########################## Setting up Host Variables ##########################
-ifeq ($(TARGET),sw_emu)
-CXXFLAGS += -D SW_EMU_TEST
-endif
-ifeq ($(TARGET),hw_emu)
-CXXFLAGS += -D HW_EMU_TEST
-endif
-
-#Inclue Required Host Source Files
-HOST_SRCS += $(XFLIB_DIR)/L3/tests/gemm/gemm_test.cpp
-CXXFLAGS += -I $(XFLIB_DIR)/L3/include/sw -I $(XFLIB_DIR)/L3/tests/gemm -I $(XFLIB_DIR)/L2/include/streamingKernel -I $(XFLIB_DIR)/L1/include/hw
-LDFLAGS += -luuid -lxrt_coreutil
-
-EXE_NAME := gemm_test.exe
-EXE_FILE := $(BUILD_DIR)/$(EXE_NAME)
-EXE_FILE_DEPS := $(HOST_SRCS) $(EXE_FILE_DEPS)
-
-HOST_ARGS := $(BUILD_DIR)/gemmKernel.xclbin $(BUILD_DIR)/config_info.dat
-ifneq ($(HOST_ARCH), x86)
-PKG_HOST_ARGS = $(foreach args,$(HOST_ARGS),$(subst $(dir $(patsubst %/,%,$(args))),,$(args)))
-endif
-
-########################## Kernel compiler global settings ##########################
-VPP_FLAGS += -I $(XFLIB_DIR)/L1/include/hw -I $(XFLIB_DIR)/L1/include/hw/xf_blas -I $(XFLIB_DIR)/L1/include/hw/xf_blas/gemm -I $(XFLIB_DIR)/L1/include/hw/xf_blas/helpers/utils -I $(XFLIB_DIR)/L2/include/streamingKernel -I $(XFLIB_DIR)/L2/include/streamingKernel/hw/xf_blas/gemmStreamKernel/ -I $(XFLIB_DIR)/L2/include/streamingKernel/hw/xf_blas -I $(XFLIB_DIR)/L1/include/hw
-
-ifneq (,$(shell echo $(XPLATFORM) | awk '/ u250/'))
-
-########################## binary container global settings ##########################
-ifeq ($(HOST_ARCH), x86)
-BINARY_CONTAINERS += $(BUILD_DIR)/gemmKernel.xclbin
-else
-BINARY_CONTAINERS += $(BUILD_DIR)/gemmKernel_pkg.xclbin
-BINARY_CONTAINERS_PKG += $(BUILD_DIR)/gemmKernel.xclbin
-endif
-
-# ################ Setting Rules for Binary Containers (Building Kernels) ################
-$(BINARY_CONTAINERS): $(BINARY_CONTAINERS_DEPS)
- mkdir -p $(BUILD_DIR)
- $(VPP) -l $(VPP_FLAGS) --temp_dir $(BUILD_DIR) --report_dir $(BUILD_REPORT_DIR)/gemmKernel $(VPP_LDFLAGS) $(VPP_LDFLAGS_gemmKernel) $(AIE_LDFLAGS) -o $@ $^
-
-else
-VPP_FLAGS_gemmCPlusXKernel += --hls.clock 300000000:gemmCPlusXKernel
-VPP_FLAGS_gemmTagsKernel += --hls.clock 300000000:gemmTagsKernel
-VPP_FLAGS_gemmTimerKernel += --hls.clock 300000000:gemmTimerKernel
-VPP_FLAGS_gemmMergeKernel += --hls.clock 300000000:gemmMergeKernel
-VPP_FLAGS_gemmAddsKernel += --hls.clock 300000000:gemmAddsKernel
-VPP_FLAGS_gemmMulsKernel += --hls.clock 300000000:gemmMulsKernel
-VPP_FLAGS_gemmSystolicArrayKernel += --hls.clock 300000000:gemmSystolicArrayKernel
-VPP_FLAGS_gemmLoadStoreKernel += --hls.clock 300000000:gemmLoadStoreKernel
-
-VPP_LDFLAGS_gemmKernel_temp := --config opts.cfg
-VPP_LDFLAGS_gemmKernel += $(VPP_LDFLAGS_gemmKernel_temp)
-
-########################## binary container global settings ##########################
-BINARY_CONTAINER_gemmKernel_OBJS += $(TEMP_DIR)/gemmCPlusXKernel.xo
-BINARY_CONTAINERS_DEPS += $(BINARY_CONTAINER_gemmKernel_OBJS)
-BINARY_CONTAINER_gemmKernel_OBJS += $(TEMP_DIR)/gemmTagsKernel.xo
-BINARY_CONTAINERS_DEPS += $(BINARY_CONTAINER_gemmKernel_OBJS)
-BINARY_CONTAINER_gemmKernel_OBJS += $(TEMP_DIR)/gemmTimerKernel.xo
-BINARY_CONTAINERS_DEPS += $(BINARY_CONTAINER_gemmKernel_OBJS)
-BINARY_CONTAINER_gemmKernel_OBJS += $(TEMP_DIR)/gemmMergeKernel.xo
-BINARY_CONTAINERS_DEPS += $(BINARY_CONTAINER_gemmKernel_OBJS)
-BINARY_CONTAINER_gemmKernel_OBJS += $(TEMP_DIR)/gemmAddsKernel.xo
-BINARY_CONTAINERS_DEPS += $(BINARY_CONTAINER_gemmKernel_OBJS)
-BINARY_CONTAINER_gemmKernel_OBJS += $(TEMP_DIR)/gemmMulsKernel.xo
-BINARY_CONTAINERS_DEPS += $(BINARY_CONTAINER_gemmKernel_OBJS)
-BINARY_CONTAINER_gemmKernel_OBJS += $(TEMP_DIR)/gemmSystolicArrayKernel.xo
-BINARY_CONTAINERS_DEPS += $(BINARY_CONTAINER_gemmKernel_OBJS)
-BINARY_CONTAINER_gemmKernel_OBJS += $(TEMP_DIR)/gemmLoadStoreKernel.xo
-BINARY_CONTAINERS_DEPS += $(BINARY_CONTAINER_gemmKernel_OBJS)
-ifeq ($(HOST_ARCH), x86)
-BINARY_CONTAINERS += $(BUILD_DIR)/gemmKernel.xclbin
-else
-BINARY_CONTAINERS += $(BUILD_DIR)/gemmKernel_pkg.xclbin
-BINARY_CONTAINERS_PKG += $(BUILD_DIR)/gemmKernel.xclbin
-endif
-
-# ################ Setting Rules for Binary Containers (Building Kernels) ################
-$(TEMP_DIR)/gemmCPlusXKernel.xo: $(XFLIB_DIR)/L2/src/streamingKernel/hw/gemmCPlusX.cpp
- $(ECHO) "Compiling Kernel: gemmCPlusXKernel"
- mkdir -p $(TEMP_DIR)
- $(VPP) -c $(VPP_FLAGS_gemmCPlusXKernel) $(VPP_FLAGS) -k gemmCPlusXKernel -I'$(> $(RUN_SCRIPT)
-ifneq ($(filter sw_emu hw_emu, $(TARGET)),)
- @echo 'export XCL_EMULATION_MODE=$(TARGET)' >> $(RUN_SCRIPT)
-endif
- @echo 'export XILINX_VITIS=/mnt' >> $(RUN_SCRIPT)
- @echo 'export XILINX_XRT=/usr' >> $(RUN_SCRIPT)
- @echo 'if [ -f platform_desc.txt ]; then' >> $(RUN_SCRIPT)
- @echo ' cp platform_desc.txt /etc/xocl.txt' >> $(RUN_SCRIPT)
- @echo 'fi' >> $(RUN_SCRIPT)
- @echo './$(EXE_NAME) $(PKG_HOST_ARGS)' >> $(RUN_SCRIPT)
- @echo 'return_code=$$?' >> $(RUN_SCRIPT)
- @echo 'if [ $$return_code -ne 0 ]; then' >> $(RUN_SCRIPT)
- @echo ' echo "ERROR: Embedded host run failed, RC=$$return_code"' >> $(RUN_SCRIPT)
- @echo 'else' >> $(RUN_SCRIPT)
- @echo ' echo "INFO: TEST PASSED, RC=0"' >> $(RUN_SCRIPT)
- @echo 'fi' >> $(RUN_SCRIPT)
- @echo 'echo "INFO: Embedded host run completed."' >> $(RUN_SCRIPT)
- @echo 'exit $$return_code' >> $(RUN_SCRIPT)
-DATA_FILE :=
-DATA_DIR :=
-SD_FILES += $(RUN_SCRIPT)
-SD_FILES += $(EXE_FILE)
-SD_FILES += $(EMCONFIG)
-SD_FILES += xrt.ini
-SD_FILES += $(DATA_FILE)# where define DATAFILE in json
-SD_FILES_WITH_PREFIX = $(foreach sd_file,$(SD_FILES), $(if $(filter $(sd_file),$(wildcard $(sd_file))), --package.sd_file $(sd_file)))
-SD_DIRS_WITH_PREFIX = $(foreach sd_dir,$(DATA_DIR),--package.sd_dir $(sd_dir))
-PACKAGE_FILES := $(BINARY_CONTAINERS)
-PACKAGE_FILES += $(AIE_CONTAINER)
-SD_CARD := $(CUR_DIR)/package_$(TARGET)
-$(SD_CARD): $(EXE_FILE) $(BINARY_CONTAINERS) $(RUN_SCRIPT) $(EMCONFIG)
- @echo "Generating sd_card folder...."
- mkdir -p $(SD_CARD)
- chmod a+rx $(BUILD_DIR)/run_script.sh
- $(VPP) -t $(TARGET) --platform $(PLATFORM) -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)
- @echo "### ***** sd_card generation done! ***** ###"
-
-.PHONY: sd_card
-sd_card: $(SD_CARD)
-
-endif
-############################## Setting Essential Checks and Building Rules ##############################
-ifneq (,$(filter x86sim aiesim, $(TARGET)))
-RUN_DEPS += $(AIE_CONTAINER)
-else
-RUN_DEPS += $(AIE_CONTAINER) $(EXE_FILE) $(BINARY_CONTAINERS) $(EMCONFIG)
-RUN_DEPS += $(SD_CARD)
-endif
-
-run: check_device pre_build $(RUN_DEPS)
-#x86sim
-ifeq ($(TARGET), x86sim)
- $(X86SIMULATOR) --pkg-dir=./Work
-
-endif
-#aiesim
-ifeq ($(TARGET), aiesim)
- $(AIESIMULATOR) --pkg-dir=./Work --profile
-
-endif
-#hw_emu and sw_emu
-ifneq (,$(filter sw_emu hw_emu, $(TARGET)))
-ifeq ($(HOST_ARCH), x86)
- LD_LIBRARY_PATH=$(LIBRARY_PATH):$$LD_LIBRARY_PATH \
- XCL_EMULATION_MODE=$(TARGET) $(EXE_FILE) $(HOST_ARGS)
-
-else
- @echo $(RUN_DEPS)
- $(SD_CARD)/launch_$(TARGET).sh -no-reboot -run-app $(notdir $(RUN_SCRIPT))
- grep "TEST PASSED, RC=0" $(SD_CARD)/qemu_output.log || exit 1
-
-endif
-endif
-#hw
-ifeq ($(TARGET), hw)
-ifeq ($(HOST_ARCH), x86)
- $(EXE_FILE) $(HOST_ARGS)
-
-else
- $(ECHO) "Please copy the content of sd_card folder and data to an SD Card and run on the board"
-endif
-endif
-
-############################## Setting Targets ##############################
-
--include params.makefile
-
-.PHONY: pre_build
-pre_build:
- make dump_config
-
-.PHONY: all clean cleanall emconfig
-emconfig: $(EMCONFIG)
-ifeq ($(HOST_ARCH), x86)
-all: pre_build check_vpp check_platform check_xrt $(EXE_FILE) $(BINARY_CONTAINERS) emconfig
-else
-all: pre_build check_vpp check_platform check_sysroot $(EXE_FILE) $(BINARY_CONTAINERS) emconfig sd_card
-endif
-
-.PHONY: host
-ifeq ($(HOST_ARCH), x86)
-host: pre_build check_xrt $(EXE_FILE)
-else
-host: pre_build check_sysroot $(EXE_FILE)
-endif
-
-.PHONY: xclbin
-ifeq ($(HOST_ARCH), x86)
-xclbin: pre_build check_vpp check_xrt $(BINARY_CONTAINERS)
-else
-xclbin: pre_build check_vpp check_sysroot $(BINARY_CONTAINERS)
-endif
-
-.PHONY: x86sim
-x86sim: $(AIE_CONTAINER)
- $(X86SIMULATOR) --pkg-dir=./Work
-
-############################## Cleaning Rules ##############################
-cleanh:
- -$(RMDIR) $(EXE_FILE) vitis_* TempConfig system_estimate.xtxt *.rpt .run/
- -$(RMDIR) src/*.ll _xocc_* .Xil dltmp* xmltmp* *.log *.jou *.wcfg *.wdb sample_link.ini sample_compile.ini obj* bin* *.csv *.jpg *.jpeg *.png
-
-cleank:
- -$(RMDIR) $(BUILD_DIR)/*.xclbin _vimage *xclbin.run_summary qemu-memory-_* emulation/ _vimage/ pl*start_simulation. sh *.xclbin
- -$(RMDIR) _x_temp.*/_x.* _x_temp.*/.Xil _x_temp.*/profile_summary.* xo_* _x*
- -$(RMDIR) _x_temp.*/dltmp* _x_temp.*/kernel_info.dat _x_temp.*/*.log
- -$(RMDIR) _x_temp.*
-
-cleanall: cleanh cleank
- -$(RMDIR) $(BUILD_DIR) build_dir.* emconfig.json *.html $(TEMP_DIR) $(CUR_DIR)/reports *.csv *.run_summary $(CUR_DIR)/*.raw package_* $(BUILD_DIR)/run_script.sh .ipcache *.str
- -$(RMDIR) $(XFLIB_DIR)/common/data/*.xe2xd* $(XFLIB_DIR)/common/data/*.orig*
- -$(RMDIR) $(CUR_DIR)/Work $(CUR_DIR)/*.xpe $(CUR_DIR)/hw.o $(CUR_DIR)/*.xsa $(CUR_DIR)/xnwOut
-
-clean: cleanh
\ No newline at end of file
diff --git a/blas/L3/tests/gemm/streamingKernel/gemm_float/conn_u250.cfg b/blas/L3/tests/gemm/streamingKernel/gemm_float/conn_u250.cfg
deleted file mode 100644
index 94a334410b..0000000000
--- a/blas/L3/tests/gemm/streamingKernel/gemm_float/conn_u250.cfg
+++ /dev/null
@@ -1,104 +0,0 @@
-[connectivity]
-nk=gemmTimerKernel:1:gemmTimerKernel_0
-nk=gemmLoadStoreKernel:1:gemmLoadStoreKernel_0
-nk=gemmTagsKernel:1:gemmTagsKernel_0
-nk=gemmCPlusXKernel:1:gemmCPlusXKernel_0
-nk=gemmMergeKernel:1:gemmMergeKernel_0
-nk=gemmSystolicArrayKernel:1:gemmSystolicArrayKernel_0
-nk=gemmAddsKernel:1:gemmAddsKernel_0
-nk=gemmMulsKernel:1:gemmMulsKernel_0
-
-sp=gemmLoadStoreKernel_0.m_axi_gmem:DDR[0]
-
-sc=gemmLoadStoreKernel_0.l_aStr:gemmTagsKernel_0.p_a:256
-sc=gemmLoadStoreKernel_0.l_bStr:gemmTagsKernel_0.p_b
-sc=gemmLoadStoreKernel_0.l_xStr:gemmCPlusXKernel_0.l_xStr
-sc=gemmLoadStoreKernel_0.l_opCodeStr:gemmTimerKernel_0.l_opCodeStr
-
-sc=gemmTimerKernel_0.l_resStr:gemmLoadStoreKernel_0.l_resStr
-sc=gemmCPlusXKernel_0.l_cStr:gemmLoadStoreKernel_0.l_cStr:256
-
-sc=gemmTagsKernel_0.p_aOut:gemmSystolicArrayKernel_0.p_a
-sc=gemmTagsKernel_0.p_tagOut:gemmSystolicArrayKernel_0.p_tag
-sc=gemmTagsKernel_0.p_bOut:gemmSystolicArrayKernel_0.p_b
-
-sc=gemmSystolicArrayKernel_0.p_bOut:gemmMulsKernel_0.p_bIn:32
-
-sc=gemmSystolicArrayKernel_0.p_aOut_0:gemmMulsKernel_0.p_aIn0:32
-sc=gemmSystolicArrayKernel_0.p_aOut_1:gemmMulsKernel_0.p_aIn1:32
-sc=gemmSystolicArrayKernel_0.p_aOut_2:gemmMulsKernel_0.p_aIn2:32
-sc=gemmSystolicArrayKernel_0.p_aOut_3:gemmMulsKernel_0.p_aIn3:32
-sc=gemmSystolicArrayKernel_0.p_aOut_4:gemmMulsKernel_0.p_aIn4:32
-sc=gemmSystolicArrayKernel_0.p_aOut_5:gemmMulsKernel_0.p_aIn5:32
-sc=gemmSystolicArrayKernel_0.p_aOut_6:gemmMulsKernel_0.p_aIn6:32
-sc=gemmSystolicArrayKernel_0.p_aOut_7:gemmMulsKernel_0.p_aIn7:32
-sc=gemmSystolicArrayKernel_0.p_aOut_8:gemmMulsKernel_0.p_aIn8:32
-sc=gemmSystolicArrayKernel_0.p_aOut_9:gemmMulsKernel_0.p_aIn9:32
-sc=gemmSystolicArrayKernel_0.p_aOut_10:gemmMulsKernel_0.p_aIn10:32
-sc=gemmSystolicArrayKernel_0.p_aOut_11:gemmMulsKernel_0.p_aIn11:32
-sc=gemmSystolicArrayKernel_0.p_aOut_12:gemmMulsKernel_0.p_aIn12:32
-sc=gemmSystolicArrayKernel_0.p_aOut_13:gemmMulsKernel_0.p_aIn13:32
-sc=gemmSystolicArrayKernel_0.p_aOut_14:gemmMulsKernel_0.p_aIn14:32
-sc=gemmSystolicArrayKernel_0.p_aOut_15:gemmMulsKernel_0.p_aIn15:32
-
-sc=gemmSystolicArrayKernel_0.p_tagOut_0:gemmMulsKernel_0.p_tagIn0:32
-sc=gemmSystolicArrayKernel_0.p_tagOut_1:gemmMulsKernel_0.p_tagIn1:32
-sc=gemmSystolicArrayKernel_0.p_tagOut_2:gemmMulsKernel_0.p_tagIn2:32
-sc=gemmSystolicArrayKernel_0.p_tagOut_3:gemmMulsKernel_0.p_tagIn3:32
-sc=gemmSystolicArrayKernel_0.p_tagOut_4:gemmMulsKernel_0.p_tagIn4:32
-sc=gemmSystolicArrayKernel_0.p_tagOut_5:gemmMulsKernel_0.p_tagIn5:32
-sc=gemmSystolicArrayKernel_0.p_tagOut_6:gemmMulsKernel_0.p_tagIn6:32
-sc=gemmSystolicArrayKernel_0.p_tagOut_7:gemmMulsKernel_0.p_tagIn7:32
-sc=gemmSystolicArrayKernel_0.p_tagOut_8:gemmMulsKernel_0.p_tagIn8:32
-sc=gemmSystolicArrayKernel_0.p_tagOut_9:gemmMulsKernel_0.p_tagIn9:32
-sc=gemmSystolicArrayKernel_0.p_tagOut_10:gemmMulsKernel_0.p_tagIn10:32
-sc=gemmSystolicArrayKernel_0.p_tagOut_11:gemmMulsKernel_0.p_tagIn11:32
-sc=gemmSystolicArrayKernel_0.p_tagOut_12:gemmMulsKernel_0.p_tagIn12:32
-sc=gemmSystolicArrayKernel_0.p_tagOut_13:gemmMulsKernel_0.p_tagIn13:32
-sc=gemmSystolicArrayKernel_0.p_tagOut_14:gemmMulsKernel_0.p_tagIn14:32
-sc=gemmSystolicArrayKernel_0.p_tagOut_15:gemmMulsKernel_0.p_tagIn15:32
-
-sc=gemmMulsKernel_0.p_out0:gemmAddsKernel_0.p_in0
-sc=gemmMulsKernel_0.p_out1:gemmAddsKernel_0.p_in1
-sc=gemmMulsKernel_0.p_out2:gemmAddsKernel_0.p_in2
-sc=gemmMulsKernel_0.p_out3:gemmAddsKernel_0.p_in3
-sc=gemmMulsKernel_0.p_out4:gemmAddsKernel_0.p_in4
-sc=gemmMulsKernel_0.p_out5:gemmAddsKernel_0.p_in5
-sc=gemmMulsKernel_0.p_out6:gemmAddsKernel_0.p_in6
-sc=gemmMulsKernel_0.p_out7:gemmAddsKernel_0.p_in7
-sc=gemmMulsKernel_0.p_out8:gemmAddsKernel_0.p_in8
-sc=gemmMulsKernel_0.p_out9:gemmAddsKernel_0.p_in9
-sc=gemmMulsKernel_0.p_out10:gemmAddsKernel_0.p_in10
-sc=gemmMulsKernel_0.p_out11:gemmAddsKernel_0.p_in11
-sc=gemmMulsKernel_0.p_out12:gemmAddsKernel_0.p_in12
-sc=gemmMulsKernel_0.p_out13:gemmAddsKernel_0.p_in13
-sc=gemmMulsKernel_0.p_out14:gemmAddsKernel_0.p_in14
-sc=gemmMulsKernel_0.p_out15:gemmAddsKernel_0.p_in15
-
-sc=gemmAddsKernel_0.p_out0:gemmMergeKernel_0.p_sum_0
-sc=gemmAddsKernel_0.p_out1:gemmMergeKernel_0.p_sum_1
-sc=gemmAddsKernel_0.p_out2:gemmMergeKernel_0.p_sum_2
-sc=gemmAddsKernel_0.p_out3:gemmMergeKernel_0.p_sum_3
-sc=gemmAddsKernel_0.p_out4:gemmMergeKernel_0.p_sum_4
-sc=gemmAddsKernel_0.p_out5:gemmMergeKernel_0.p_sum_5
-sc=gemmAddsKernel_0.p_out6:gemmMergeKernel_0.p_sum_6
-sc=gemmAddsKernel_0.p_out7:gemmMergeKernel_0.p_sum_7
-sc=gemmAddsKernel_0.p_out8:gemmMergeKernel_0.p_sum_8
-sc=gemmAddsKernel_0.p_out9:gemmMergeKernel_0.p_sum_9
-sc=gemmAddsKernel_0.p_out10:gemmMergeKernel_0.p_sum_10
-sc=gemmAddsKernel_0.p_out11:gemmMergeKernel_0.p_sum_11
-sc=gemmAddsKernel_0.p_out12:gemmMergeKernel_0.p_sum_12
-sc=gemmAddsKernel_0.p_out13:gemmMergeKernel_0.p_sum_13
-sc=gemmAddsKernel_0.p_out14:gemmMergeKernel_0.p_sum_14
-sc=gemmAddsKernel_0.p_out15:gemmMergeKernel_0.p_sum_15
-
-sc=gemmMergeKernel_0.p_sum:gemmCPlusXKernel_0.l_sStr
-
-slr=gemmLoadStoreKernel_0:SLR0
-
-slr=gemmTagsKernel_0:SLR0
-slr=gemmSystolicArrayKernel_0:SLR0
-slr=gemmMulsKernel_0:SLR0
-slr=gemmAddsKernel_0:SLR0
-slr=gemmMergeKernel_0:SLR0
-slr=gemmCPlusXKernel_0:SLR0
diff --git a/blas/L3/tests/gemm/streamingKernel/gemm_float/description.json b/blas/L3/tests/gemm/streamingKernel/gemm_float/description.json
deleted file mode 100644
index 2796c892c5..0000000000
--- a/blas/L3/tests/gemm/streamingKernel/gemm_float/description.json
+++ /dev/null
@@ -1,135 +0,0 @@
-{
- "name": "Xilinx XF_BLAS.gemm_float_streaming",
- "description": "",
- "flow": "vitis",
- "platform_whitelist": [
- "xilinx_u250_gen3x16_xdma_3_1_202020_1"
- ],
- "platform_blacklist": [],
- "platform_type": "pcie",
- "gui": false,
- "platform_properties": {
- "u250": {
- "containers": [
- {
- "name" : "gemmKernel",
- "ldclflags" : "--kernel_frequency 250 --config PROJECT/conn_u250.cfg"
- }
- ]
- }
- },
- "launch": [
- {
- "cmd_args": "BUILD/gemmKernel.xclbin BUILD/config_info.dat",
- "name": "generic launch for all flows"
- }
- ],
- "pre_build": [
- {
- "build_cmd": "make dump_config"
- }
- ],
- "host": {
- "host_exe": "gemm_test.exe",
- "compiler": {
- "sources": [
- "LIB_DIR/L3/tests/gemm/gemm_test.cpp"
- ],
- "includepaths": [
- "LIB_DIR/L3/include/sw",
- "LIB_DIR/L3/tests/gemm",
- "LIB_DIR/L2/include/streamingKernel"
- ],
- "symbols": [
- ]
- },
- "linker": {
- "options": "-luuid -lxrt_coreutil"
- }
- },
- "v++": {
- "compiler": {
- "includepaths": [
- "LIB_DIR/L1/include/hw",
- "LIB_DIR/L1/include/hw/xf_blas",
- "LIB_DIR/L1/include/hw/xf_blas/gemm",
- "LIB_DIR/L1/include/hw/xf_blas/helpers/utils",
- "LIB_DIR/L2/include/streamingKernel",
- "LIB_DIR/L2/include/streamingKernel/hw/xf_blas/gemmStreamKernel/",
- "LIB_DIR/L2/include/streamingKernel/hw/xf_blas"
- ]
- }
- },
- "containers": [
- {
- "name" : "gemmKernel",
- "ldclflags" : "--config opts.cfg",
- "accelerators": [
- {
- "name": "gemmCPlusXKernel",
- "location": "LIB_DIR/L2/src/streamingKernel/hw/gemmCPlusX.cpp",
- "frequency" : 300
- },
- {
- "name": "gemmTagsKernel",
- "location": "LIB_DIR/L2/src/streamingKernel/hw/gemmTags.cpp",
- "frequency" : 300
- },
- {
- "name": "gemmTimerKernel",
- "location": "LIB_DIR/L2/src/streamingKernel/hw/gemmTimerKernel.cpp",
- "frequency" : 300
- },
- {
- "name": "gemmMergeKernel",
- "location": "LIB_DIR/L2/src/streamingKernel/hw/gemmMerge.cpp",
- "frequency" : 300
- },
- {
- "name": "gemmAddsKernel",
- "location": "LIB_DIR/L2/src/streamingKernel/hw/gemmAdds.cpp",
- "frequency" : 300
- },
- {
- "name": "gemmMulsKernel",
- "location": "LIB_DIR/L2/src/streamingKernel/hw/gemmMuls.cpp",
- "frequency" : 300
- },
- {
- "name": "gemmSystolicArrayKernel",
- "location": "LIB_DIR/L2/src/streamingKernel/hw/gemmSystolicArray.cpp",
- "frequency" : 300
- },
- {
- "name": "gemmLoadStoreKernel",
- "location": "LIB_DIR/L2/src/streamingKernel/hw/gemmLoadStore.cpp",
- "frequency" : 300
- }
- ]
- }
- ],
- "testinfo": {
- "disable": true,
- "jobs": [
- {
- "index": 0,
- "dependency": [],
- "env": "",
- "cmd": "",
- "max_memory_MB": 32768,
- "max_time_min": {
- "vitis_hw_build": 940,
- "vitis_hw_emu": 470,
- "vitis_sw_emu": 60,
- "vitis_hw_run": 10
- }
- }
- ],
- "targets": [
- "vitis_hw_emu",
- "vitis_hw_build",
- "vitis_hw_run"
- ],
- "category": "canary"
- }
-}
\ No newline at end of file
diff --git a/blas/L3/tests/gemm/streamingKernel/gemm_float/opts.cfg b/blas/L3/tests/gemm/streamingKernel/gemm_float/opts.cfg
deleted file mode 100644
index 2eecff33d6..0000000000
--- a/blas/L3/tests/gemm/streamingKernel/gemm_float/opts.cfg
+++ /dev/null
@@ -1,8 +0,0 @@
-[vivado]
-param=project.writeIntermediateCheckpoints=1
-prop=run.impl_1.STEPS.OPT_DESIGN.ARGS.DIRECTIVE=Explore
-prop=run.impl_1.STEPS.PHYS_OPT_DESIGN.IS_ENABLED=true
-prop=run.impl_1.STEPS.PHYS_OPT_DESIGN.ARGS.DIRECTIVE=AggressiveExplore
-prop=run.impl_1.STEPS.ROUTE_DESIGN.ARGS.DIRECTIVE=Explore
-prop=run.impl_1.{STEPS.ROUTE_DESIGN.ARGS.MORE OPTIONS}={-tns_cleanup}
-prop=run.impl_1.STEPS.POST_ROUTE_PHYS_OPT_DESIGN.IS_ENABLED=true
diff --git a/blas/L3/tests/gemm/streamingKernel/gemm_float/params.makefile b/blas/L3/tests/gemm/streamingKernel/gemm_float/params.makefile
deleted file mode 100644
index 251b07c528..0000000000
--- a/blas/L3/tests/gemm/streamingKernel/gemm_float/params.makefile
+++ /dev/null
@@ -1,56 +0,0 @@
-BLAS_pageSizeBytes=4096
-BLAS_instrOffsetBytes=0
-BLAS_resOffsetBytes=4096
-BLAS_dataOffsetBytes=8192
-BLAS_ddrMemBits=512
-BLAS_maxNumInstrs=64
-BLAS_memWordsPerInstr=1
-BLAS_parEntries=16
-
-BLAS_dataType=float
-BLAS_mParWords=4
-BLAS_kParWords=4
-BLAS_nParWords=4
-BLAS_numKernels = 1
-BLAS_runGemm = 1
-BLAS_streamingKernel=1
-
-
-BLAS_FLOAT_WIDTH=8
-
-MACROS += -D BLAS_pageSizeBytes=$(BLAS_pageSizeBytes) \
- -D BLAS_instrOffsetBytes=$(BLAS_instrOffsetBytes) \
- -D BLAS_resOffsetBytes=$(BLAS_resOffsetBytes) \
- -D BLAS_dataOffsetBytes=$(BLAS_dataOffsetBytes) \
- -D BLAS_ddrMemBits=$(BLAS_ddrMemBits) \
- -D BLAS_maxNumInstrs=$(BLAS_maxNumInstrs) \
- -D BLAS_memWordsPerInstr=$(BLAS_memWordsPerInstr) \
- -D BLAS_parEntries=$(BLAS_parEntries) \
- -D BLAS_dataType=$(BLAS_dataType) \
- -D BLAS_mParWords=$(BLAS_mParWords) \
- -D BLAS_kParWords=$(BLAS_kParWords) \
- -D BLAS_nParWords=$(BLAS_nParWords) \
- -D BLAS_numKernels=$(BLAS_numKernels) \
- -D BLAS_FLOAT_WIDTH=$(BLAS_FLOAT_WIDTH) \
- -D DEBUG=$(DEBUG) \
- -D BLAS_runGemm=$(BLAS_runGemm) \
- -D BLAS_streamingKernel=$(BLAS_streamingKernel) \
- -D AP_INT_MAX_W=1026
-
-CXXFLAGS += -D BLAS_streamingKernel=$(BLAS_streamingKernel) \
- -D BLAS_dataType=$(BLAS_dataType)
-VPP_FLAGS += ${MACROS}
-
-ifeq ($(TARGET),$(filter $(TARGET),hw_emu))
- CXXFLAGS += -lxrt_hwemu
-else ifeq ($(TARGET),$(filter $(TARGET),sw_emu))
- CXXFLAGS += -lxrt_swemu
-else
- CXXFLAGS += -lxrt_core
-endif
-
-CONFIG_INFO = $(shell echo ${MACROS} | sed 's/-D //g; s/ -Wno.*//')
-
-dump_config:
- mkdir -p ${BUILD_DIR}
- @echo ${CONFIG_INFO} | tr " " "\n" > ${BUILD_DIR}/config_info.dat
diff --git a/blas/L3/tests/gemm/streamingKernel/gemm_float/utils.mk b/blas/L3/tests/gemm/streamingKernel/gemm_float/utils.mk
deleted file mode 100644
index e71c1c5409..0000000000
--- a/blas/L3/tests/gemm/streamingKernel/gemm_float/utils.mk
+++ /dev/null
@@ -1,246 +0,0 @@
-#
-# Copyright 2019-2021 Xilinx, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# vitis makefile-generator v2.0.3
-#
-#+-------------------------------------------------------------------------------
-# The following parameters are assigned with default values. These parameters can
-# be overridden through the make command line
-#+-------------------------------------------------------------------------------
-
-REPORT := no
-PROFILE := no
-DEBUG := no
-
-#'estimate' for estimate report generation
-#'system' for system report generation
-ifneq ($(REPORT), no)
-VPP_LDFLAGS += --report estimate
-VPP_LDFLAGS += --report system
-endif
-
-#Generates profile summary report
-ifeq ($(PROFILE), yes)
-VPP_LDFLAGS += --profile_kernel data:all:all:all
-endif
-
-#Generates debug summary report
-ifeq ($(DEBUG), yes)
-VPP_LDFLAGS += --dk protocol:all:all:all
-endif
-
-#Check environment setup
-ifndef XILINX_VITIS
- XILINX_VITIS = /opt/xilinx/Vitis/$(TOOL_VERSION)
- export XILINX_VITIS
-endif
-ifndef XILINX_XRT
- XILINX_XRT = /opt/xilinx/xrt
- export XILINX_XRT
-endif
-
-check_device:
- @set -eu; \
- inallowlist=False; \
- inblocklist=False; \
- for dev in $(PLATFORM_ALLOWLIST); \
- do if [[ $$(echo $(XPLATFORM) | grep $$dev) != "" ]]; \
- then inallowlist=True; fi; \
- done ;\
- for dev in $(PLATFORM_BLOCKLIST); \
- do if [[ $$(echo $(XPLATFORM) | grep $$dev) != "" ]]; \
- then inblocklist=True; fi; \
- done ;\
- if [[ $$inallowlist == False ]]; \
- then echo "[Warning]: The device $(XPLATFORM) not in allowlist."; \
- fi; \
- if [[ $$inblocklist == True ]]; \
- then echo "[ERROR]: The device $(XPLATFORM) in blocklist."; exit 1;\
- fi;
-
-#get HOST_ARCH by PLATFORM
-HOST_ARCH_temp = $(shell platforminfo -p $(PLATFORM) | grep 'CPU Type' | sed 's/.*://' | sed '/ai_engine/d' | sed 's/^[[:space:]]*//')
-$(warning HOST_ARCH_temp:$(HOST_ARCH_temp))
-ifeq ($(HOST_ARCH_temp), x86)
-HOST_ARCH := x86
-else ifeq ($(HOST_ARCH_temp), cortex-a9)
-HOST_ARCH := aarch32
-else ifeq ($(HOST_ARCH_temp), cortex-a*)
-HOST_ARCH := aarch64
-endif
-
-#Checks for Device Family
-ifeq ($(HOST_ARCH), aarch32)
- DEV_FAM = 7Series
-else ifeq ($(HOST_ARCH), aarch64)
- DEV_FAM = Ultrascale
-endif
-
-#Checks for Correct architecture
-ifneq ($(HOST_ARCH), $(filter $(HOST_ARCH),aarch64 aarch32 x86))
-$(error HOST_ARCH variable not set, please set correctly and rerun)
-endif
-
-check_version:
-ifneq (, $(shell which git))
-ifneq (,$(wildcard $(XFLIB_DIR)/.git))
- @cd $(XFLIB_DIR) && git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit -n 1 && cd -
-endif
-endif
-
-#Checks for SYSROOT
-check_sysroot:
-ifneq ($(HOST_ARCH), x86)
-ifndef SYSROOT
- $(error SYSROOT ENV variable is not set, please set ENV variable correctly and rerun)
-endif
-endif
-
-#Checks for g++
-CXX := g++
-ifeq ($(HOST_ARCH), x86)
-ifneq ($(shell expr $(shell echo "__GNUG__" | g++ -E -x c++ - | tail -1) \>= 5), 1)
-ifndef XILINX_VIVADO
-$(error [ERROR]: g++ version too old. Please use 5.0 or above)
-else
-CXX := $(XILINX_VIVADO)/tps/lnx64/gcc-6.2.0/bin/g++
-ifeq ($(LD_LIBRARY_PATH),)
-export LD_LIBRARY_PATH := $(XILINX_VIVADO)/tps/lnx64/gcc-6.2.0/lib64
-else
-export LD_LIBRARY_PATH := $(XILINX_VIVADO)/tps/lnx64/gcc-6.2.0/lib64:$(LD_LIBRARY_PATH)
-endif
-$(warning [WARNING]: g++ version too old. Using g++ provided by the tool: $(CXX))
-endif
-endif
-else ifeq ($(HOST_ARCH), aarch64)
-CXX := $(XILINX_VITIS)/gnu/aarch64/lin/aarch64-linux/bin/aarch64-linux-gnu-g++
-else ifeq ($(HOST_ARCH), aarch32)
-CXX := $(XILINX_VITIS)/gnu/aarch32/lin/gcc-arm-linux-gnueabi/bin/arm-linux-gnueabihf-g++
-endif
-
-#Check OS and setting env
-OSDIST = $(shell lsb_release -i |awk -F: '{print tolower($$2)}' | tr -d ' \t' )
-OSREL = $(shell lsb_release -r |awk -F: '{print tolower($$2)}' |tr -d ' \t')
-
-ifeq ($(OSDIST), centos)
-ifeq (7,$(shell echo $(OSREL) | awk -F. '{print tolower($$1)}' ))
-ifeq ($(HOST_ARCH), x86)
-CXXFLAGS += -D_GLIBCXX_USE_CXX11_ABI=0
-endif
-endif
-endif
-
-#Setting VPP
-VPP := v++
-
-#Cheks for aiecompiler
-AIECXX := aiecompiler
-AIESIMULATOR := aiesimulator
-X86SIMULATOR := x86simulator
-
-.PHONY: check_vivado
-check_vivado:
-ifeq (,$(wildcard $(XILINX_VIVADO)/bin/vivado))
- @echo "Cannot locate Vivado installation. Please set XILINX_VIVADO variable." && false
-endif
-
-.PHONY: check_vpp
-check_vpp:
-ifeq (,$(wildcard $(XILINX_VITIS)/bin/v++))
- @echo "Cannot locate Vitis installation. Please set XILINX_VITIS variable." && false
-endif
-
-.PHONY: check_xrt
-check_xrt:
-ifeq (,$(wildcard $(XILINX_XRT)/lib/libxilinxopencl.so))
- @echo "Cannot locate XRT installation. Please set XILINX_XRT variable." && false
-endif
-
-export PATH := $(XILINX_VITIS)/bin:$(XILINX_XRT)/bin:$(PATH)
-ifeq ($(HOST_ARCH), x86)
-ifeq (,$(LD_LIBRARY_PATH))
-LD_LIBRARY_PATH := $(XILINX_XRT)/lib
-else
-LD_LIBRARY_PATH := $(XILINX_XRT)/lib:$(LD_LIBRARY_PATH)
-endif
-endif
-
-ifneq (,$(wildcard $(PLATFORM)))
-XPLATFORM := $(PLATFORM)
-else
-ifneq (,$(wildcard $(PLATFORM)))
-# Use PLATFORM as a file path
-XPLATFORM := $(PLATFORM)
-else
-# Use PLATFORM as a file name pattern
-# 1. search paths specified by variable
-ifneq (,$(PLATFORM_REPO_PATHS))
-# 1.1 as exact name
-XPLATFORM := $(strip $(foreach p, $(subst :, ,$(PLATFORM_REPO_PATHS)), $(wildcard $(p)/$(PLATFORM)/$(PLATFORM).xpfm)))
-# 1.2 as a pattern
-ifeq (,$(XPLATFORM))
-XPLATFORMS := $(foreach p, $(subst :, ,$(PLATFORM_REPO_PATHS)), $(wildcard $(p)/*/*.xpfm))
-XPLATFORM := $(strip $(foreach p, $(XPLATFORMS), $(shell echo $(p) | awk '$$1 ~ /$(PLATFORM)/')))
-endif # 1.2
-endif # 1
-# 2. search Vitis installation
-ifeq (,$(XPLATFORM))
-# 2.1 as exact name
-XPLATFORM := $(strip $(wildcard $(XILINX_VITIS)/platforms/$(PLATFORM)/$(PLATFORM).xpfm))
-# 2.2 as a pattern
-ifeq (,$(XPLATFORM))
-XPLATFORMS := $(wildcard $(XILINX_VITIS)/platforms/*/*.xpfm)
-XPLATFORM := $(strip $(foreach p, $(XPLATFORMS), $(shell echo $(p) | awk '$$1 ~ /$(PLATFORM)/')))
-endif # 2.2
-endif # 2
-# 3. search default locations
-ifeq (,$(XPLATFORM))
-# 3.1 as exact name
-XPLATFORM := $(strip $(wildcard /opt/xilinx/platforms/$(PLATFORM)/$(PLATFORM).xpfm))
-# 3.2 as a pattern
-ifeq (,$(XPLATFORM))
-XPLATFORMS := $(wildcard /opt/xilinx/platforms/*/*.xpfm)
-XPLATFORM := $(strip $(foreach p, $(XPLATFORMS), $(shell echo $(p) | awk '$$1 ~ /$(PLATFORM)/')))
-endif # 3.2
-endif # 3
-endif
-endif
-
-define MSG_PLATFORM
-No platform matched pattern '$(PLATFORM)'.
-Available platforms are: $(XPLATFORMS)
-To add more platform directories, set the PLATFORM_REPO_PATHS variable or point PLATFORM variable to the full path of platform .xpfm file.
-endef
-export MSG_PLATFORM
-
-
-.PHONY: check_platform
-check_platform:
-ifeq (,$(XPLATFORM))
- @echo "$${MSG_PLATFORM}" && false
-endif
-#Check ends
-
-# device2xsa - create a filesystem friendly name from device name
-# $(1) - full name of device
-XPLATFORM = $(strip $(patsubst %.xpfm, % , $(shell basename $(PLATFORM))))
-
-
-# Cleaning stuff
-RM = rm -f
-RMDIR = rm -rf
-
-MV = mv -f
-CP = cp -rf
-ECHO:= @echo
diff --git a/blas/L3/tests/gemm/streamingKernel/gemm_float/xrt.cfg b/blas/L3/tests/gemm/streamingKernel/gemm_float/xrt.cfg
deleted file mode 100644
index 7215af63fa..0000000000
--- a/blas/L3/tests/gemm/streamingKernel/gemm_float/xrt.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-[Debug]
-profile=true
-timeline_trace=true
-device_profile=true
-data_transfer_trace=fine
-[Emulation]
-enable_shared_memory=false