From 609c190cf46115934b6ea6716dd38291c59e54de Mon Sep 17 00:00:00 2001 From: SDA USR <1391+sdausr@users.noreply.gitenterprise.xilinx.com> Date: Fri, 15 Apr 2022 14:37:14 +0800 Subject: [PATCH] Squashed 'sparse' changes from b8aa0ac..00c1121 (#578) 00c1121 Merge pull request #101 from changg/wa_u280 6353429 fix 15dddbb Merge pull request #100 from changg/wa_u280 bb26130 wa for u280 f33813e Merge pull request #99 from changg/fix_meta 78bfba6 fix meta Co-authored-by: sdausr --- sparse/L1/meta/api.json | 825 ++---------------------- sparse/L2/tests/cscmv/utils.mk | 2 +- sparse/L2/tests/cscmvSingleHbm/utils.mk | 1 + sparse/L2/tests/fp64/spmv/utils.mk | 1 + 4 files changed, 46 insertions(+), 783 deletions(-) diff --git a/sparse/L1/meta/api.json b/sparse/L1/meta/api.json index 8eaf6b3d9c..58ff91b0cf 100644 --- a/sparse/L1/meta/api.json +++ b/sparse/L1/meta/api.json @@ -2,499 +2,12 @@ "schema": "vitis_libraries_api_list_schema-1.0", "api_list": [ { - "api_name": "std::ostream& xf::sparse::operator<<", - "spec": { - "schema": "vitis_libraries_api_list_schema-1.0", - "api_name": "std::ostream& xf::sparse::operator<<", - "display_name": "operator<<", - "brief": "", - "target_domain": "", - "header_file_name": [ - "cscmv.hpp" - ], - "search_paths": [ - "L1/include/hw/xf_sparse" - ], - "instance": "function", - "parameters": [ - { - "name": "t_DataType", - "type": "typename" - }, - { - "name": "t_IndexType", - "type": "typename" - }, - { - "name": "t_DataBits", - "type": "unsigned int" - }, - { - "name": "t_IndexBits", - "type": "unsigned int" - } - ], - "ports": [] - } - }, - { - "api_name": "ap_uint xf::sparse::getRowBank", - "spec": { - "schema": "vitis_libraries_api_list_schema-1.0", - "api_name": "ap_uint xf::sparse::getRowBank", - "display_name": "getRowBank", - "brief": "", - "target_domain": "", - "header_file_name": [ - "cscmv.hpp" - ], - "search_paths": [ - "L1/include/hw/xf_sparse" - ], - "instance": "function", - "parameters": [ - { - "name": "t_LogParEntries", - "type": "unsigned int" - }, - { - "name": "t_IndexType", - "type": "typename" - } - ], - "ports": [] - } - }, - { - "api_name": "ap_uint xf::sparse::getRowOffset", - "spec": { - "schema": "vitis_libraries_api_list_schema-1.0", - "api_name": "ap_uint xf::sparse::getRowOffset", - "display_name": "getRowOffset", - "brief": "", - "target_domain": "", - "header_file_name": [ - "cscmv.hpp" - ], - "search_paths": [ - "L1/include/hw/xf_sparse" - ], - "instance": "function", - "parameters": [ - { - "name": "t_LogParEntries", - "type": "unsigned int" - }, - { - "name": "t_LogParGroups", - "type": "unsigned int" - }, - { - "name": "t_IndexType", - "type": "typename" - }, - { - "name": "t_IndexBits", - "type": "unsigned int" - } - ], - "ports": [] - } - }, - { - "api_name": "xf::sparse::duplicateStream", - "spec": { - "schema": "vitis_libraries_api_list_schema-1.0", - "api_name": "xf::sparse::duplicateStream", - "display_name": "duplicateStream", - "brief": "", - "target_domain": "", - "header_file_name": [ - "cscmv.hpp" - ], - "search_paths": [ - "L1/include/hw/xf_sparse" - ], - "instance": "function", - "parameters": [ - { - "name": "t_ParEntries", - "type": "unsigned int" - }, - { - "name": "t_DataType", - "type": "typename" - }, - { - "name": "t_DataBits", - "type": "unsigned int" - }, - { - "name": "t_NumCopys", - "type": "unsigned int" - } - ], - "ports": [] - } - }, - { - "api_name": "xf::sparse::getColPtrPair", - "spec": { - "schema": "vitis_libraries_api_list_schema-1.0", - "api_name": "xf::sparse::getColPtrPair", - "display_name": "getColPtrPair", - "brief": "", - "target_domain": "", - "header_file_name": [ - "cscmv.hpp" - ], - "search_paths": [ - "L1/include/hw/xf_sparse" - ], - "instance": "function", - "parameters": [ - { - "name": "t_LogParEntries", - "type": "unsigned int" - }, - { - "name": "t_IndexType", - "type": "typename" - }, - { - "name": "t_IndexBits", - "type": "unsigned int" - } - ], - "ports": [] - } - }, - { - "api_name": "xf::sparse::getColPtrPairDist", - "spec": { - "schema": "vitis_libraries_api_list_schema-1.0", - "api_name": "xf::sparse::getColPtrPairDist", - "display_name": "getColPtrPairDist", - "brief": "", - "target_domain": "", - "header_file_name": [ - "cscmv.hpp" - ], - "search_paths": [ - "L1/include/hw/xf_sparse" - ], - "instance": "function", - "parameters": [ - { - "name": "t_LogParEntries", - "type": "unsigned int" - }, - { - "name": "t_IndexType", - "type": "typename" - }, - { - "name": "t_IndexBits", - "type": "unsigned int" - } - ], - "ports": [] - } - }, - { - "api_name": "xf::sparse::splitStream", - "spec": { - "schema": "vitis_libraries_api_list_schema-1.0", - "api_name": "xf::sparse::splitStream", - "display_name": "splitStream", - "brief": "", - "target_domain": "", - "header_file_name": [ - "cscmv.hpp" - ], - "search_paths": [ - "L1/include/hw/xf_sparse" - ], - "instance": "function", - "parameters": [ - { - "name": "t_ParEntries", - "type": "unsigned int" - }, - { - "name": "t_DataType", - "type": "typename" - }, - { - "name": "t_DataBits", - "type": "unsigned int" - } - ], - "ports": [] - } - }, - { - "api_name": "xf::sparse::genColSelContr", - "spec": { - "schema": "vitis_libraries_api_list_schema-1.0", - "api_name": "xf::sparse::genColSelContr", - "display_name": "genColSelContr", - "brief": "", - "target_domain": "", - "header_file_name": [ - "cscmv.hpp" - ], - "search_paths": [ - "L1/include/hw/xf_sparse" - ], - "instance": "function", - "parameters": [ - { - "name": "t_LogParEntries", - "type": "unsigned int" - }, - { - "name": "t_IndexType", - "type": "typename" - }, - { - "name": "t_IndexBits", - "type": "unsigned int" - } - ], - "ports": [] - } - }, - { - "api_name": "xf::sparse::selColVal", - "spec": { - "schema": "vitis_libraries_api_list_schema-1.0", - "api_name": "xf::sparse::selColVal", - "display_name": "selColVal", - "brief": "", - "target_domain": "", - "header_file_name": [ - "cscmv.hpp" - ], - "search_paths": [ - "L1/include/hw/xf_sparse" - ], - "instance": "function", - "parameters": [ - { - "name": "t_LogParEntries", - "type": "unsigned int" - }, - { - "name": "t_DataType", - "type": "typename" - }, - { - "name": "t_IndexType", - "type": "typename" - }, - { - "name": "t_IndexBits", - "type": "unsigned int" - } - ], - "ports": [] - } - }, - { - "api_name": "xf::sparse::xBarMergeCol", - "spec": { - "schema": "vitis_libraries_api_list_schema-1.0", - "api_name": "xf::sparse::xBarMergeCol", - "display_name": "xBarMergeCol", - "brief": "", - "target_domain": "", - "header_file_name": [ - "cscmv.hpp" - ], - "search_paths": [ - "L1/include/hw/xf_sparse" - ], - "instance": "function", - "parameters": [ - { - "name": "t_ParEntries", - "type": "unsigned int" - }, - { - "name": "t_DataType", - "type": "typename" - }, - { - "name": "t_IndexType", - "type": "typename" - }, - { - "name": "t_DataBits", - "type": "unsigned int" - } - ], - "ports": [] - } - }, - { - "api_name": "xf::sparse::xBarCol", - "spec": { - "schema": "vitis_libraries_api_list_schema-1.0", - "api_name": "xf::sparse::xBarCol", - "display_name": "xBarCol", - "brief": "xBarCol function that distributes input col values to the dedicated banks according to their col index pointers", - "target_domain": "", - "header_file_name": [ - "cscmv.hpp" - ], - "search_paths": [ - "L1/include/hw/xf_sparse" - ], - "instance": "function", - "parameters": [ - { - "name": "t_LogParEntries", - "type": "unsigned int", - "description": "log2 of the parallelly processed entries in the input/output vector stream" - }, - { - "name": "t_DataType", - "type": "typename", - "description": "the data type of the matrix and vector entries" - }, - { - "name": "t_IndexType", - "type": "typename", - "description": "the data type of the indicies" - }, - { - "name": "t_DataBits", - "type": "unsigned int", - "description": "the number of bits for storing the data" - }, - { - "name": "t_IndexBits", - "type": "unsigned int", - "description": "the number of bits for storing the indices" - } - ], - "ports": [ - { - "name": "p_colPtrBlocks", - "direction": "", - "type": "const unsigned int" - }, - { - "name": "p_nnzBlocks", - "direction": "", - "type": "const unsigned int" - }, - { - "name": "p_colPtrStr", - "direction": "", - "type": "hls::stream< ap_uint< t_IndexBits *(1<< t_LogParEntries)> > &" - }, - { - "name": "p_colValStr", - "direction": "", - "type": "hls::stream< ap_uint< t_DataBits *(1<< t_LogParEntries)> > &" - }, - { - "name": "p_nnzColValStr", - "direction": "", - "type": "hls::stream< ap_uint< t_DataBits *(1<< t_LogParEntries)> > &" - } - ] - } - }, - { - "api_name": "xf::sparse::formRowEntries", - "spec": { - "schema": "vitis_libraries_api_list_schema-1.0", - "api_name": "xf::sparse::formRowEntries", - "display_name": "formRowEntries", - "brief": "", - "target_domain": "", - "header_file_name": [ - "cscmv.hpp" - ], - "search_paths": [ - "L1/include/hw/xf_sparse" - ], - "instance": "function", - "parameters": [ - { - "name": "t_LogParEntries", - "type": "unsigned int" - }, - { - "name": "t_DataType", - "type": "typename" - }, - { - "name": "t_IndexType", - "type": "typename" - }, - { - "name": "t_DataBits", - "type": "unsigned int" - }, - { - "name": "t_IndexBits", - "type": "unsigned int" - } - ], - "ports": [] - } - }, - { - "api_name": "xf::sparse::xBarRowSplit", - "spec": { - "schema": "vitis_libraries_api_list_schema-1.0", - "api_name": "xf::sparse::xBarRowSplit", - "display_name": "xBarRowSplit", - "brief": "", - "target_domain": "", - "header_file_name": [ - "cscmv.hpp" - ], - "search_paths": [ - "L1/include/hw/xf_sparse" - ], - "instance": "function", - "parameters": [ - { - "name": "t_LogParEntries", - "type": "unsigned int" - }, - { - "name": "t_DataType", - "type": "typename" - }, - { - "name": "t_IndexType", - "type": "typename" - }, - { - "name": "t_DataBits", - "type": "unsigned int" - }, - { - "name": "t_IndexBits", - "type": "unsigned int" - } - ], - "ports": [] - } - }, - { - "api_name": "xf::sparse::xBarRowMerge", + "api_name": "xf::sparse::xBarCol", "spec": { "schema": "vitis_libraries_api_list_schema-1.0", - "api_name": "xf::sparse::xBarRowMerge", - "display_name": "xBarRowMerge", - "brief": "", + "api_name": "xf::sparse::xBarCol", + "display_name": "xBarCol", + "brief": "xBarCol function that distributes input col values to the dedicated banks according to their col index pointers", "target_domain": "", "header_file_name": [ "cscmv.hpp" @@ -506,26 +19,57 @@ "parameters": [ { "name": "t_LogParEntries", - "type": "unsigned int" + "type": "unsigned int", + "description": "log2 of the parallelly processed entries in the input/output vector stream" }, { "name": "t_DataType", - "type": "typename" + "type": "typename", + "description": "the data type of the matrix and vector entries" }, { "name": "t_IndexType", - "type": "typename" + "type": "typename", + "description": "the data type of the indicies" }, { "name": "t_DataBits", - "type": "unsigned int" + "type": "unsigned int", + "description": "the number of bits for storing the data" }, { "name": "t_IndexBits", - "type": "unsigned int" + "type": "unsigned int", + "description": "the number of bits for storing the indices" } ], - "ports": [] + "ports": [ + { + "name": "p_colPtrBlocks", + "direction": "", + "type": "const unsigned int" + }, + { + "name": "p_nnzBlocks", + "direction": "", + "type": "const unsigned int" + }, + { + "name": "p_colPtrStr", + "direction": "", + "type": "hls::stream< ap_uint< t_IndexBits *(1<< t_LogParEntries)> > &" + }, + { + "name": "p_colValStr", + "direction": "", + "type": "hls::stream< ap_uint< t_DataBits *(1<< t_LogParEntries)> > &" + }, + { + "name": "p_nnzColValStr", + "direction": "", + "type": "hls::stream< ap_uint< t_DataBits *(1<< t_LogParEntries)> > &" + } + ] } }, { @@ -604,50 +148,6 @@ ] } }, - { - "api_name": "xf::sparse::rowMemAcc", - "spec": { - "schema": "vitis_libraries_api_list_schema-1.0", - "api_name": "xf::sparse::rowMemAcc", - "display_name": "rowMemAcc", - "brief": "", - "target_domain": "", - "header_file_name": [ - "cscmv.hpp" - ], - "search_paths": [ - "L1/include/hw/xf_sparse" - ], - "instance": "function", - "parameters": [ - { - "name": "t_MaxRowBlocks", - "type": "unsigned int" - }, - { - "name": "t_ParEntries", - "type": "unsigned int" - }, - { - "name": "t_DataType", - "type": "typename" - }, - { - "name": "t_IndexType", - "type": "typename" - }, - { - "name": "t_DataBits", - "type": "unsigned int" - }, - { - "name": "t_RowOffsetBits", - "type": "unsigned int" - } - ], - "ports": [] - } - }, { "api_name": "xf::sparse::rowAgg", "spec": { @@ -795,86 +295,6 @@ ] } }, - { - "api_name": "xf::sparse::decFwdColParam", - "spec": { - "schema": "vitis_libraries_api_list_schema-1.0", - "api_name": "xf::sparse::decFwdColParam", - "display_name": "decFwdColParam", - "brief": "", - "target_domain": "", - "header_file_name": [ - "moverL1.hpp" - ], - "search_paths": [ - "L1/include/hw/xf_sparse" - ], - "instance": "function", - "parameters": [ - { - "name": "t_MaxColParBlocks", - "type": "unsigned int" - }, - { - "name": "t_ParBlocks4Param", - "type": "unsigned int" - }, - { - "name": "t_HbmChannels", - "type": "unsigned int" - }, - { - "name": "t_ParEntries", - "type": "unsigned int" - }, - { - "name": "t_DataBits", - "type": "unsigned int" - } - ], - "ports": [] - } - }, - { - "api_name": "xf::sparse::decColParam", - "spec": { - "schema": "vitis_libraries_api_list_schema-1.0", - "api_name": "xf::sparse::decColParam", - "display_name": "decColParam", - "brief": "", - "target_domain": "", - "header_file_name": [ - "moverL1.hpp" - ], - "search_paths": [ - "L1/include/hw/xf_sparse" - ], - "instance": "function", - "parameters": [ - { - "name": "t_MaxColParBlocks", - "type": "unsigned int" - }, - { - "name": "t_ParBlocks4Param", - "type": "unsigned int" - }, - { - "name": "t_HbmChannels", - "type": "unsigned int" - }, - { - "name": "t_ParEntries", - "type": "unsigned int" - }, - { - "name": "t_DataBits", - "type": "unsigned int" - } - ], - "ports": [] - } - }, { "api_name": "xf::sparse::dispColVec", "spec": { @@ -941,46 +361,6 @@ ] } }, - { - "api_name": "xf::sparse::dispColVecSink", - "spec": { - "schema": "vitis_libraries_api_list_schema-1.0", - "api_name": "xf::sparse::dispColVecSink", - "display_name": "dispColVecSink", - "brief": "", - "target_domain": "", - "header_file_name": [ - "moverL1.hpp" - ], - "search_paths": [ - "L1/include/hw/xf_sparse" - ], - "instance": "function", - "parameters": [ - { - "name": "t_MaxColParBlocks", - "type": "unsigned int" - }, - { - "name": "t_ParBlocks4Param", - "type": "unsigned int" - }, - { - "name": "t_HbmChannels", - "type": "unsigned int" - }, - { - "name": "t_ParEntries", - "type": "unsigned int" - }, - { - "name": "t_DataBits", - "type": "unsigned int" - } - ], - "ports": [] - } - }, { "api_name": "xf::sparse::dispCol", "spec": { @@ -1037,126 +417,6 @@ ] } }, - { - "api_name": "xf::sparse::dispNnzColStep", - "spec": { - "schema": "vitis_libraries_api_list_schema-1.0", - "api_name": "xf::sparse::dispNnzColStep", - "display_name": "dispNnzColStep", - "brief": "", - "target_domain": "", - "header_file_name": [ - "moverL1.hpp" - ], - "search_paths": [ - "L1/include/hw/xf_sparse" - ], - "instance": "function", - "parameters": [ - { - "name": "t_MaxColParBlocks", - "type": "unsigned int" - }, - { - "name": "t_ParBlocks4Param", - "type": "unsigned int" - }, - { - "name": "t_HbmChannels", - "type": "unsigned int" - }, - { - "name": "t_ParEntries", - "type": "unsigned int" - }, - { - "name": "t_DataBits", - "type": "unsigned int" - } - ], - "ports": [] - } - }, - { - "api_name": "xf::sparse::dispNnzColStepDup", - "spec": { - "schema": "vitis_libraries_api_list_schema-1.0", - "api_name": "xf::sparse::dispNnzColStepDup", - "display_name": "dispNnzColStepDup", - "brief": "", - "target_domain": "", - "header_file_name": [ - "moverL1.hpp" - ], - "search_paths": [ - "L1/include/hw/xf_sparse" - ], - "instance": "function", - "parameters": [ - { - "name": "t_MaxColParBlocks", - "type": "unsigned int" - }, - { - "name": "t_ParBlocks4Param", - "type": "unsigned int" - }, - { - "name": "t_HbmChannels", - "type": "unsigned int" - }, - { - "name": "t_ParEntries", - "type": "unsigned int" - }, - { - "name": "t_DataBits", - "type": "unsigned int" - } - ], - "ports": [] - } - }, - { - "api_name": "xf::sparse::dispNnzColSink", - "spec": { - "schema": "vitis_libraries_api_list_schema-1.0", - "api_name": "xf::sparse::dispNnzColSink", - "display_name": "dispNnzColSink", - "brief": "", - "target_domain": "", - "header_file_name": [ - "moverL1.hpp" - ], - "search_paths": [ - "L1/include/hw/xf_sparse" - ], - "instance": "function", - "parameters": [ - { - "name": "t_MaxColParBlocks", - "type": "unsigned int" - }, - { - "name": "t_ParBlocks4Param", - "type": "unsigned int" - }, - { - "name": "t_HbmChannels", - "type": "unsigned int" - }, - { - "name": "t_ParEntries", - "type": "unsigned int" - }, - { - "name": "t_DataBits", - "type": "unsigned int" - } - ], - "ports": [] - } - }, { "api_name": "xf::sparse::dispNnzCol", "spec": { @@ -1214,5 +474,6 @@ } } ], + "target_domain": "" -} \ No newline at end of file +} diff --git a/sparse/L2/tests/cscmv/utils.mk b/sparse/L2/tests/cscmv/utils.mk index 11cd61f1bb..02c3eeb941 100644 --- a/sparse/L2/tests/cscmv/utils.mk +++ b/sparse/L2/tests/cscmv/utils.mk @@ -206,8 +206,8 @@ RMDIR = rm -rf MV = mv -f CP = cp -rf ECHO:= @echo - ifneq (,$(shell echo $(XPLATFORM) | awk '/xilinx_u280_xdma_201920_3/')) +VPP_FLAGS += --advanced.param compiler.ignorePlatformCompatibilityCheck=true ifeq ($(TARGET), hw) VPP_LDFLAGS += --advanced.param compiler.userPreSysLinkOverlayTcl=preSysLink.tcl endif diff --git a/sparse/L2/tests/cscmvSingleHbm/utils.mk b/sparse/L2/tests/cscmvSingleHbm/utils.mk index 4e5b0ac358..02c3eeb941 100644 --- a/sparse/L2/tests/cscmvSingleHbm/utils.mk +++ b/sparse/L2/tests/cscmvSingleHbm/utils.mk @@ -207,6 +207,7 @@ MV = mv -f CP = cp -rf ECHO:= @echo ifneq (,$(shell echo $(XPLATFORM) | awk '/xilinx_u280_xdma_201920_3/')) +VPP_FLAGS += --advanced.param compiler.ignorePlatformCompatibilityCheck=true ifeq ($(TARGET), hw) VPP_LDFLAGS += --advanced.param compiler.userPreSysLinkOverlayTcl=preSysLink.tcl endif diff --git a/sparse/L2/tests/fp64/spmv/utils.mk b/sparse/L2/tests/fp64/spmv/utils.mk index 4e5b0ac358..02c3eeb941 100644 --- a/sparse/L2/tests/fp64/spmv/utils.mk +++ b/sparse/L2/tests/fp64/spmv/utils.mk @@ -207,6 +207,7 @@ MV = mv -f CP = cp -rf ECHO:= @echo ifneq (,$(shell echo $(XPLATFORM) | awk '/xilinx_u280_xdma_201920_3/')) +VPP_FLAGS += --advanced.param compiler.ignorePlatformCompatibilityCheck=true ifeq ($(TARGET), hw) VPP_LDFLAGS += --advanced.param compiler.userPreSysLinkOverlayTcl=preSysLink.tcl endif