gbrl 1.0.0.dev7__tar.gz → 1.0.1.dev0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- gbrl-1.0.1.dev0/CMakeLists.txt +236 -0
- {gbrl-1.0.0.dev7 → gbrl-1.0.1.dev0}/LICENSE +3 -1
- gbrl-1.0.1.dev0/LICENSES.txt +347 -0
- gbrl-1.0.1.dev0/MANIFEST.in +10 -0
- gbrl-1.0.1.dev0/PKG-INFO +97 -0
- gbrl-1.0.1.dev0/README.md +69 -0
- {gbrl-1.0.0.dev7 → gbrl-1.0.1.dev0}/gbrl/__init__.py +1 -1
- {gbrl-1.0.0.dev7 → gbrl-1.0.1.dev0}/gbrl/ac_gbrl.py +223 -40
- {gbrl-1.0.0.dev7 → gbrl-1.0.1.dev0}/gbrl/config.py +0 -0
- {gbrl-1.0.0.dev7 → gbrl-1.0.1.dev0}/gbrl/gbrl_wrapper.py +205 -84
- {gbrl-1.0.0.dev7 → gbrl-1.0.1.dev0}/gbrl/gbt.py +118 -15
- gbrl-1.0.1.dev0/gbrl/src/cpp/CMakeLists.txt +57 -0
- gbrl-1.0.1.dev0/gbrl/src/cpp/config.h +16 -0
- gbrl-1.0.1.dev0/gbrl/src/cpp/data_structs.cpp +63 -0
- gbrl-1.0.1.dev0/gbrl/src/cpp/data_structs.h +28 -0
- {gbrl-1.0.0.dev7 → gbrl-1.0.1.dev0}/gbrl/src/cpp/fitter.cpp +67 -30
- {gbrl-1.0.0.dev7 → gbrl-1.0.1.dev0}/gbrl/src/cpp/fitter.h +8 -0
- {gbrl-1.0.0.dev7 → gbrl-1.0.1.dev0}/gbrl/src/cpp/gbrl.cpp +122 -37
- {gbrl-1.0.0.dev7 → gbrl-1.0.1.dev0}/gbrl/src/cpp/gbrl.h +13 -5
- {gbrl-1.0.0.dev7 → gbrl-1.0.1.dev0}/gbrl/src/cpp/gbrl_binding.cpp +145 -7
- {gbrl-1.0.0.dev7 → gbrl-1.0.1.dev0}/gbrl/src/cpp/loss.cpp +14 -3
- gbrl-1.0.1.dev0/gbrl/src/cpp/loss.h +21 -0
- {gbrl-1.0.0.dev7 → gbrl-1.0.1.dev0}/gbrl/src/cpp/math_ops.cpp +305 -55
- {gbrl-1.0.0.dev7 → gbrl-1.0.1.dev0}/gbrl/src/cpp/math_ops.h +35 -7
- {gbrl-1.0.0.dev7 → gbrl-1.0.1.dev0}/gbrl/src/cpp/node.cpp +89 -61
- {gbrl-1.0.0.dev7 → gbrl-1.0.1.dev0}/gbrl/src/cpp/node.h +13 -5
- {gbrl-1.0.0.dev7 → gbrl-1.0.1.dev0}/gbrl/src/cpp/optimizer.cpp +16 -5
- {gbrl-1.0.0.dev7 → gbrl-1.0.1.dev0}/gbrl/src/cpp/optimizer.h +12 -3
- {gbrl-1.0.0.dev7 → gbrl-1.0.1.dev0}/gbrl/src/cpp/predictor.cpp +15 -3
- {gbrl-1.0.0.dev7 → gbrl-1.0.1.dev0}/gbrl/src/cpp/predictor.h +8 -0
- {gbrl-1.0.0.dev7 → gbrl-1.0.1.dev0}/gbrl/src/cpp/scheduler.cpp +8 -0
- {gbrl-1.0.0.dev7 → gbrl-1.0.1.dev0}/gbrl/src/cpp/scheduler.h +8 -0
- gbrl-1.0.1.dev0/gbrl/src/cpp/shap.cpp +444 -0
- gbrl-1.0.1.dev0/gbrl/src/cpp/shap.h +42 -0
- {gbrl-1.0.0.dev7 → gbrl-1.0.1.dev0}/gbrl/src/cpp/split_candidate_generator.cpp +21 -2
- {gbrl-1.0.0.dev7 → gbrl-1.0.1.dev0}/gbrl/src/cpp/split_candidate_generator.h +8 -0
- {gbrl-1.0.0.dev7 → gbrl-1.0.1.dev0}/gbrl/src/cpp/types.cpp +30 -12
- {gbrl-1.0.0.dev7 → gbrl-1.0.1.dev0}/gbrl/src/cpp/types.h +19 -0
- {gbrl-1.0.0.dev7 → gbrl-1.0.1.dev0}/gbrl/src/cpp/utils.cpp +33 -1
- {gbrl-1.0.0.dev7 → gbrl-1.0.1.dev0}/gbrl/src/cpp/utils.h +21 -0
- gbrl-1.0.1.dev0/gbrl/src/cuda/CMakeLists.txt +35 -0
- {gbrl-1.0.0.dev7 → gbrl-1.0.1.dev0}/gbrl/src/cuda/cuda_fitter.cu +85 -148
- {gbrl-1.0.0.dev7 → gbrl-1.0.1.dev0}/gbrl/src/cuda/cuda_fitter.h +17 -13
- {gbrl-1.0.0.dev7 → gbrl-1.0.1.dev0}/gbrl/src/cuda/cuda_loss.cu +8 -0
- {gbrl-1.0.0.dev7 → gbrl-1.0.1.dev0}/gbrl/src/cuda/cuda_loss.h +10 -2
- {gbrl-1.0.0.dev7 → gbrl-1.0.1.dev0}/gbrl/src/cuda/cuda_predictor.cu +25 -18
- {gbrl-1.0.0.dev7 → gbrl-1.0.1.dev0}/gbrl/src/cuda/cuda_predictor.h +9 -1
- {gbrl-1.0.0.dev7 → gbrl-1.0.1.dev0}/gbrl/src/cuda/cuda_preprocess.cu +9 -6
- {gbrl-1.0.0.dev7 → gbrl-1.0.1.dev0}/gbrl/src/cuda/cuda_preprocess.h +8 -0
- {gbrl-1.0.0.dev7 → gbrl-1.0.1.dev0}/gbrl/src/cuda/cuda_types.cu +31 -10
- {gbrl-1.0.0.dev7 → gbrl-1.0.1.dev0}/gbrl/src/cuda/cuda_types.h +9 -0
- {gbrl-1.0.0.dev7 → gbrl-1.0.1.dev0}/gbrl/src/cuda/cuda_utils.cu +8 -0
- gbrl-1.0.1.dev0/gbrl/src/cuda/cuda_utils.h +24 -0
- gbrl-1.0.1.dev0/gbrl/utils.py +118 -0
- gbrl-1.0.1.dev0/gbrl.egg-info/PKG-INFO +97 -0
- {gbrl-1.0.0.dev7 → gbrl-1.0.1.dev0}/gbrl.egg-info/SOURCES.txt +9 -1
- gbrl-1.0.1.dev0/gbrl.egg-info/requires.txt +8 -0
- gbrl-1.0.1.dev0/gbrl.egg-info/top_level.txt +3 -0
- {gbrl-1.0.0.dev7 → gbrl-1.0.1.dev0}/pyproject.toml +14 -7
- gbrl-1.0.1.dev0/setup.py +101 -0
- gbrl-1.0.1.dev0/tests/__init__.py +120 -0
- {gbrl-1.0.0.dev7 → gbrl-1.0.1.dev0}/tests/test_gbt_multi.py +50 -17
- {gbrl-1.0.0.dev7 → gbrl-1.0.1.dev0}/tests/test_gbt_single.py +65 -26
- gbrl-1.0.0.dev7/MANIFEST.in +0 -4
- gbrl-1.0.0.dev7/PKG-INFO +0 -121
- gbrl-1.0.0.dev7/README.md +0 -99
- gbrl-1.0.0.dev7/gbrl/src/cpp/config.h +0 -9
- gbrl-1.0.0.dev7/gbrl/src/cpp/loss.h +0 -13
- gbrl-1.0.0.dev7/gbrl/src/cpp/main.cpp +0 -362
- gbrl-1.0.0.dev7/gbrl/src/cuda/cuda_utils.h +0 -16
- gbrl-1.0.0.dev7/gbrl/utils.py +0 -60
- gbrl-1.0.0.dev7/gbrl.egg-info/PKG-INFO +0 -121
- gbrl-1.0.0.dev7/gbrl.egg-info/requires.txt +0 -6
- gbrl-1.0.0.dev7/gbrl.egg-info/top_level.txt +0 -1
- gbrl-1.0.0.dev7/setup.py +0 -264
- {gbrl-1.0.0.dev7 → gbrl-1.0.1.dev0}/gbrl.egg-info/dependency_links.txt +0 -0
- {gbrl-1.0.0.dev7 → gbrl-1.0.1.dev0}/setup.cfg +0 -0
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
##############################################################################
|
|
2
|
+
# Copyright (c) 2024, NVIDIA Corporation. All rights reserved.
|
|
3
|
+
#
|
|
4
|
+
# This work is made available under the Nvidia Source Code License-NC.
|
|
5
|
+
# To view a copy of this license, visit
|
|
6
|
+
# https://nvlabs.github.io/gbrl/license.html
|
|
7
|
+
#
|
|
8
|
+
##############################################################################
|
|
9
|
+
cmake_minimum_required(VERSION 3.18 FATAL_ERROR)
|
|
10
|
+
# Set project details
|
|
11
|
+
project(gbrl LANGUAGES C CXX VERSION 1.0.0)
|
|
12
|
+
# Set C++14
|
|
13
|
+
set(CMAKE_CXX_STANDARD 14)
|
|
14
|
+
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
15
|
+
# Default to release build type
|
|
16
|
+
if (NOT CMAKE_BUILD_TYPE)
|
|
17
|
+
set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build." FORCE)
|
|
18
|
+
endif()
|
|
19
|
+
|
|
20
|
+
if (POLICY CMP0148)
|
|
21
|
+
cmake_policy(SET CMP0148 NEW)
|
|
22
|
+
endif()
|
|
23
|
+
|
|
24
|
+
# Allow overriding Python paths
|
|
25
|
+
if (DEFINED PYTHON_EXECUTABLE)
|
|
26
|
+
set(Python3_EXECUTABLE ${PYTHON_EXECUTABLE} CACHE FILEPATH "Path to the Python executable")
|
|
27
|
+
endif()
|
|
28
|
+
|
|
29
|
+
if (DEFINED PYTHON_INCLUDE_DIR)
|
|
30
|
+
set(Python3_INCLUDE_DIR ${PYTHON_INCLUDE_DIR} CACHE FILEPATH "Path to the Python include directory")
|
|
31
|
+
endif()
|
|
32
|
+
|
|
33
|
+
if (DEFINED PYTHON_LIBRARY)
|
|
34
|
+
set(Python3_LIBRARY ${PYTHON_LIBRARY} CACHE FILEPATH "Path to the Python library")
|
|
35
|
+
endif()
|
|
36
|
+
|
|
37
|
+
# Find Python 3
|
|
38
|
+
find_package(Python3 COMPONENTS Interpreter Development REQUIRED)
|
|
39
|
+
|
|
40
|
+
#-- Options
|
|
41
|
+
include(CMakeDependentOption)
|
|
42
|
+
option(USE_CUDA "Build with GPU acceleration" OFF)
|
|
43
|
+
# Check for CUDA availability
|
|
44
|
+
if (USE_CUDA AND NOT APPLE)
|
|
45
|
+
find_package(CUDAToolkit QUIET HINTS $ENV{CONDA_PREFIX})
|
|
46
|
+
# 2. Fallback to system-wide CUDA if not found in Anaconda
|
|
47
|
+
if (NOT CUDAToolkit_FOUND)
|
|
48
|
+
find_package(CUDAToolkit QUIET)
|
|
49
|
+
endif()
|
|
50
|
+
if (CUDAToolkit_FOUND)
|
|
51
|
+
set(CUDA_VERSION "${CUDAToolkit_VERSION_MAJOR}${CUDAToolkit_VERSION_MINOR}")
|
|
52
|
+
# Ensure CUDA architectures are set before enabling CUDA language
|
|
53
|
+
set(CUDA_ARCHS "60" "61" "62" "70" "75")
|
|
54
|
+
|
|
55
|
+
if(${CUDA_VERSION} VERSION_GREATER_EQUAL "110")
|
|
56
|
+
list(APPEND CUDA_ARCHS "80")
|
|
57
|
+
endif()
|
|
58
|
+
if(${CUDA_VERSION} VERSION_GREATER_EQUAL "111")
|
|
59
|
+
list(APPEND CUDA_ARCHS "86")
|
|
60
|
+
endif()
|
|
61
|
+
if(${CUDA_VERSION} VERSION_GREATER_EQUAL "115")
|
|
62
|
+
list(APPEND CUDA_ARCHS "87")
|
|
63
|
+
endif()
|
|
64
|
+
if(${CUDA_VERSION} VERSION_GREATER_EQUAL "118")
|
|
65
|
+
list(APPEND CUDA_ARCHS "89")
|
|
66
|
+
list(APPEND CUDA_ARCHS "90")
|
|
67
|
+
endif()
|
|
68
|
+
list(POP_BACK CUDA_ARCHS CUDA_LAST_SUPPORTED_ARCH)
|
|
69
|
+
list(APPEND CUDA_ARCHS "${CUDA_LAST_SUPPORTED_ARCH}-virtual")
|
|
70
|
+
set(CMAKE_CUDA_ARCHITECTURES ${CUDA_ARCHS})
|
|
71
|
+
|
|
72
|
+
if(NOT DEFINED CMAKE_CUDA_HOST_COMPILER AND NOT DEFINED ENV{CUDAHOSTCXX})
|
|
73
|
+
set(CMAKE_CUDA_HOST_COMPILER ${CMAKE_CXX_COMPILER} CACHE FILEPATH
|
|
74
|
+
"The compiler executable to use when compiling host code for CUDA")
|
|
75
|
+
mark_as_advanced(CMAKE_CUDA_HOST_COMPILER)
|
|
76
|
+
message(STATUS "Configured CUDA host compiler: ${CMAKE_CUDA_HOST_COMPILER}")
|
|
77
|
+
endif()
|
|
78
|
+
if(NOT DEFINED CMAKE_CUDA_COMPILER)
|
|
79
|
+
if(DEFINED ENV{CUDACXX})
|
|
80
|
+
set(CMAKE_CUDA_COMPILER $ENV{CUDACXX} CACHE FILEPATH "CUDA Compiler")
|
|
81
|
+
message(STATUS "CMAKE_CUDA_COMPILER set to $ENV{CUDACXX} from environment.")
|
|
82
|
+
else()
|
|
83
|
+
message(STATUS "Setting CMAKE_CUDA_COMPILER to ${CUDAToolkit_NVCC_EXECUTABLE}")
|
|
84
|
+
set(CMAKE_CUDA_COMPILER "${CUDAToolkit_NVCC_EXECUTABLE}")
|
|
85
|
+
endif()
|
|
86
|
+
else()
|
|
87
|
+
message(STATUS "CMAKE_CUDA_COMPILER=${CMAKE_CUDA_COMPILER}")
|
|
88
|
+
endif()
|
|
89
|
+
# Validate the compiler before enabling CUDA
|
|
90
|
+
if (NOT EXISTS ${CMAKE_CUDA_COMPILER})
|
|
91
|
+
message(WARNING "CUDA toolkit found, but could not locate nvcc at ${CMAKE_CUDA_COMPILER}. Disabling GPU acceleration.")
|
|
92
|
+
set(USE_CUDA OFF)
|
|
93
|
+
endif()
|
|
94
|
+
if (USE_CUDA)
|
|
95
|
+
enable_language(CUDA)
|
|
96
|
+
if(${CUDA_VERSION} VERSION_LESS 11.0)
|
|
97
|
+
message(FATAL_ERROR "CUDA version must be at least 11.0!")
|
|
98
|
+
endif()
|
|
99
|
+
if(DEFINED GPU_COMPUTE_VER)
|
|
100
|
+
compute_cmake_cuda_archs("${GPU_COMPUTE_VER}")
|
|
101
|
+
endif()
|
|
102
|
+
endif()
|
|
103
|
+
else()
|
|
104
|
+
message(STATUS "CUDA not found, compiling for CPU only")
|
|
105
|
+
set(USE_CUDA OFF)
|
|
106
|
+
endif()
|
|
107
|
+
endif()
|
|
108
|
+
|
|
109
|
+
if(NOT USE_CUDA)
|
|
110
|
+
message(STATUS "Compiling for CPU only")
|
|
111
|
+
else()
|
|
112
|
+
message(STATUS "NVCC ${CUDAToolkit_VERSION} found, compiling for CPU and GPU")
|
|
113
|
+
endif()
|
|
114
|
+
# Find required packages
|
|
115
|
+
# Attempt to find pybind11 automatically with Anaconda
|
|
116
|
+
find_package(pybind11 CONFIG QUIET HINTS $ENV{CONDA_PREFIX})
|
|
117
|
+
# 2. Fallback to system-wide CUDA if not found in Anaconda
|
|
118
|
+
if (NOT pybind11)
|
|
119
|
+
find_package(pybind11 CONFIG QUIET)
|
|
120
|
+
endif()
|
|
121
|
+
# If pybind11 is not found, use Python to find it
|
|
122
|
+
if(NOT pybind11_FOUND)
|
|
123
|
+
message(STATUS "pybind11 not found automatically, attempting to locate with Python")
|
|
124
|
+
execute_process(
|
|
125
|
+
COMMAND ${Python3_EXECUTABLE} -c "import pybind11; print(pybind11.get_cmake_dir())"
|
|
126
|
+
OUTPUT_VARIABLE pybind11_DIR
|
|
127
|
+
OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
128
|
+
)
|
|
129
|
+
if(NOT EXISTS ${pybind11_DIR})
|
|
130
|
+
message(FATAL_ERROR "pybind11 not found, please install it using 'pip install pybind11'")
|
|
131
|
+
endif()
|
|
132
|
+
list(APPEND CMAKE_PREFIX_PATH ${pybind11_DIR})
|
|
133
|
+
find_package(pybind11 CONFIG REQUIRED)
|
|
134
|
+
endif()
|
|
135
|
+
|
|
136
|
+
find_path(GRAPHVIZ_INCLUDE_DIR NAMES graphviz/cgraph.h
|
|
137
|
+
HINTS ${_GRAPHVIZ_INCLUDE_DIR})
|
|
138
|
+
find_library(GRAPHVIZ_GVC_LIBRARY NAMES gvc
|
|
139
|
+
HINTS ${_GRAPHVIZ_LIBRARY_DIR})
|
|
140
|
+
find_library(GRAPHVIZ_CGRAPH_LIBRARY NAMES cgraph
|
|
141
|
+
HINTS ${_GRAPHVIZ_LIBRARY_DIR})
|
|
142
|
+
if(GRAPHVIZ_INCLUDE_DIR AND GRAPHVIZ_GVC_LIBRARY AND GRAPHVIZ_CGRAPH_LIBRARY)
|
|
143
|
+
set(GRAPHVIZ_FOUND TRUE)
|
|
144
|
+
else()
|
|
145
|
+
set(GRAPHVIZ_FOUND FALSE)
|
|
146
|
+
endif()
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
if(APPLE)
|
|
150
|
+
find_package(OpenMP)
|
|
151
|
+
if(NOT OpenMP_FOUND)
|
|
152
|
+
# Try again with extra path info; required for libomp 15+ from Homebrew
|
|
153
|
+
execute_process(COMMAND brew --prefix libomp
|
|
154
|
+
OUTPUT_VARIABLE HOMEBREW_LIBOMP_PREFIX
|
|
155
|
+
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
156
|
+
set(OpenMP_C_FLAGS
|
|
157
|
+
"-Xpreprocessor -fopenmp -I${HOMEBREW_LIBOMP_PREFIX}/include")
|
|
158
|
+
set(OpenMP_CXX_FLAGS
|
|
159
|
+
"-Xpreprocessor -fopenmp -I${HOMEBREW_LIBOMP_PREFIX}/include")
|
|
160
|
+
set(OpenMP_C_LIB_NAMES omp)
|
|
161
|
+
set(OpenMP_CXX_LIB_NAMES omp)
|
|
162
|
+
set(OpenMP_omp_LIBRARY ${HOMEBREW_LIBOMP_PREFIX}/lib/libomp.dylib)
|
|
163
|
+
find_package(OpenMP REQUIRED)
|
|
164
|
+
endif()
|
|
165
|
+
else()
|
|
166
|
+
find_package(OpenMP REQUIRED)
|
|
167
|
+
set(OpenMP_CXX_FLAGS ${OpenMP_CXX_FLAGS})
|
|
168
|
+
set(OpenMP_CXX_LIB_NAMES ${OpenMP_CXX_LIB_NAMES})
|
|
169
|
+
set(OpenMP_omp_LIBRARY ${OpenMP_omp_LIBRARY})
|
|
170
|
+
endif()
|
|
171
|
+
|
|
172
|
+
# Ensure OpenMP flags and directories are applied
|
|
173
|
+
if (OpenMP_FOUND)
|
|
174
|
+
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
|
|
175
|
+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
|
|
176
|
+
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}")
|
|
177
|
+
endif()
|
|
178
|
+
|
|
179
|
+
# Add subdirectories for cpp and cuda
|
|
180
|
+
add_subdirectory(gbrl/src/cpp)
|
|
181
|
+
|
|
182
|
+
if (USE_CUDA AND NOT APPLE)
|
|
183
|
+
set(CMAKE_CUDA_STANDARD 14)
|
|
184
|
+
include_directories(${CUDAToolkit_INCLUDE_DIRS} ${CMAKE_SOURCE_DIR}/gbrl/src/cuda)
|
|
185
|
+
add_definitions(-DUSE_CUDA)
|
|
186
|
+
add_subdirectory(gbrl/src/cuda)
|
|
187
|
+
set(CUDA_SOURCES $<TARGET_OBJECTS:cuda_gbrl_src>)
|
|
188
|
+
|
|
189
|
+
else()
|
|
190
|
+
set(CUDA_SOURCES "")
|
|
191
|
+
endif()
|
|
192
|
+
|
|
193
|
+
# Only include pybind11 in the binding file
|
|
194
|
+
set(PYBIND_SOURCES
|
|
195
|
+
gbrl/src/cpp/gbrl_binding.cpp
|
|
196
|
+
)
|
|
197
|
+
|
|
198
|
+
pybind11_add_module(gbrl_cpp MODULE ${PYBIND_SOURCES})
|
|
199
|
+
target_include_directories(gbrl_cpp PRIVATE ${Python3_INCLUDE_DIRS} ${pybind11_INCLUDE_DIRS} ${CMAKE_SOURCE_DIR}/gbrl/src/cpp)
|
|
200
|
+
target_compile_definitions(gbrl_cpp PRIVATE MODULE_NAME="gbrl_cpp")
|
|
201
|
+
target_link_libraries(gbrl_cpp PRIVATE ${Python3_LIBRARIES})
|
|
202
|
+
target_link_libraries(gbrl_cpp PRIVATE gbrl_cpp_src)
|
|
203
|
+
|
|
204
|
+
if (USE_CUDA)
|
|
205
|
+
target_link_libraries(gbrl_cpp PRIVATE cuda_gbrl_src)
|
|
206
|
+
endif()
|
|
207
|
+
# Platform-specific settings and linking
|
|
208
|
+
if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|
209
|
+
|
|
210
|
+
target_link_libraries(gbrl_cpp PRIVATE OpenMP::OpenMP_CXX)
|
|
211
|
+
if (USE_CUDA)
|
|
212
|
+
target_link_libraries(gbrl_cpp PRIVATE CUDA::cudart)
|
|
213
|
+
endif()
|
|
214
|
+
elseif (CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
|
215
|
+
find_package(LLVM REQUIRED)
|
|
216
|
+
include_directories(${LLVM_INCLUDE_DIRS})
|
|
217
|
+
link_directories(${LLVM_LIBRARY_DIRS})
|
|
218
|
+
target_link_libraries(gbrl_cpp PRIVATE ${LLVM_LIBRARIES} OpenMP::OpenMP_CXX)
|
|
219
|
+
elseif (WIN32)
|
|
220
|
+
target_link_libraries(gbrl_cpp PRIVATE OpenMP::OpenMP_CXX)
|
|
221
|
+
if (USE_CUDA)
|
|
222
|
+
set(cuda_lib_path "${CUDAToolkit_ROOT_DIR}/lib/x64")
|
|
223
|
+
message(STATUS "cuda_lib_path: ${cuda_lib_path}")
|
|
224
|
+
target_link_libraries(gbrl_cpp PRIVATE CUDA::cudart)
|
|
225
|
+
endif()
|
|
226
|
+
endif()
|
|
227
|
+
|
|
228
|
+
# Link Graphviz libraries if available
|
|
229
|
+
if (GRAPHVIZ_FOUND)
|
|
230
|
+
if (CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
|
231
|
+
# target_link_libraries(gbrl_cpp PRIVATE gvc cgraph)
|
|
232
|
+
target_link_libraries(gbrl_cpp PRIVATE ${GRAPHVIZ_GVC_LIBRARY} ${GRAPHVIZ_CGRAPH_LIBRARY})
|
|
233
|
+
elseif (WIN32)
|
|
234
|
+
target_link_libraries(gbrl_cpp PRIVATE gvc.lib cgraph.lib)
|
|
235
|
+
endif()
|
|
236
|
+
endif()
|
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
GBRL uses the following third-party libraries:
|
|
2
|
+
|
|
3
|
+
1. NumPy
|
|
4
|
+
- Repository: https://github.com/numpy/numpy
|
|
5
|
+
- License:
|
|
6
|
+
Copyright (c) 2005-2024, NumPy Developers.
|
|
7
|
+
All rights reserved.
|
|
8
|
+
|
|
9
|
+
Redistribution and use in source and binary forms, with or without
|
|
10
|
+
modification, are permitted provided that the following conditions are
|
|
11
|
+
met:
|
|
12
|
+
|
|
13
|
+
* Redistributions of source code must retain the above copyright
|
|
14
|
+
notice, this list of conditions and the following disclaimer.
|
|
15
|
+
|
|
16
|
+
* Redistributions in binary form must reproduce the above
|
|
17
|
+
copyright notice, this list of conditions and the following
|
|
18
|
+
disclaimer in the documentation and/or other materials provided
|
|
19
|
+
with the distribution.
|
|
20
|
+
|
|
21
|
+
* Neither the name of the NumPy Developers nor the names of any
|
|
22
|
+
contributors may be used to endorse or promote products derived
|
|
23
|
+
from this software without specific prior written permission.
|
|
24
|
+
|
|
25
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
26
|
+
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
27
|
+
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
28
|
+
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
29
|
+
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
30
|
+
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
31
|
+
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
32
|
+
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
33
|
+
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
34
|
+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
35
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
36
|
+
|
|
37
|
+
2. PyTorch
|
|
38
|
+
- Repository: https://github.com/pytorch/pytorch
|
|
39
|
+
- License:
|
|
40
|
+
From PyTorch:
|
|
41
|
+
|
|
42
|
+
Copyright (c) 2016- Facebook, Inc (Adam Paszke)
|
|
43
|
+
Copyright (c) 2014- Facebook, Inc (Soumith Chintala)
|
|
44
|
+
Copyright (c) 2011-2014 Idiap Research Institute (Ronan Collobert)
|
|
45
|
+
Copyright (c) 2012-2014 Deepmind Technologies (Koray Kavukcuoglu)
|
|
46
|
+
Copyright (c) 2011-2012 NEC Laboratories America (Koray Kavukcuoglu)
|
|
47
|
+
Copyright (c) 2011-2013 NYU (Clement Farabet)
|
|
48
|
+
Copyright (c) 2006-2010 NEC Laboratories America (Ronan Collobert, Leon Bottou, Iain Melvin, Jason Weston)
|
|
49
|
+
Copyright (c) 2006 Idiap Research Institute (Samy Bengio)
|
|
50
|
+
Copyright (c) 2001-2004 Idiap Research Institute (Ronan Collobert, Samy Bengio, Johnny Mariethoz)
|
|
51
|
+
|
|
52
|
+
From Caffe2:
|
|
53
|
+
|
|
54
|
+
Copyright (c) 2016-present, Facebook Inc. All rights reserved.
|
|
55
|
+
|
|
56
|
+
All contributions by Facebook:
|
|
57
|
+
Copyright (c) 2016 Facebook Inc.
|
|
58
|
+
|
|
59
|
+
All contributions by Google:
|
|
60
|
+
Copyright (c) 2015 Google Inc.
|
|
61
|
+
All rights reserved.
|
|
62
|
+
|
|
63
|
+
All contributions by Yangqing Jia:
|
|
64
|
+
Copyright (c) 2015 Yangqing Jia
|
|
65
|
+
All rights reserved.
|
|
66
|
+
|
|
67
|
+
All contributions by Kakao Brain:
|
|
68
|
+
Copyright 2019-2020 Kakao Brain
|
|
69
|
+
|
|
70
|
+
All contributions by Cruise LLC:
|
|
71
|
+
Copyright (c) 2022 Cruise LLC.
|
|
72
|
+
All rights reserved.
|
|
73
|
+
|
|
74
|
+
All contributions from Caffe:
|
|
75
|
+
Copyright(c) 2013, 2014, 2015, the respective contributors
|
|
76
|
+
All rights reserved.
|
|
77
|
+
|
|
78
|
+
All other contributions:
|
|
79
|
+
Copyright(c) 2015, 2016 the respective contributors
|
|
80
|
+
All rights reserved.
|
|
81
|
+
|
|
82
|
+
Caffe2 uses a copyright model similar to Caffe: each contributor holds
|
|
83
|
+
copyright over their contributions to Caffe2. The project versioning records
|
|
84
|
+
all such contribution and copyright details. If a contributor wants to further
|
|
85
|
+
mark their specific copyright on a particular contribution, they should
|
|
86
|
+
indicate their copyright solely in the commit message of the change when it is
|
|
87
|
+
committed.
|
|
88
|
+
|
|
89
|
+
All rights reserved.
|
|
90
|
+
|
|
91
|
+
Redistribution and use in source and binary forms, with or without
|
|
92
|
+
modification, are permitted provided that the following conditions are met:
|
|
93
|
+
|
|
94
|
+
1. Redistributions of source code must retain the above copyright
|
|
95
|
+
notice, this list of conditions and the following disclaimer.
|
|
96
|
+
|
|
97
|
+
2. Redistributions in binary form must reproduce the above copyright
|
|
98
|
+
notice, this list of conditions and the following disclaimer in the
|
|
99
|
+
documentation and/or other materials provided with the distribution.
|
|
100
|
+
|
|
101
|
+
3. Neither the names of Facebook, Deepmind Technologies, NYU, NEC Laboratories America
|
|
102
|
+
and IDIAP Research Institute nor the names of its contributors may be
|
|
103
|
+
used to endorse or promote products derived from this software without
|
|
104
|
+
specific prior written permission.
|
|
105
|
+
|
|
106
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
107
|
+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
108
|
+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
109
|
+
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
|
110
|
+
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
111
|
+
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
112
|
+
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
113
|
+
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
114
|
+
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
115
|
+
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
116
|
+
POSSIBILITY OF SUCH DAMAGE.
|
|
117
|
+
|
|
118
|
+
3. pybind11
|
|
119
|
+
- Repository: https://github.com/pybind/pybind11
|
|
120
|
+
- License:
|
|
121
|
+
Copyright (c) 2016 Wenzel Jakob <wenzel.jakob@epfl.ch>, All rights reserved.
|
|
122
|
+
|
|
123
|
+
Redistribution and use in source and binary forms, with or without
|
|
124
|
+
modification, are permitted provided that the following conditions are met:
|
|
125
|
+
|
|
126
|
+
1. Redistributions of source code must retain the above copyright notice, this
|
|
127
|
+
list of conditions and the following disclaimer.
|
|
128
|
+
|
|
129
|
+
2. Redistributions in binary form must reproduce the above copyright notice,
|
|
130
|
+
this list of conditions and the following disclaimer in the documentation
|
|
131
|
+
and/or other materials provided with the distribution.
|
|
132
|
+
|
|
133
|
+
3. Neither the name of the copyright holder nor the names of its contributors
|
|
134
|
+
may be used to endorse or promote products derived from this software
|
|
135
|
+
without specific prior written permission.
|
|
136
|
+
|
|
137
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
138
|
+
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
139
|
+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
140
|
+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
141
|
+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
142
|
+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
143
|
+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
144
|
+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
145
|
+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
146
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
147
|
+
|
|
148
|
+
Please also refer to the file .github/CONTRIBUTING.md, which clarifies licensing of
|
|
149
|
+
external contributions to this project including patches, pull requests, etc.
|
|
150
|
+
|
|
151
|
+
4. scikit-learn
|
|
152
|
+
- Repository: https://github.com/scikit-learn/scikit-learn
|
|
153
|
+
- License:
|
|
154
|
+
BSD 3-Clause License
|
|
155
|
+
|
|
156
|
+
Copyright (c) 2007-2024 The scikit-learn developers.
|
|
157
|
+
All rights reserved.
|
|
158
|
+
|
|
159
|
+
Redistribution and use in source and binary forms, with or without
|
|
160
|
+
modification, are permitted provided that the following conditions are met:
|
|
161
|
+
|
|
162
|
+
* Redistributions of source code must retain the above copyright notice, this
|
|
163
|
+
list of conditions and the following disclaimer.
|
|
164
|
+
|
|
165
|
+
* Redistributions in binary form must reproduce the above copyright notice,
|
|
166
|
+
this list of conditions and the following disclaimer in the documentation
|
|
167
|
+
and/or other materials provided with the distribution.
|
|
168
|
+
|
|
169
|
+
* Neither the name of the copyright holder nor the names of its
|
|
170
|
+
contributors may be used to endorse or promote products derived from
|
|
171
|
+
this software without specific prior written permission.
|
|
172
|
+
|
|
173
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
174
|
+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
175
|
+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
176
|
+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
177
|
+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
178
|
+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
179
|
+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
180
|
+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
181
|
+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
182
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
5. scipy
|
|
186
|
+
- Repository: https://github.com/scipy/scipy
|
|
187
|
+
- License:
|
|
188
|
+
Copyright (c) 2001-2002 Enthought, Inc. 2003-2024, SciPy Developers.
|
|
189
|
+
All rights reserved.
|
|
190
|
+
|
|
191
|
+
Redistribution and use in source and binary forms, with or without
|
|
192
|
+
modification, are permitted provided that the following conditions
|
|
193
|
+
are met:
|
|
194
|
+
|
|
195
|
+
1. Redistributions of source code must retain the above copyright
|
|
196
|
+
notice, this list of conditions and the following disclaimer.
|
|
197
|
+
|
|
198
|
+
2. Redistributions in binary form must reproduce the above
|
|
199
|
+
copyright notice, this list of conditions and the following
|
|
200
|
+
disclaimer in the documentation and/or other materials provided
|
|
201
|
+
with the distribution.
|
|
202
|
+
|
|
203
|
+
3. Neither the name of the copyright holder nor the names of its
|
|
204
|
+
contributors may be used to endorse or promote products derived
|
|
205
|
+
from this software without specific prior written permission.
|
|
206
|
+
|
|
207
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
208
|
+
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
209
|
+
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
210
|
+
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
211
|
+
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
212
|
+
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
213
|
+
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
214
|
+
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
215
|
+
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
216
|
+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
217
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
218
|
+
|
|
219
|
+
6. shap
|
|
220
|
+
- Repository: https://github.com/shap/shap
|
|
221
|
+
- License:
|
|
222
|
+
The MIT License (MIT)
|
|
223
|
+
|
|
224
|
+
Copyright (c) 2018 Scott Lundberg
|
|
225
|
+
|
|
226
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
227
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
228
|
+
in the Software without restriction, including without limitation the rights
|
|
229
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
230
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
231
|
+
furnished to do so, subject to the following conditions:
|
|
232
|
+
|
|
233
|
+
The above copyright notice and this permission notice shall be included in all
|
|
234
|
+
copies or substantial portions of the Software.
|
|
235
|
+
|
|
236
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
237
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
238
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
239
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
240
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
241
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
242
|
+
SOFTWARE.
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
7. matplotlib
|
|
246
|
+
- Repository: https://github.com/matplotlib/matplotlib
|
|
247
|
+
- License:
|
|
248
|
+
License agreement for matplotlib versions 1.3.0 and later
|
|
249
|
+
=========================================================
|
|
250
|
+
|
|
251
|
+
1. This LICENSE AGREEMENT is between the Matplotlib Development Team
|
|
252
|
+
("MDT"), and the Individual or Organization ("Licensee") accessing and
|
|
253
|
+
otherwise using matplotlib software in source or binary form and its
|
|
254
|
+
associated documentation.
|
|
255
|
+
|
|
256
|
+
2. Subject to the terms and conditions of this License Agreement, MDT
|
|
257
|
+
hereby grants Licensee a nonexclusive, royalty-free, world-wide license
|
|
258
|
+
to reproduce, analyze, test, perform and/or display publicly, prepare
|
|
259
|
+
derivative works, distribute, and otherwise use matplotlib
|
|
260
|
+
alone or in any derivative version, provided, however, that MDT's
|
|
261
|
+
License Agreement and MDT's notice of copyright, i.e., "Copyright (c)
|
|
262
|
+
2012- Matplotlib Development Team; All Rights Reserved" are retained in
|
|
263
|
+
matplotlib alone or in any derivative version prepared by
|
|
264
|
+
Licensee.
|
|
265
|
+
|
|
266
|
+
3. In the event Licensee prepares a derivative work that is based on or
|
|
267
|
+
incorporates matplotlib or any part thereof, and wants to
|
|
268
|
+
make the derivative work available to others as provided herein, then
|
|
269
|
+
Licensee hereby agrees to include in any such work a brief summary of
|
|
270
|
+
the changes made to matplotlib .
|
|
271
|
+
|
|
272
|
+
4. MDT is making matplotlib available to Licensee on an "AS
|
|
273
|
+
IS" basis. MDT MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
|
|
274
|
+
IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, MDT MAKES NO AND
|
|
275
|
+
DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
|
|
276
|
+
FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF MATPLOTLIB
|
|
277
|
+
WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.
|
|
278
|
+
|
|
279
|
+
5. MDT SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF MATPLOTLIB
|
|
280
|
+
FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR
|
|
281
|
+
LOSS AS A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING
|
|
282
|
+
MATPLOTLIB , OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF
|
|
283
|
+
THE POSSIBILITY THEREOF.
|
|
284
|
+
|
|
285
|
+
6. This License Agreement will automatically terminate upon a material
|
|
286
|
+
breach of its terms and conditions.
|
|
287
|
+
|
|
288
|
+
7. Nothing in this License Agreement shall be deemed to create any
|
|
289
|
+
relationship of agency, partnership, or joint venture between MDT and
|
|
290
|
+
Licensee. This License Agreement does not grant permission to use MDT
|
|
291
|
+
trademarks or trade name in a trademark sense to endorse or promote
|
|
292
|
+
products or services of Licensee, or any third party.
|
|
293
|
+
|
|
294
|
+
8. By copying, installing or otherwise using matplotlib ,
|
|
295
|
+
Licensee agrees to be bound by the terms and conditions of this License
|
|
296
|
+
Agreement.
|
|
297
|
+
|
|
298
|
+
License agreement for matplotlib versions prior to 1.3.0
|
|
299
|
+
========================================================
|
|
300
|
+
|
|
301
|
+
1. This LICENSE AGREEMENT is between John D. Hunter ("JDH"), and the
|
|
302
|
+
Individual or Organization ("Licensee") accessing and otherwise using
|
|
303
|
+
matplotlib software in source or binary form and its associated
|
|
304
|
+
documentation.
|
|
305
|
+
|
|
306
|
+
2. Subject to the terms and conditions of this License Agreement, JDH
|
|
307
|
+
hereby grants Licensee a nonexclusive, royalty-free, world-wide license
|
|
308
|
+
to reproduce, analyze, test, perform and/or display publicly, prepare
|
|
309
|
+
derivative works, distribute, and otherwise use matplotlib
|
|
310
|
+
alone or in any derivative version, provided, however, that JDH's
|
|
311
|
+
License Agreement and JDH's notice of copyright, i.e., "Copyright (c)
|
|
312
|
+
2002-2011 John D. Hunter; All Rights Reserved" are retained in
|
|
313
|
+
matplotlib alone or in any derivative version prepared by
|
|
314
|
+
Licensee.
|
|
315
|
+
|
|
316
|
+
3. In the event Licensee prepares a derivative work that is based on or
|
|
317
|
+
incorporates matplotlib or any part thereof, and wants to
|
|
318
|
+
make the derivative work available to others as provided herein, then
|
|
319
|
+
Licensee hereby agrees to include in any such work a brief summary of
|
|
320
|
+
the changes made to matplotlib.
|
|
321
|
+
|
|
322
|
+
4. JDH is making matplotlib available to Licensee on an "AS
|
|
323
|
+
IS" basis. JDH MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
|
|
324
|
+
IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, JDH MAKES NO AND
|
|
325
|
+
DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
|
|
326
|
+
FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF MATPLOTLIB
|
|
327
|
+
WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.
|
|
328
|
+
|
|
329
|
+
5. JDH SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF MATPLOTLIB
|
|
330
|
+
FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR
|
|
331
|
+
LOSS AS A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING
|
|
332
|
+
MATPLOTLIB , OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF
|
|
333
|
+
THE POSSIBILITY THEREOF.
|
|
334
|
+
|
|
335
|
+
6. This License Agreement will automatically terminate upon a material
|
|
336
|
+
breach of its terms and conditions.
|
|
337
|
+
|
|
338
|
+
7. Nothing in this License Agreement shall be deemed to create any
|
|
339
|
+
relationship of agency, partnership, or joint venture between JDH and
|
|
340
|
+
Licensee. This License Agreement does not grant permission to use JDH
|
|
341
|
+
trademarks or trade name in a trademark sense to endorse or promote
|
|
342
|
+
products or services of Licensee, or any third party.
|
|
343
|
+
|
|
344
|
+
8. By copying, installing or otherwise using matplotlib,
|
|
345
|
+
Licensee agrees to be bound by the terms and conditions of this License
|
|
346
|
+
Agreement.
|
|
347
|
+
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
include gbrl/src/cuda/*.cu
|
|
2
|
+
include gbrl/src/cuda/*.h
|
|
3
|
+
include gbrl/src/cuda/CMakeLists.txt
|
|
4
|
+
include gbrl/src/cpp/*.cpp
|
|
5
|
+
include gbrl/src/cpp/*.h
|
|
6
|
+
include gbrl/src/cpp/CMakeLists.txt
|
|
7
|
+
include README.md
|
|
8
|
+
include LICENSE
|
|
9
|
+
include LICENSES.txt
|
|
10
|
+
include CMakeLists.txt
|