From 2845d862a38a355f7cb8d1457a9684ec998a42f0 Mon Sep 17 00:00:00 2001 From: Kenneth Heafield Date: Thu, 22 Oct 2020 12:18:25 +0000 Subject: [PATCH 1/2] Change intgemm to a submodule instead of fetch. This resolves the issue that LICENSE refered to 3rdparty/intgemm/LICENSE which was not present in the source because it was downloaded: https://lists.apache.org/thread.html/r669576b6506f67ea96e9b1bd385b04f59c4e6e7fa1b13a6dc0abc7d9%40%3Cgeneral.incubator.apache.org%3E --- .gitmodules | 3 +++ 3rdparty/intgemm | 1 + CMakeLists.txt | 12 +----------- LICENSE | 37 +++++++++++++++++++++++++++++++++++++ 4 files changed, 42 insertions(+), 11 deletions(-) create mode 160000 3rdparty/intgemm diff --git a/.gitmodules b/.gitmodules index b215ed430d14..dee98eabd157 100644 --- a/.gitmodules +++ b/.gitmodules @@ -25,3 +25,6 @@ [submodule "3rdparty/nvidia_cub"] path = 3rdparty/nvidia_cub url = https://github.com/NVlabs/cub.git +[submodule "3rdparty/intgemm"] + path = 3rdparty/intgemm + url = https://github.com/kpu/intgemm diff --git a/3rdparty/intgemm b/3rdparty/intgemm new file mode 160000 index 000000000000..8f28282c3bd8 --- /dev/null +++ b/3rdparty/intgemm @@ -0,0 +1 @@ +Subproject commit 8f28282c3bd854922da638024d2659be52e892e9 diff --git a/CMakeLists.txt b/CMakeLists.txt index 402e675ed655..e3479387d7c3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -314,17 +314,7 @@ endif() if(USE_INTGEMM) message(STATUS "Using intgemm") - include(FetchContent) - FetchContent_Declare( - intgemm - GIT_REPOSITORY https://github.com/kpu/intgemm.git - GIT_TAG 4172dcc209e6793dd920dec9cf9c9fc81605bd9d - ) - FetchContent_GetProperties(intgemm) - if(NOT intgemm_POPULATED) - FetchContent_Populate(intgemm) - endif() - add_subdirectory(${intgemm_SOURCE_DIR} ${intgemm_BINARY_DIR} EXCLUDE_FROM_ALL) + add_subdirectory(3rdparty/intgemm EXCLUDE_FROM_ALL) add_definitions(-DMXNET_USE_INTGEMM=1) endif() diff --git a/LICENSE b/LICENSE index 4a8f8dd5e6e8..0d2c4b71a38a 100644 --- a/LICENSE +++ b/LICENSE @@ -311,6 +311,7 @@ Copyright (c) 2016 myyasuda 12. intgemm - Refer to 3rdparty/intgemm/LICENSE Copyright (c) 2017--2019 University of Edinburgh, Nikolay Bogoychev, Mateusz Chudyk, Kenneth Heafield, and Microsoft Corporation + (Except 3rdparty/intgemm/test/3rd_party/catch.hpp is under the Boost license, listed separately) ======================================================================================= @@ -958,6 +959,8 @@ For more information, please refer to + ======================================================================================= + 20. Font-Awesome, SIL Open Font License(OFL) For details, see ./docs/python_docs/themes/mx-theme/mxtheme/static/webfonts/ @@ -968,6 +971,40 @@ For full text of the SIL Open Font License, refer to + ======================================================================================= + + 21. Catch + + Only the file 3rdparty/intgemm/test/3rd_party/catch.hpp + + Copyright (c) 2019 Two Blue Cubes Ltd. All rights reserved. + Distributed under the Boost Software License, Version 1.0. (See below + or copy at http://www.boost.org/LICENSE_1_0.txt) + + Boost Software License - Version 1.0 - August 17th, 2003 + + Permission is hereby granted, free of charge, to any person or organization + obtaining a copy of the software and accompanying documentation covered by + this license (the "Software") to use, reproduce, display, distribute, + execute, and transmit the Software, and to prepare derivative works of the + Software, and to permit third-parties to whom the Software is furnished to + do so, all subject to the following: + + The copyright notices in the Software and this entire statement, including + the above license grant, this restriction and the following disclaimer, + must be included in all copies of the Software, in whole or in part, and + all derivative works of the Software, unless such copies or derivative + works are solely in the form of machine-executable object code generated by + a source language processor. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT + SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE + FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + ======================================================================================= Appendix ======================================================================================= From d25efe9227d7c2b585fc1e07e778c00e4d1d5093 Mon Sep 17 00:00:00 2001 From: Kenneth Heafield Date: Thu, 22 Oct 2020 16:13:33 +0000 Subject: [PATCH 2/2] Exclude intgemm from license header check --- tests/nightly/apache_rat_license_check/rat-excludes | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/nightly/apache_rat_license_check/rat-excludes b/tests/nightly/apache_rat_license_check/rat-excludes index e888543ce042..2c29f00f263b 100755 --- a/tests/nightly/apache_rat_license_check/rat-excludes +++ b/tests/nightly/apache_rat_license_check/rat-excludes @@ -35,6 +35,7 @@ ctc_include/* dlpack/* dmlc-core/* googletest/* +intgemm/* mkldnn/* nvidia_cub/* onnx-tensorrt/*