xgb-diffusion 0.1.0__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.
Files changed (554) hide show
  1. xgb_diffusion-0.1.0/PKG-INFO +33 -0
  2. xgb_diffusion-0.1.0/README.rst +12 -0
  3. xgb_diffusion-0.1.0/cpp_src/CMakeLists.txt +528 -0
  4. xgb_diffusion-0.1.0/cpp_src/LICENSE +201 -0
  5. xgb_diffusion-0.1.0/cpp_src/cmake/Doc.cmake +17 -0
  6. xgb_diffusion-0.1.0/cpp_src/cmake/FindOpenMPMacOS.cmake +124 -0
  7. xgb_diffusion-0.1.0/cpp_src/cmake/PrefetchIntrinsics.cmake +22 -0
  8. xgb_diffusion-0.1.0/cpp_src/cmake/RPackageInstall.cmake.in +34 -0
  9. xgb_diffusion-0.1.0/cpp_src/cmake/RPackageInstallTargetSetup.cmake +16 -0
  10. xgb_diffusion-0.1.0/cpp_src/cmake/Sanitizer.cmake +62 -0
  11. xgb_diffusion-0.1.0/cpp_src/cmake/Utils.cmake +357 -0
  12. xgb_diffusion-0.1.0/cpp_src/cmake/Version.cmake +8 -0
  13. xgb_diffusion-0.1.0/cpp_src/cmake/modules/FindASan.cmake +13 -0
  14. xgb_diffusion-0.1.0/cpp_src/cmake/modules/FindLSan.cmake +13 -0
  15. xgb_diffusion-0.1.0/cpp_src/cmake/modules/FindLibR.cmake +196 -0
  16. xgb_diffusion-0.1.0/cpp_src/cmake/modules/FindNVML.cmake +23 -0
  17. xgb_diffusion-0.1.0/cpp_src/cmake/modules/FindNccl.cmake +77 -0
  18. xgb_diffusion-0.1.0/cpp_src/cmake/modules/FindTSan.cmake +13 -0
  19. xgb_diffusion-0.1.0/cpp_src/cmake/modules/FindUBSan.cmake +13 -0
  20. xgb_diffusion-0.1.0/cpp_src/cmake/version_config.h.in +11 -0
  21. xgb_diffusion-0.1.0/cpp_src/cmake/xgboost-config.cmake.in +26 -0
  22. xgb_diffusion-0.1.0/cpp_src/cmake/xgboost.pc.in +12 -0
  23. xgb_diffusion-0.1.0/cpp_src/dmlc-core/CMakeLists.txt +266 -0
  24. xgb_diffusion-0.1.0/cpp_src/dmlc-core/LICENSE +201 -0
  25. xgb_diffusion-0.1.0/cpp_src/dmlc-core/Makefile +95 -0
  26. xgb_diffusion-0.1.0/cpp_src/dmlc-core/cmake/FindOpenMPMacOS.cmake +124 -0
  27. xgb_diffusion-0.1.0/cpp_src/dmlc-core/cmake/Modules/FindASan.cmake +13 -0
  28. xgb_diffusion-0.1.0/cpp_src/dmlc-core/cmake/Modules/FindHDFS.cmake +72 -0
  29. xgb_diffusion-0.1.0/cpp_src/dmlc-core/cmake/Modules/FindLSan.cmake +13 -0
  30. xgb_diffusion-0.1.0/cpp_src/dmlc-core/cmake/Modules/FindTSan.cmake +13 -0
  31. xgb_diffusion-0.1.0/cpp_src/dmlc-core/cmake/Modules/FindUBSan.cmake +13 -0
  32. xgb_diffusion-0.1.0/cpp_src/dmlc-core/cmake/Sanitizer.cmake +71 -0
  33. xgb_diffusion-0.1.0/cpp_src/dmlc-core/cmake/Utils.cmake +381 -0
  34. xgb_diffusion-0.1.0/cpp_src/dmlc-core/cmake/build_config.h.in +31 -0
  35. xgb_diffusion-0.1.0/cpp_src/dmlc-core/cmake/dmlc-config.cmake.in +5 -0
  36. xgb_diffusion-0.1.0/cpp_src/dmlc-core/cmake/lint.cmake +21 -0
  37. xgb_diffusion-0.1.0/cpp_src/dmlc-core/include/dmlc/any.h +422 -0
  38. xgb_diffusion-0.1.0/cpp_src/dmlc-core/include/dmlc/array_view.h +131 -0
  39. xgb_diffusion-0.1.0/cpp_src/dmlc-core/include/dmlc/base.h +341 -0
  40. xgb_diffusion-0.1.0/cpp_src/dmlc-core/include/dmlc/blockingconcurrentqueue.h +942 -0
  41. xgb_diffusion-0.1.0/cpp_src/dmlc-core/include/dmlc/build_config_default.h +44 -0
  42. xgb_diffusion-0.1.0/cpp_src/dmlc-core/include/dmlc/common.h +95 -0
  43. xgb_diffusion-0.1.0/cpp_src/dmlc-core/include/dmlc/concurrency.h +259 -0
  44. xgb_diffusion-0.1.0/cpp_src/dmlc-core/include/dmlc/concurrentqueue.h +3896 -0
  45. xgb_diffusion-0.1.0/cpp_src/dmlc-core/include/dmlc/config.h +192 -0
  46. xgb_diffusion-0.1.0/cpp_src/dmlc-core/include/dmlc/data.h +397 -0
  47. xgb_diffusion-0.1.0/cpp_src/dmlc-core/include/dmlc/endian.h +65 -0
  48. xgb_diffusion-0.1.0/cpp_src/dmlc-core/include/dmlc/filesystem.h +156 -0
  49. xgb_diffusion-0.1.0/cpp_src/dmlc-core/include/dmlc/input_split_shuffle.h +159 -0
  50. xgb_diffusion-0.1.0/cpp_src/dmlc-core/include/dmlc/io.h +630 -0
  51. xgb_diffusion-0.1.0/cpp_src/dmlc-core/include/dmlc/json.h +995 -0
  52. xgb_diffusion-0.1.0/cpp_src/dmlc-core/include/dmlc/logging.h +511 -0
  53. xgb_diffusion-0.1.0/cpp_src/dmlc-core/include/dmlc/lua.h +723 -0
  54. xgb_diffusion-0.1.0/cpp_src/dmlc-core/include/dmlc/memory.h +263 -0
  55. xgb_diffusion-0.1.0/cpp_src/dmlc-core/include/dmlc/memory_io.h +114 -0
  56. xgb_diffusion-0.1.0/cpp_src/dmlc-core/include/dmlc/omp.h +60 -0
  57. xgb_diffusion-0.1.0/cpp_src/dmlc-core/include/dmlc/optional.h +420 -0
  58. xgb_diffusion-0.1.0/cpp_src/dmlc-core/include/dmlc/parameter.h +1140 -0
  59. xgb_diffusion-0.1.0/cpp_src/dmlc-core/include/dmlc/recordio.h +194 -0
  60. xgb_diffusion-0.1.0/cpp_src/dmlc-core/include/dmlc/registry.h +310 -0
  61. xgb_diffusion-0.1.0/cpp_src/dmlc-core/include/dmlc/serializer.h +376 -0
  62. xgb_diffusion-0.1.0/cpp_src/dmlc-core/include/dmlc/strtonum.h +775 -0
  63. xgb_diffusion-0.1.0/cpp_src/dmlc-core/include/dmlc/thread_group.h +793 -0
  64. xgb_diffusion-0.1.0/cpp_src/dmlc-core/include/dmlc/thread_local.h +86 -0
  65. xgb_diffusion-0.1.0/cpp_src/dmlc-core/include/dmlc/threadediter.h +512 -0
  66. xgb_diffusion-0.1.0/cpp_src/dmlc-core/include/dmlc/timer.h +49 -0
  67. xgb_diffusion-0.1.0/cpp_src/dmlc-core/include/dmlc/type_traits.h +190 -0
  68. xgb_diffusion-0.1.0/cpp_src/dmlc-core/make/config.mk +53 -0
  69. xgb_diffusion-0.1.0/cpp_src/dmlc-core/make/dmlc.mk +95 -0
  70. xgb_diffusion-0.1.0/cpp_src/dmlc-core/scripts/conda_env.yml +11 -0
  71. xgb_diffusion-0.1.0/cpp_src/dmlc-core/scripts/s390x/Dockerfile +27 -0
  72. xgb_diffusion-0.1.0/cpp_src/dmlc-core/scripts/s390x/build_via_cmake.sh +9 -0
  73. xgb_diffusion-0.1.0/cpp_src/dmlc-core/scripts/s390x/ci_build.sh +85 -0
  74. xgb_diffusion-0.1.0/cpp_src/dmlc-core/scripts/s390x/entrypoint.sh +43 -0
  75. xgb_diffusion-0.1.0/cpp_src/dmlc-core/scripts/test_script.sh +39 -0
  76. xgb_diffusion-0.1.0/cpp_src/dmlc-core/src/config.cc +283 -0
  77. xgb_diffusion-0.1.0/cpp_src/dmlc-core/src/data/basic_row_iter.h +82 -0
  78. xgb_diffusion-0.1.0/cpp_src/dmlc-core/src/data/csv_parser.h +152 -0
  79. xgb_diffusion-0.1.0/cpp_src/dmlc-core/src/data/disk_row_iter.h +141 -0
  80. xgb_diffusion-0.1.0/cpp_src/dmlc-core/src/data/libfm_parser.h +148 -0
  81. xgb_diffusion-0.1.0/cpp_src/dmlc-core/src/data/libsvm_parser.h +176 -0
  82. xgb_diffusion-0.1.0/cpp_src/dmlc-core/src/data/parquet_parser.h +181 -0
  83. xgb_diffusion-0.1.0/cpp_src/dmlc-core/src/data/parser.h +141 -0
  84. xgb_diffusion-0.1.0/cpp_src/dmlc-core/src/data/row_block.h +219 -0
  85. xgb_diffusion-0.1.0/cpp_src/dmlc-core/src/data/text_parser.h +159 -0
  86. xgb_diffusion-0.1.0/cpp_src/dmlc-core/src/data.cc +229 -0
  87. xgb_diffusion-0.1.0/cpp_src/dmlc-core/src/io/azure_filesys.cc +86 -0
  88. xgb_diffusion-0.1.0/cpp_src/dmlc-core/src/io/azure_filesys.h +60 -0
  89. xgb_diffusion-0.1.0/cpp_src/dmlc-core/src/io/cached_input_split.h +207 -0
  90. xgb_diffusion-0.1.0/cpp_src/dmlc-core/src/io/filesys.cc +60 -0
  91. xgb_diffusion-0.1.0/cpp_src/dmlc-core/src/io/hdfs_filesys.cc +210 -0
  92. xgb_diffusion-0.1.0/cpp_src/dmlc-core/src/io/hdfs_filesys.h +80 -0
  93. xgb_diffusion-0.1.0/cpp_src/dmlc-core/src/io/indexed_recordio_split.cc +245 -0
  94. xgb_diffusion-0.1.0/cpp_src/dmlc-core/src/io/indexed_recordio_split.h +86 -0
  95. xgb_diffusion-0.1.0/cpp_src/dmlc-core/src/io/input_split_base.cc +325 -0
  96. xgb_diffusion-0.1.0/cpp_src/dmlc-core/src/io/input_split_base.h +195 -0
  97. xgb_diffusion-0.1.0/cpp_src/dmlc-core/src/io/line_split.cc +75 -0
  98. xgb_diffusion-0.1.0/cpp_src/dmlc-core/src/io/line_split.h +40 -0
  99. xgb_diffusion-0.1.0/cpp_src/dmlc-core/src/io/local_filesys.cc +232 -0
  100. xgb_diffusion-0.1.0/cpp_src/dmlc-core/src/io/local_filesys.h +63 -0
  101. xgb_diffusion-0.1.0/cpp_src/dmlc-core/src/io/recordio_split.cc +90 -0
  102. xgb_diffusion-0.1.0/cpp_src/dmlc-core/src/io/recordio_split.h +42 -0
  103. xgb_diffusion-0.1.0/cpp_src/dmlc-core/src/io/s3_filesys.cc +1282 -0
  104. xgb_diffusion-0.1.0/cpp_src/dmlc-core/src/io/s3_filesys.h +103 -0
  105. xgb_diffusion-0.1.0/cpp_src/dmlc-core/src/io/single_file_split.h +201 -0
  106. xgb_diffusion-0.1.0/cpp_src/dmlc-core/src/io/single_threaded_input_split.h +98 -0
  107. xgb_diffusion-0.1.0/cpp_src/dmlc-core/src/io/threaded_input_split.h +117 -0
  108. xgb_diffusion-0.1.0/cpp_src/dmlc-core/src/io/uri_spec.h +78 -0
  109. xgb_diffusion-0.1.0/cpp_src/dmlc-core/src/io.cc +130 -0
  110. xgb_diffusion-0.1.0/cpp_src/dmlc-core/src/recordio.cc +159 -0
  111. xgb_diffusion-0.1.0/cpp_src/include/xgboost/base.h +319 -0
  112. xgb_diffusion-0.1.0/cpp_src/include/xgboost/byteswap.h +100 -0
  113. xgb_diffusion-0.1.0/cpp_src/include/xgboost/c_api.h +1943 -0
  114. xgb_diffusion-0.1.0/cpp_src/include/xgboost/cache.h +204 -0
  115. xgb_diffusion-0.1.0/cpp_src/include/xgboost/collective/poll_utils.h +234 -0
  116. xgb_diffusion-0.1.0/cpp_src/include/xgboost/collective/result.h +164 -0
  117. xgb_diffusion-0.1.0/cpp_src/include/xgboost/collective/socket.h +843 -0
  118. xgb_diffusion-0.1.0/cpp_src/include/xgboost/context.h +329 -0
  119. xgb_diffusion-0.1.0/cpp_src/include/xgboost/data.h +816 -0
  120. xgb_diffusion-0.1.0/cpp_src/include/xgboost/feature_map.h +96 -0
  121. xgb_diffusion-0.1.0/cpp_src/include/xgboost/gbm.h +199 -0
  122. xgb_diffusion-0.1.0/cpp_src/include/xgboost/global_config.h +46 -0
  123. xgb_diffusion-0.1.0/cpp_src/include/xgboost/gradient.h +52 -0
  124. xgb_diffusion-0.1.0/cpp_src/include/xgboost/host_device_vector.h +153 -0
  125. xgb_diffusion-0.1.0/cpp_src/include/xgboost/intrusive_ptr.h +217 -0
  126. xgb_diffusion-0.1.0/cpp_src/include/xgboost/json.h +668 -0
  127. xgb_diffusion-0.1.0/cpp_src/include/xgboost/json_io.h +245 -0
  128. xgb_diffusion-0.1.0/cpp_src/include/xgboost/learner.h +361 -0
  129. xgb_diffusion-0.1.0/cpp_src/include/xgboost/linalg.h +1038 -0
  130. xgb_diffusion-0.1.0/cpp_src/include/xgboost/linear_updater.h +78 -0
  131. xgb_diffusion-0.1.0/cpp_src/include/xgboost/logging.h +148 -0
  132. xgb_diffusion-0.1.0/cpp_src/include/xgboost/metric.h +109 -0
  133. xgb_diffusion-0.1.0/cpp_src/include/xgboost/model.h +43 -0
  134. xgb_diffusion-0.1.0/cpp_src/include/xgboost/multi_target_tree_model.h +154 -0
  135. xgb_diffusion-0.1.0/cpp_src/include/xgboost/objective.h +165 -0
  136. xgb_diffusion-0.1.0/cpp_src/include/xgboost/parameter.h +103 -0
  137. xgb_diffusion-0.1.0/cpp_src/include/xgboost/predictor.h +189 -0
  138. xgb_diffusion-0.1.0/cpp_src/include/xgboost/span.h +730 -0
  139. xgb_diffusion-0.1.0/cpp_src/include/xgboost/string_view.h +96 -0
  140. xgb_diffusion-0.1.0/cpp_src/include/xgboost/task.h +47 -0
  141. xgb_diffusion-0.1.0/cpp_src/include/xgboost/tree_model.h +644 -0
  142. xgb_diffusion-0.1.0/cpp_src/include/xgboost/tree_updater.h +135 -0
  143. xgb_diffusion-0.1.0/cpp_src/include/xgboost/version_config.h +11 -0
  144. xgb_diffusion-0.1.0/cpp_src/include/xgboost/windefs.h +41 -0
  145. xgb_diffusion-0.1.0/cpp_src/plugin/CMakeLists.txt +36 -0
  146. xgb_diffusion-0.1.0/cpp_src/plugin/federated/CMakeLists.txt +47 -0
  147. xgb_diffusion-0.1.0/cpp_src/plugin/federated/federated.proto +85 -0
  148. xgb_diffusion-0.1.0/cpp_src/plugin/federated/federated_coll.cc +153 -0
  149. xgb_diffusion-0.1.0/cpp_src/plugin/federated/federated_coll.cu +97 -0
  150. xgb_diffusion-0.1.0/cpp_src/plugin/federated/federated_coll.cuh +28 -0
  151. xgb_diffusion-0.1.0/cpp_src/plugin/federated/federated_coll.h +28 -0
  152. xgb_diffusion-0.1.0/cpp_src/plugin/federated/federated_comm.cc +136 -0
  153. xgb_diffusion-0.1.0/cpp_src/plugin/federated/federated_comm.cu +22 -0
  154. xgb_diffusion-0.1.0/cpp_src/plugin/federated/federated_comm.cuh +25 -0
  155. xgb_diffusion-0.1.0/cpp_src/plugin/federated/federated_comm.h +77 -0
  156. xgb_diffusion-0.1.0/cpp_src/plugin/federated/federated_tracker.cc +141 -0
  157. xgb_diffusion-0.1.0/cpp_src/plugin/federated/federated_tracker.h +63 -0
  158. xgb_diffusion-0.1.0/cpp_src/plugin/sycl/common/hist_util.cc +464 -0
  159. xgb_diffusion-0.1.0/cpp_src/plugin/sycl/common/hist_util.h +187 -0
  160. xgb_diffusion-0.1.0/cpp_src/plugin/sycl/common/host_device_vector.cc +416 -0
  161. xgb_diffusion-0.1.0/cpp_src/plugin/sycl/common/linalg_op.cc +32 -0
  162. xgb_diffusion-0.1.0/cpp_src/plugin/sycl/common/linalg_op.h +101 -0
  163. xgb_diffusion-0.1.0/cpp_src/plugin/sycl/common/optional_weight.cc +31 -0
  164. xgb_diffusion-0.1.0/cpp_src/plugin/sycl/common/partition_builder.h +262 -0
  165. xgb_diffusion-0.1.0/cpp_src/plugin/sycl/common/row_set.h +123 -0
  166. xgb_diffusion-0.1.0/cpp_src/plugin/sycl/common/stats.cc +25 -0
  167. xgb_diffusion-0.1.0/cpp_src/plugin/sycl/common/transform.h +35 -0
  168. xgb_diffusion-0.1.0/cpp_src/plugin/sycl/context_helper.cc +26 -0
  169. xgb_diffusion-0.1.0/cpp_src/plugin/sycl/context_helper.h +17 -0
  170. xgb_diffusion-0.1.0/cpp_src/plugin/sycl/data/gradient_index.cc +181 -0
  171. xgb_diffusion-0.1.0/cpp_src/plugin/sycl/data/gradient_index.h +108 -0
  172. xgb_diffusion-0.1.0/cpp_src/plugin/sycl/data.h +221 -0
  173. xgb_diffusion-0.1.0/cpp_src/plugin/sycl/device_manager.cc +83 -0
  174. xgb_diffusion-0.1.0/cpp_src/plugin/sycl/device_manager.h +46 -0
  175. xgb_diffusion-0.1.0/cpp_src/plugin/sycl/device_properties.h +69 -0
  176. xgb_diffusion-0.1.0/cpp_src/plugin/sycl/predictor/node.h +69 -0
  177. xgb_diffusion-0.1.0/cpp_src/plugin/sycl/predictor/predictor.cc +455 -0
  178. xgb_diffusion-0.1.0/cpp_src/plugin/sycl/tree/expand_entry.h +49 -0
  179. xgb_diffusion-0.1.0/cpp_src/plugin/sycl/tree/hist_dispatcher.h +170 -0
  180. xgb_diffusion-0.1.0/cpp_src/plugin/sycl/tree/hist_row_adder.h +82 -0
  181. xgb_diffusion-0.1.0/cpp_src/plugin/sycl/tree/hist_synchronizer.h +130 -0
  182. xgb_diffusion-0.1.0/cpp_src/plugin/sycl/tree/hist_updater.cc +844 -0
  183. xgb_diffusion-0.1.0/cpp_src/plugin/sycl/tree/hist_updater.h +251 -0
  184. xgb_diffusion-0.1.0/cpp_src/plugin/sycl/tree/param.h +164 -0
  185. xgb_diffusion-0.1.0/cpp_src/plugin/sycl/tree/split_evaluator.h +208 -0
  186. xgb_diffusion-0.1.0/cpp_src/plugin/sycl/tree/updater_quantile_hist.cc +136 -0
  187. xgb_diffusion-0.1.0/cpp_src/plugin/sycl/tree/updater_quantile_hist.h +117 -0
  188. xgb_diffusion-0.1.0/cpp_src/src/CMakeLists.txt +42 -0
  189. xgb_diffusion-0.1.0/cpp_src/src/c_api/c_api.cc +2048 -0
  190. xgb_diffusion-0.1.0/cpp_src/src/c_api/c_api.cu +219 -0
  191. xgb_diffusion-0.1.0/cpp_src/src/c_api/c_api_error.cc +28 -0
  192. xgb_diffusion-0.1.0/cpp_src/src/c_api/c_api_error.h +68 -0
  193. xgb_diffusion-0.1.0/cpp_src/src/c_api/c_api_utils.h +368 -0
  194. xgb_diffusion-0.1.0/cpp_src/src/c_api/coll_c_api.cc +268 -0
  195. xgb_diffusion-0.1.0/cpp_src/src/collective/aggregator.cuh +41 -0
  196. xgb_diffusion-0.1.0/cpp_src/src/collective/aggregator.h +201 -0
  197. xgb_diffusion-0.1.0/cpp_src/src/collective/allgather.cc +155 -0
  198. xgb_diffusion-0.1.0/cpp_src/src/collective/allgather.h +218 -0
  199. xgb_diffusion-0.1.0/cpp_src/src/collective/allreduce.cc +150 -0
  200. xgb_diffusion-0.1.0/cpp_src/src/collective/allreduce.h +413 -0
  201. xgb_diffusion-0.1.0/cpp_src/src/collective/allreduce_v.cuh +216 -0
  202. xgb_diffusion-0.1.0/cpp_src/src/collective/broadcast.cc +109 -0
  203. xgb_diffusion-0.1.0/cpp_src/src/collective/broadcast.h +47 -0
  204. xgb_diffusion-0.1.0/cpp_src/src/collective/coll.cc +151 -0
  205. xgb_diffusion-0.1.0/cpp_src/src/collective/coll.cu +410 -0
  206. xgb_diffusion-0.1.0/cpp_src/src/collective/coll.cuh +35 -0
  207. xgb_diffusion-0.1.0/cpp_src/src/collective/coll.h +72 -0
  208. xgb_diffusion-0.1.0/cpp_src/src/collective/comm.cc +511 -0
  209. xgb_diffusion-0.1.0/cpp_src/src/collective/comm.cu +128 -0
  210. xgb_diffusion-0.1.0/cpp_src/src/collective/comm.cuh +111 -0
  211. xgb_diffusion-0.1.0/cpp_src/src/collective/comm.h +187 -0
  212. xgb_diffusion-0.1.0/cpp_src/src/collective/comm_group.cc +159 -0
  213. xgb_diffusion-0.1.0/cpp_src/src/collective/comm_group.h +70 -0
  214. xgb_diffusion-0.1.0/cpp_src/src/collective/communicator-inl.h +65 -0
  215. xgb_diffusion-0.1.0/cpp_src/src/collective/in_memory_communicator.h +103 -0
  216. xgb_diffusion-0.1.0/cpp_src/src/collective/in_memory_handler.cc +294 -0
  217. xgb_diffusion-0.1.0/cpp_src/src/collective/in_memory_handler.h +178 -0
  218. xgb_diffusion-0.1.0/cpp_src/src/collective/loop.cc +277 -0
  219. xgb_diffusion-0.1.0/cpp_src/src/collective/loop.h +92 -0
  220. xgb_diffusion-0.1.0/cpp_src/src/collective/nccl_stub.cc +171 -0
  221. xgb_diffusion-0.1.0/cpp_src/src/collective/nccl_stub.h +143 -0
  222. xgb_diffusion-0.1.0/cpp_src/src/collective/protocol.h +275 -0
  223. xgb_diffusion-0.1.0/cpp_src/src/collective/result.cc +91 -0
  224. xgb_diffusion-0.1.0/cpp_src/src/collective/socket.cc +200 -0
  225. xgb_diffusion-0.1.0/cpp_src/src/collective/topo.h +88 -0
  226. xgb_diffusion-0.1.0/cpp_src/src/collective/tracker.cc +479 -0
  227. xgb_diffusion-0.1.0/cpp_src/src/collective/tracker.h +159 -0
  228. xgb_diffusion-0.1.0/cpp_src/src/common/algorithm.cuh +378 -0
  229. xgb_diffusion-0.1.0/cpp_src/src/common/algorithm.h +99 -0
  230. xgb_diffusion-0.1.0/cpp_src/src/common/api_entry.h +37 -0
  231. xgb_diffusion-0.1.0/cpp_src/src/common/base64.h +272 -0
  232. xgb_diffusion-0.1.0/cpp_src/src/common/bitfield.h +276 -0
  233. xgb_diffusion-0.1.0/cpp_src/src/common/cache_manager.cc +188 -0
  234. xgb_diffusion-0.1.0/cpp_src/src/common/cache_manager.h +51 -0
  235. xgb_diffusion-0.1.0/cpp_src/src/common/categorical.h +102 -0
  236. xgb_diffusion-0.1.0/cpp_src/src/common/charconv.cc +942 -0
  237. xgb_diffusion-0.1.0/cpp_src/src/common/charconv.h +103 -0
  238. xgb_diffusion-0.1.0/cpp_src/src/common/column_matrix.cc +122 -0
  239. xgb_diffusion-0.1.0/cpp_src/src/common/column_matrix.h +438 -0
  240. xgb_diffusion-0.1.0/cpp_src/src/common/common.cc +63 -0
  241. xgb_diffusion-0.1.0/cpp_src/src/common/common.cu +21 -0
  242. xgb_diffusion-0.1.0/cpp_src/src/common/common.h +220 -0
  243. xgb_diffusion-0.1.0/cpp_src/src/common/compressed_iterator.h +351 -0
  244. xgb_diffusion-0.1.0/cpp_src/src/common/cuda_context.cuh +33 -0
  245. xgb_diffusion-0.1.0/cpp_src/src/common/cuda_dr_utils.cc +233 -0
  246. xgb_diffusion-0.1.0/cpp_src/src/common/cuda_dr_utils.h +148 -0
  247. xgb_diffusion-0.1.0/cpp_src/src/common/cuda_pinned_allocator.cu +71 -0
  248. xgb_diffusion-0.1.0/cpp_src/src/common/cuda_pinned_allocator.h +178 -0
  249. xgb_diffusion-0.1.0/cpp_src/src/common/cuda_rt_utils.cc +191 -0
  250. xgb_diffusion-0.1.0/cpp_src/src/common/cuda_rt_utils.h +55 -0
  251. xgb_diffusion-0.1.0/cpp_src/src/common/cuda_stream.cc +18 -0
  252. xgb_diffusion-0.1.0/cpp_src/src/common/cuda_stream.h +110 -0
  253. xgb_diffusion-0.1.0/cpp_src/src/common/cuda_stream_pool.h +27 -0
  254. xgb_diffusion-0.1.0/cpp_src/src/common/deterministic.cuh +46 -0
  255. xgb_diffusion-0.1.0/cpp_src/src/common/device_compression.cu +522 -0
  256. xgb_diffusion-0.1.0/cpp_src/src/common/device_compression.cuh +124 -0
  257. xgb_diffusion-0.1.0/cpp_src/src/common/device_compression.h +135 -0
  258. xgb_diffusion-0.1.0/cpp_src/src/common/device_debug.cuh +41 -0
  259. xgb_diffusion-0.1.0/cpp_src/src/common/device_helpers.cu +49 -0
  260. xgb_diffusion-0.1.0/cpp_src/src/common/device_helpers.cuh +789 -0
  261. xgb_diffusion-0.1.0/cpp_src/src/common/device_vector.cu +132 -0
  262. xgb_diffusion-0.1.0/cpp_src/src/common/device_vector.cuh +567 -0
  263. xgb_diffusion-0.1.0/cpp_src/src/common/error_msg.cc +111 -0
  264. xgb_diffusion-0.1.0/cpp_src/src/common/error_msg.h +146 -0
  265. xgb_diffusion-0.1.0/cpp_src/src/common/expectile_loss_utils.cc +8 -0
  266. xgb_diffusion-0.1.0/cpp_src/src/common/expectile_loss_utils.h +33 -0
  267. xgb_diffusion-0.1.0/cpp_src/src/common/group_data.h +170 -0
  268. xgb_diffusion-0.1.0/cpp_src/src/common/hist_util.cc +516 -0
  269. xgb_diffusion-0.1.0/cpp_src/src/common/hist_util.cu +272 -0
  270. xgb_diffusion-0.1.0/cpp_src/src/common/hist_util.cuh +357 -0
  271. xgb_diffusion-0.1.0/cpp_src/src/common/hist_util.h +656 -0
  272. xgb_diffusion-0.1.0/cpp_src/src/common/host_device_vector.cc +210 -0
  273. xgb_diffusion-0.1.0/cpp_src/src/common/host_device_vector.cu +451 -0
  274. xgb_diffusion-0.1.0/cpp_src/src/common/io.cc +426 -0
  275. xgb_diffusion-0.1.0/cpp_src/src/common/io.h +609 -0
  276. xgb_diffusion-0.1.0/cpp_src/src/common/json.cc +999 -0
  277. xgb_diffusion-0.1.0/cpp_src/src/common/json_utils.h +112 -0
  278. xgb_diffusion-0.1.0/cpp_src/src/common/linalg_op.cc +55 -0
  279. xgb_diffusion-0.1.0/cpp_src/src/common/linalg_op.cu +42 -0
  280. xgb_diffusion-0.1.0/cpp_src/src/common/linalg_op.cuh +141 -0
  281. xgb_diffusion-0.1.0/cpp_src/src/common/linalg_op.h +310 -0
  282. xgb_diffusion-0.1.0/cpp_src/src/common/math.h +214 -0
  283. xgb_diffusion-0.1.0/cpp_src/src/common/numa_topo.cc +221 -0
  284. xgb_diffusion-0.1.0/cpp_src/src/common/numa_topo.h +81 -0
  285. xgb_diffusion-0.1.0/cpp_src/src/common/numeric.cc +24 -0
  286. xgb_diffusion-0.1.0/cpp_src/src/common/numeric.cu +19 -0
  287. xgb_diffusion-0.1.0/cpp_src/src/common/numeric.h +135 -0
  288. xgb_diffusion-0.1.0/cpp_src/src/common/nvtx_utils.h +64 -0
  289. xgb_diffusion-0.1.0/cpp_src/src/common/observer.h +133 -0
  290. xgb_diffusion-0.1.0/cpp_src/src/common/optional_weight.cc +48 -0
  291. xgb_diffusion-0.1.0/cpp_src/src/common/optional_weight.cu +18 -0
  292. xgb_diffusion-0.1.0/cpp_src/src/common/optional_weight.h +41 -0
  293. xgb_diffusion-0.1.0/cpp_src/src/common/param_array.cc +95 -0
  294. xgb_diffusion-0.1.0/cpp_src/src/common/param_array.h +66 -0
  295. xgb_diffusion-0.1.0/cpp_src/src/common/partition_builder.h +417 -0
  296. xgb_diffusion-0.1.0/cpp_src/src/common/probability_distribution.h +125 -0
  297. xgb_diffusion-0.1.0/cpp_src/src/common/pseudo_huber.cc +7 -0
  298. xgb_diffusion-0.1.0/cpp_src/src/common/pseudo_huber.h +19 -0
  299. xgb_diffusion-0.1.0/cpp_src/src/common/quantile.cc +618 -0
  300. xgb_diffusion-0.1.0/cpp_src/src/common/quantile.cu +733 -0
  301. xgb_diffusion-0.1.0/cpp_src/src/common/quantile.cuh +195 -0
  302. xgb_diffusion-0.1.0/cpp_src/src/common/quantile.h +946 -0
  303. xgb_diffusion-0.1.0/cpp_src/src/common/quantile_loss_utils.cc +8 -0
  304. xgb_diffusion-0.1.0/cpp_src/src/common/quantile_loss_utils.h +32 -0
  305. xgb_diffusion-0.1.0/cpp_src/src/common/random.cc +74 -0
  306. xgb_diffusion-0.1.0/cpp_src/src/common/random.cu +107 -0
  307. xgb_diffusion-0.1.0/cpp_src/src/common/random.cuh +27 -0
  308. xgb_diffusion-0.1.0/cpp_src/src/common/random.h +181 -0
  309. xgb_diffusion-0.1.0/cpp_src/src/common/ranking_utils.cc +171 -0
  310. xgb_diffusion-0.1.0/cpp_src/src/common/ranking_utils.cu +217 -0
  311. xgb_diffusion-0.1.0/cpp_src/src/common/ranking_utils.cuh +42 -0
  312. xgb_diffusion-0.1.0/cpp_src/src/common/ranking_utils.h +485 -0
  313. xgb_diffusion-0.1.0/cpp_src/src/common/ref_resource_view.cuh +63 -0
  314. xgb_diffusion-0.1.0/cpp_src/src/common/ref_resource_view.h +215 -0
  315. xgb_diffusion-0.1.0/cpp_src/src/common/resource.cu +52 -0
  316. xgb_diffusion-0.1.0/cpp_src/src/common/resource.cuh +124 -0
  317. xgb_diffusion-0.1.0/cpp_src/src/common/row_set.h +144 -0
  318. xgb_diffusion-0.1.0/cpp_src/src/common/stats.cc +121 -0
  319. xgb_diffusion-0.1.0/cpp_src/src/common/stats.cu +121 -0
  320. xgb_diffusion-0.1.0/cpp_src/src/common/stats.cuh +337 -0
  321. xgb_diffusion-0.1.0/cpp_src/src/common/stats.h +176 -0
  322. xgb_diffusion-0.1.0/cpp_src/src/common/survival_util.cc +18 -0
  323. xgb_diffusion-0.1.0/cpp_src/src/common/survival_util.h +347 -0
  324. xgb_diffusion-0.1.0/cpp_src/src/common/threading_utils.cc +145 -0
  325. xgb_diffusion-0.1.0/cpp_src/src/common/threading_utils.cuh +88 -0
  326. xgb_diffusion-0.1.0/cpp_src/src/common/threading_utils.h +361 -0
  327. xgb_diffusion-0.1.0/cpp_src/src/common/threadpool.h +118 -0
  328. xgb_diffusion-0.1.0/cpp_src/src/common/timer.cc +66 -0
  329. xgb_diffusion-0.1.0/cpp_src/src/common/timer.h +82 -0
  330. xgb_diffusion-0.1.0/cpp_src/src/common/transform.h +222 -0
  331. xgb_diffusion-0.1.0/cpp_src/src/common/transform_iterator.h +102 -0
  332. xgb_diffusion-0.1.0/cpp_src/src/common/type.h +27 -0
  333. xgb_diffusion-0.1.0/cpp_src/src/common/utils.h +44 -0
  334. xgb_diffusion-0.1.0/cpp_src/src/common/version.cc +91 -0
  335. xgb_diffusion-0.1.0/cpp_src/src/common/version.h +35 -0
  336. xgb_diffusion-0.1.0/cpp_src/src/context.cc +298 -0
  337. xgb_diffusion-0.1.0/cpp_src/src/context.cu +14 -0
  338. xgb_diffusion-0.1.0/cpp_src/src/data/adapter.cc +103 -0
  339. xgb_diffusion-0.1.0/cpp_src/src/data/adapter.h +675 -0
  340. xgb_diffusion-0.1.0/cpp_src/src/data/array_interface.cc +53 -0
  341. xgb_diffusion-0.1.0/cpp_src/src/data/array_interface.cu +64 -0
  342. xgb_diffusion-0.1.0/cpp_src/src/data/array_interface.h +698 -0
  343. xgb_diffusion-0.1.0/cpp_src/src/data/batch_utils.cc +99 -0
  344. xgb_diffusion-0.1.0/cpp_src/src/data/batch_utils.h +86 -0
  345. xgb_diffusion-0.1.0/cpp_src/src/data/cat_container.cc +316 -0
  346. xgb_diffusion-0.1.0/cpp_src/src/data/cat_container.cu +299 -0
  347. xgb_diffusion-0.1.0/cpp_src/src/data/cat_container.cuh +77 -0
  348. xgb_diffusion-0.1.0/cpp_src/src/data/cat_container.h +282 -0
  349. xgb_diffusion-0.1.0/cpp_src/src/data/columnar.h +167 -0
  350. xgb_diffusion-0.1.0/cpp_src/src/data/data.cc +1299 -0
  351. xgb_diffusion-0.1.0/cpp_src/src/data/data.cu +250 -0
  352. xgb_diffusion-0.1.0/cpp_src/src/data/device_adapter.cu +101 -0
  353. xgb_diffusion-0.1.0/cpp_src/src/data/device_adapter.cuh +245 -0
  354. xgb_diffusion-0.1.0/cpp_src/src/data/ellpack_page.cc +58 -0
  355. xgb_diffusion-0.1.0/cpp_src/src/data/ellpack_page.cu +728 -0
  356. xgb_diffusion-0.1.0/cpp_src/src/data/ellpack_page.cuh +413 -0
  357. xgb_diffusion-0.1.0/cpp_src/src/data/ellpack_page.h +60 -0
  358. xgb_diffusion-0.1.0/cpp_src/src/data/ellpack_page_raw_format.cu +151 -0
  359. xgb_diffusion-0.1.0/cpp_src/src/data/ellpack_page_raw_format.h +63 -0
  360. xgb_diffusion-0.1.0/cpp_src/src/data/ellpack_page_source.cu +643 -0
  361. xgb_diffusion-0.1.0/cpp_src/src/data/ellpack_page_source.h +410 -0
  362. xgb_diffusion-0.1.0/cpp_src/src/data/entry.h +38 -0
  363. xgb_diffusion-0.1.0/cpp_src/src/data/extmem_quantile_dmatrix.cc +167 -0
  364. xgb_diffusion-0.1.0/cpp_src/src/data/extmem_quantile_dmatrix.cu +138 -0
  365. xgb_diffusion-0.1.0/cpp_src/src/data/extmem_quantile_dmatrix.h +75 -0
  366. xgb_diffusion-0.1.0/cpp_src/src/data/file_iterator.cc +91 -0
  367. xgb_diffusion-0.1.0/cpp_src/src/data/file_iterator.h +71 -0
  368. xgb_diffusion-0.1.0/cpp_src/src/data/gradient_index.cc +279 -0
  369. xgb_diffusion-0.1.0/cpp_src/src/data/gradient_index.cu +127 -0
  370. xgb_diffusion-0.1.0/cpp_src/src/data/gradient_index.h +343 -0
  371. xgb_diffusion-0.1.0/cpp_src/src/data/gradient_index_format.cc +99 -0
  372. xgb_diffusion-0.1.0/cpp_src/src/data/gradient_index_format.h +29 -0
  373. xgb_diffusion-0.1.0/cpp_src/src/data/gradient_index_page_source.cc +73 -0
  374. xgb_diffusion-0.1.0/cpp_src/src/data/gradient_index_page_source.h +108 -0
  375. xgb_diffusion-0.1.0/cpp_src/src/data/iterative_dmatrix.cc +220 -0
  376. xgb_diffusion-0.1.0/cpp_src/src/data/iterative_dmatrix.cu +150 -0
  377. xgb_diffusion-0.1.0/cpp_src/src/data/iterative_dmatrix.h +74 -0
  378. xgb_diffusion-0.1.0/cpp_src/src/data/metainfo.cc +63 -0
  379. xgb_diffusion-0.1.0/cpp_src/src/data/metainfo.cu +23 -0
  380. xgb_diffusion-0.1.0/cpp_src/src/data/metainfo.h +111 -0
  381. xgb_diffusion-0.1.0/cpp_src/src/data/proxy_dmatrix.cc +116 -0
  382. xgb_diffusion-0.1.0/cpp_src/src/data/proxy_dmatrix.cu +81 -0
  383. xgb_diffusion-0.1.0/cpp_src/src/data/proxy_dmatrix.cuh +64 -0
  384. xgb_diffusion-0.1.0/cpp_src/src/data/proxy_dmatrix.h +328 -0
  385. xgb_diffusion-0.1.0/cpp_src/src/data/quantile_dmatrix.cc +190 -0
  386. xgb_diffusion-0.1.0/cpp_src/src/data/quantile_dmatrix.cu +123 -0
  387. xgb_diffusion-0.1.0/cpp_src/src/data/quantile_dmatrix.h +115 -0
  388. xgb_diffusion-0.1.0/cpp_src/src/data/simple_batch_iterator.h +33 -0
  389. xgb_diffusion-0.1.0/cpp_src/src/data/simple_dmatrix.cc +591 -0
  390. xgb_diffusion-0.1.0/cpp_src/src/data/simple_dmatrix.cu +66 -0
  391. xgb_diffusion-0.1.0/cpp_src/src/data/simple_dmatrix.cuh +81 -0
  392. xgb_diffusion-0.1.0/cpp_src/src/data/simple_dmatrix.h +92 -0
  393. xgb_diffusion-0.1.0/cpp_src/src/data/sparse_page_dmatrix.cc +196 -0
  394. xgb_diffusion-0.1.0/cpp_src/src/data/sparse_page_dmatrix.cu +80 -0
  395. xgb_diffusion-0.1.0/cpp_src/src/data/sparse_page_dmatrix.h +141 -0
  396. xgb_diffusion-0.1.0/cpp_src/src/data/sparse_page_raw_format.cc +71 -0
  397. xgb_diffusion-0.1.0/cpp_src/src/data/sparse_page_source.cc +47 -0
  398. xgb_diffusion-0.1.0/cpp_src/src/data/sparse_page_source.cu +22 -0
  399. xgb_diffusion-0.1.0/cpp_src/src/data/sparse_page_source.h +677 -0
  400. xgb_diffusion-0.1.0/cpp_src/src/data/sparse_page_writer.h +65 -0
  401. xgb_diffusion-0.1.0/cpp_src/src/encoder/ordinal.cuh +337 -0
  402. xgb_diffusion-0.1.0/cpp_src/src/encoder/ordinal.h +464 -0
  403. xgb_diffusion-0.1.0/cpp_src/src/encoder/types.h +77 -0
  404. xgb_diffusion-0.1.0/cpp_src/src/gbm/gblinear.cc +332 -0
  405. xgb_diffusion-0.1.0/cpp_src/src/gbm/gblinear_model.cc +43 -0
  406. xgb_diffusion-0.1.0/cpp_src/src/gbm/gblinear_model.h +112 -0
  407. xgb_diffusion-0.1.0/cpp_src/src/gbm/gbm.cc +38 -0
  408. xgb_diffusion-0.1.0/cpp_src/src/gbm/gbtree.cc +852 -0
  409. xgb_diffusion-0.1.0/cpp_src/src/gbm/gbtree.cu +43 -0
  410. xgb_diffusion-0.1.0/cpp_src/src/gbm/gbtree.h +371 -0
  411. xgb_diffusion-0.1.0/cpp_src/src/gbm/gbtree_model.cc +162 -0
  412. xgb_diffusion-0.1.0/cpp_src/src/gbm/gbtree_model.h +143 -0
  413. xgb_diffusion-0.1.0/cpp_src/src/global_config.cc +29 -0
  414. xgb_diffusion-0.1.0/cpp_src/src/learner.cc +1341 -0
  415. xgb_diffusion-0.1.0/cpp_src/src/linear/coordinate_common.h +495 -0
  416. xgb_diffusion-0.1.0/cpp_src/src/linear/linear_updater.cc +37 -0
  417. xgb_diffusion-0.1.0/cpp_src/src/linear/param.h +71 -0
  418. xgb_diffusion-0.1.0/cpp_src/src/linear/updater_coordinate.cc +103 -0
  419. xgb_diffusion-0.1.0/cpp_src/src/linear/updater_gpu_coordinate.cu +252 -0
  420. xgb_diffusion-0.1.0/cpp_src/src/linear/updater_shotgun.cc +101 -0
  421. xgb_diffusion-0.1.0/cpp_src/src/logging.cc +105 -0
  422. xgb_diffusion-0.1.0/cpp_src/src/metric/auc.cc +484 -0
  423. xgb_diffusion-0.1.0/cpp_src/src/metric/auc.cu +860 -0
  424. xgb_diffusion-0.1.0/cpp_src/src/metric/auc.h +112 -0
  425. xgb_diffusion-0.1.0/cpp_src/src/metric/elementwise_metric.cc +8 -0
  426. xgb_diffusion-0.1.0/cpp_src/src/metric/elementwise_metric.cu +577 -0
  427. xgb_diffusion-0.1.0/cpp_src/src/metric/metric.cc +72 -0
  428. xgb_diffusion-0.1.0/cpp_src/src/metric/metric_common.h +66 -0
  429. xgb_diffusion-0.1.0/cpp_src/src/metric/multiclass_metric.cc +8 -0
  430. xgb_diffusion-0.1.0/cpp_src/src/metric/multiclass_metric.cu +241 -0
  431. xgb_diffusion-0.1.0/cpp_src/src/metric/rank_metric.cc +468 -0
  432. xgb_diffusion-0.1.0/cpp_src/src/metric/rank_metric.cu +202 -0
  433. xgb_diffusion-0.1.0/cpp_src/src/metric/rank_metric.h +51 -0
  434. xgb_diffusion-0.1.0/cpp_src/src/metric/survival_metric.cc +11 -0
  435. xgb_diffusion-0.1.0/cpp_src/src/metric/survival_metric.cu +276 -0
  436. xgb_diffusion-0.1.0/cpp_src/src/objective/adaptive.cc +196 -0
  437. xgb_diffusion-0.1.0/cpp_src/src/objective/adaptive.cu +215 -0
  438. xgb_diffusion-0.1.0/cpp_src/src/objective/adaptive.h +116 -0
  439. xgb_diffusion-0.1.0/cpp_src/src/objective/aft_obj.cc +21 -0
  440. xgb_diffusion-0.1.0/cpp_src/src/objective/aft_obj.cu +153 -0
  441. xgb_diffusion-0.1.0/cpp_src/src/objective/hinge.cc +18 -0
  442. xgb_diffusion-0.1.0/cpp_src/src/objective/hinge.cu +104 -0
  443. xgb_diffusion-0.1.0/cpp_src/src/objective/init_estimation.cc +52 -0
  444. xgb_diffusion-0.1.0/cpp_src/src/objective/init_estimation.h +29 -0
  445. xgb_diffusion-0.1.0/cpp_src/src/objective/lambdarank_obj.cc +671 -0
  446. xgb_diffusion-0.1.0/cpp_src/src/objective/lambdarank_obj.cu +613 -0
  447. xgb_diffusion-0.1.0/cpp_src/src/objective/lambdarank_obj.cuh +170 -0
  448. xgb_diffusion-0.1.0/cpp_src/src/objective/lambdarank_obj.h +285 -0
  449. xgb_diffusion-0.1.0/cpp_src/src/objective/multiclass_obj.cc +18 -0
  450. xgb_diffusion-0.1.0/cpp_src/src/objective/multiclass_obj.cu +241 -0
  451. xgb_diffusion-0.1.0/cpp_src/src/objective/multiclass_param.h +21 -0
  452. xgb_diffusion-0.1.0/cpp_src/src/objective/objective.cc +60 -0
  453. xgb_diffusion-0.1.0/cpp_src/src/objective/quantile_obj.cc +18 -0
  454. xgb_diffusion-0.1.0/cpp_src/src/objective/quantile_obj.cu +215 -0
  455. xgb_diffusion-0.1.0/cpp_src/src/objective/regression_loss.h +158 -0
  456. xgb_diffusion-0.1.0/cpp_src/src/objective/regression_obj.cc +18 -0
  457. xgb_diffusion-0.1.0/cpp_src/src/objective/regression_obj.cu +952 -0
  458. xgb_diffusion-0.1.0/cpp_src/src/objective/regression_param.h +25 -0
  459. xgb_diffusion-0.1.0/cpp_src/src/predictor/array_tree_layout.h +226 -0
  460. xgb_diffusion-0.1.0/cpp_src/src/predictor/cpu_predictor.cc +889 -0
  461. xgb_diffusion-0.1.0/cpp_src/src/predictor/data_accessor.h +197 -0
  462. xgb_diffusion-0.1.0/cpp_src/src/predictor/gbtree_view.h +82 -0
  463. xgb_diffusion-0.1.0/cpp_src/src/predictor/gpu_data_accessor.cuh +112 -0
  464. xgb_diffusion-0.1.0/cpp_src/src/predictor/gpu_predictor.cu +838 -0
  465. xgb_diffusion-0.1.0/cpp_src/src/predictor/interpretability/quadrature.h +184 -0
  466. xgb_diffusion-0.1.0/cpp_src/src/predictor/interpretability/shap.cc +873 -0
  467. xgb_diffusion-0.1.0/cpp_src/src/predictor/interpretability/shap.cu +1359 -0
  468. xgb_diffusion-0.1.0/cpp_src/src/predictor/interpretability/shap.h +89 -0
  469. xgb_diffusion-0.1.0/cpp_src/src/predictor/predict_fn.h +50 -0
  470. xgb_diffusion-0.1.0/cpp_src/src/predictor/predictor.cc +116 -0
  471. xgb_diffusion-0.1.0/cpp_src/src/predictor/predictor.cu +19 -0
  472. xgb_diffusion-0.1.0/cpp_src/src/predictor/utils.h +26 -0
  473. xgb_diffusion-0.1.0/cpp_src/src/tree/common_row_partitioner.h +349 -0
  474. xgb_diffusion-0.1.0/cpp_src/src/tree/constraints.cc +103 -0
  475. xgb_diffusion-0.1.0/cpp_src/src/tree/constraints.cu +317 -0
  476. xgb_diffusion-0.1.0/cpp_src/src/tree/constraints.cuh +100 -0
  477. xgb_diffusion-0.1.0/cpp_src/src/tree/constraints.h +63 -0
  478. xgb_diffusion-0.1.0/cpp_src/src/tree/driver.h +111 -0
  479. xgb_diffusion-0.1.0/cpp_src/src/tree/fit_stump.cc +92 -0
  480. xgb_diffusion-0.1.0/cpp_src/src/tree/fit_stump.cu +57 -0
  481. xgb_diffusion-0.1.0/cpp_src/src/tree/fit_stump.h +37 -0
  482. xgb_diffusion-0.1.0/cpp_src/src/tree/gpu_hist/evaluate_splits.cu +486 -0
  483. xgb_diffusion-0.1.0/cpp_src/src/tree/gpu_hist/evaluate_splits.cuh +246 -0
  484. xgb_diffusion-0.1.0/cpp_src/src/tree/gpu_hist/evaluator.cu +129 -0
  485. xgb_diffusion-0.1.0/cpp_src/src/tree/gpu_hist/expand_entry.cu +48 -0
  486. xgb_diffusion-0.1.0/cpp_src/src/tree/gpu_hist/expand_entry.cuh +186 -0
  487. xgb_diffusion-0.1.0/cpp_src/src/tree/gpu_hist/feature_groups.cu +59 -0
  488. xgb_diffusion-0.1.0/cpp_src/src/tree/gpu_hist/feature_groups.cuh +128 -0
  489. xgb_diffusion-0.1.0/cpp_src/src/tree/gpu_hist/histogram.cu +609 -0
  490. xgb_diffusion-0.1.0/cpp_src/src/tree/gpu_hist/histogram.cuh +257 -0
  491. xgb_diffusion-0.1.0/cpp_src/src/tree/gpu_hist/leaf_sum.cu +113 -0
  492. xgb_diffusion-0.1.0/cpp_src/src/tree/gpu_hist/leaf_sum.cuh +37 -0
  493. xgb_diffusion-0.1.0/cpp_src/src/tree/gpu_hist/multi_evaluate_splits.cu +486 -0
  494. xgb_diffusion-0.1.0/cpp_src/src/tree/gpu_hist/multi_evaluate_splits.cuh +145 -0
  495. xgb_diffusion-0.1.0/cpp_src/src/tree/gpu_hist/quantiser.cu +148 -0
  496. xgb_diffusion-0.1.0/cpp_src/src/tree/gpu_hist/quantiser.cuh +112 -0
  497. xgb_diffusion-0.1.0/cpp_src/src/tree/gpu_hist/row_partitioner.cu +47 -0
  498. xgb_diffusion-0.1.0/cpp_src/src/tree/gpu_hist/row_partitioner.cuh +502 -0
  499. xgb_diffusion-0.1.0/cpp_src/src/tree/gpu_hist/sampler.cu +382 -0
  500. xgb_diffusion-0.1.0/cpp_src/src/tree/gpu_hist/sampler.cuh +88 -0
  501. xgb_diffusion-0.1.0/cpp_src/src/tree/hist/evaluate_splits.h +848 -0
  502. xgb_diffusion-0.1.0/cpp_src/src/tree/hist/expand_entry.h +259 -0
  503. xgb_diffusion-0.1.0/cpp_src/src/tree/hist/hist_cache.h +115 -0
  504. xgb_diffusion-0.1.0/cpp_src/src/tree/hist/hist_param.cc +46 -0
  505. xgb_diffusion-0.1.0/cpp_src/src/tree/hist/hist_param.h +47 -0
  506. xgb_diffusion-0.1.0/cpp_src/src/tree/hist/histogram.cc +65 -0
  507. xgb_diffusion-0.1.0/cpp_src/src/tree/hist/histogram.h +451 -0
  508. xgb_diffusion-0.1.0/cpp_src/src/tree/hist/sampler.cc +260 -0
  509. xgb_diffusion-0.1.0/cpp_src/src/tree/hist/sampler.h +100 -0
  510. xgb_diffusion-0.1.0/cpp_src/src/tree/io_utils.h +67 -0
  511. xgb_diffusion-0.1.0/cpp_src/src/tree/multi_target_tree_model.cc +403 -0
  512. xgb_diffusion-0.1.0/cpp_src/src/tree/param.cc +110 -0
  513. xgb_diffusion-0.1.0/cpp_src/src/tree/param.h +599 -0
  514. xgb_diffusion-0.1.0/cpp_src/src/tree/sample_position.h +21 -0
  515. xgb_diffusion-0.1.0/cpp_src/src/tree/split_evaluator.h +208 -0
  516. xgb_diffusion-0.1.0/cpp_src/src/tree/tree_model.cc +1236 -0
  517. xgb_diffusion-0.1.0/cpp_src/src/tree/tree_updater.cc +38 -0
  518. xgb_diffusion-0.1.0/cpp_src/src/tree/tree_view.cc +58 -0
  519. xgb_diffusion-0.1.0/cpp_src/src/tree/tree_view.h +266 -0
  520. xgb_diffusion-0.1.0/cpp_src/src/tree/updater_approx.cc +338 -0
  521. xgb_diffusion-0.1.0/cpp_src/src/tree/updater_colmaker.cc +590 -0
  522. xgb_diffusion-0.1.0/cpp_src/src/tree/updater_gpu_common.cuh +188 -0
  523. xgb_diffusion-0.1.0/cpp_src/src/tree/updater_gpu_hist.cu +1025 -0
  524. xgb_diffusion-0.1.0/cpp_src/src/tree/updater_gpu_hist.cuh +682 -0
  525. xgb_diffusion-0.1.0/cpp_src/src/tree/updater_prune.cc +98 -0
  526. xgb_diffusion-0.1.0/cpp_src/src/tree/updater_quantile_hist.cc +717 -0
  527. xgb_diffusion-0.1.0/cpp_src/src/tree/updater_refresh.cc +140 -0
  528. xgb_diffusion-0.1.0/cpp_src/src/tree/updater_sync.cc +63 -0
  529. xgb_diffusion-0.1.0/hatch_build.py +24 -0
  530. xgb_diffusion-0.1.0/packager/__init__.py +0 -0
  531. xgb_diffusion-0.1.0/packager/build_config.py +50 -0
  532. xgb_diffusion-0.1.0/packager/nativelib.py +186 -0
  533. xgb_diffusion-0.1.0/packager/pep517.py +142 -0
  534. xgb_diffusion-0.1.0/packager/sdist.py +26 -0
  535. xgb_diffusion-0.1.0/packager/util.py +26 -0
  536. xgb_diffusion-0.1.0/pyproject.toml +87 -0
  537. xgb_diffusion-0.1.0/xgb_diffusion/VERSION +1 -0
  538. xgb_diffusion-0.1.0/xgb_diffusion/__init__.py +18 -0
  539. xgb_diffusion-0.1.0/xgb_diffusion/_c_api.py +195 -0
  540. xgb_diffusion-0.1.0/xgb_diffusion/_data_utils.py +731 -0
  541. xgb_diffusion-0.1.0/xgb_diffusion/_typing.py +134 -0
  542. xgb_diffusion-0.1.0/xgb_diffusion/callback.py +652 -0
  543. xgb_diffusion-0.1.0/xgb_diffusion/collective.py +387 -0
  544. xgb_diffusion-0.1.0/xgb_diffusion/compat.py +279 -0
  545. xgb_diffusion-0.1.0/xgb_diffusion/config.py +187 -0
  546. xgb_diffusion-0.1.0/xgb_diffusion/core.py +3338 -0
  547. xgb_diffusion-0.1.0/xgb_diffusion/data.py +1749 -0
  548. xgb_diffusion-0.1.0/xgb_diffusion/libpath.py +59 -0
  549. xgb_diffusion-0.1.0/xgb_diffusion/objective.py +92 -0
  550. xgb_diffusion-0.1.0/xgb_diffusion/py.typed +0 -0
  551. xgb_diffusion-0.1.0/xgb_diffusion/sklearn.py +2392 -0
  552. xgb_diffusion-0.1.0/xgb_diffusion/training.py +623 -0
  553. xgb_diffusion-0.1.0/xgb_diffusion/xgbddpm.py +249 -0
  554. xgb_diffusion-0.1.0/xgb_diffusion/xgbdiffusion.py +198 -0
@@ -0,0 +1,33 @@
1
+ Metadata-Version: 2.4
2
+ Name: xgb-diffusion
3
+ Version: 0.1.0
4
+ Summary: Diffusion estimators backed by a fork of XGBoost
5
+ Author: XGBoost contributors and xgb-diffusion maintainers
6
+ License: Apache-2.0
7
+ Classifier: Development Status :: 3 - Alpha
8
+ Classifier: License :: OSI Approved :: Apache Software License
9
+ Classifier: Operating System :: OS Independent
10
+ Classifier: Programming Language :: Python
11
+ Classifier: Programming Language :: Python :: 3
12
+ Classifier: Programming Language :: Python :: 3.12
13
+ Classifier: Programming Language :: Python :: 3.13
14
+ Classifier: Programming Language :: Python :: 3.14
15
+ Classifier: Typing :: Typed
16
+ Requires-Python: >=3.12
17
+ Requires-Dist: numpy
18
+ Requires-Dist: scikit-learn
19
+ Requires-Dist: scipy
20
+ Description-Content-Type: text/x-rst
21
+
22
+ =============
23
+ xgb-diffusion
24
+ =============
25
+
26
+ ``xgb-diffusion`` is a minimal Python package built from a fork/clone of
27
+ XGBoost with added diffusion estimators:
28
+
29
+ * ``XGBDDPMRegressor``
30
+ * ``XGBDDPMClassifier``
31
+ * ``XGBDiffusionRegressor``
32
+
33
+ The package intentionally exposes only these estimators.
@@ -0,0 +1,12 @@
1
+ =============
2
+ xgb-diffusion
3
+ =============
4
+
5
+ ``xgb-diffusion`` is a minimal Python package built from a fork/clone of
6
+ XGBoost with added diffusion estimators:
7
+
8
+ * ``XGBDDPMRegressor``
9
+ * ``XGBDDPMClassifier``
10
+ * ``XGBDiffusionRegressor``
11
+
12
+ The package intentionally exposes only these estimators.
@@ -0,0 +1,528 @@
1
+ cmake_minimum_required(VERSION 3.18 FATAL_ERROR)
2
+
3
+ if(PLUGIN_SYCL)
4
+ string(REPLACE " -isystem ${CONDA_PREFIX}/include" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
5
+ endif()
6
+
7
+ project(xgboost LANGUAGES CXX C VERSION 3.3.0)
8
+ include(cmake/Utils.cmake)
9
+ list(APPEND CMAKE_MODULE_PATH "${xgboost_SOURCE_DIR}/cmake/modules")
10
+
11
+ # These policies are already set from 3.18 but we still need to set the policy
12
+ # default variables here for lower minimum versions in the submodules
13
+ set(CMAKE_POLICY_DEFAULT_CMP0063 NEW)
14
+ set(CMAKE_POLICY_DEFAULT_CMP0069 NEW)
15
+ set(CMAKE_POLICY_DEFAULT_CMP0076 NEW)
16
+ set(CMAKE_POLICY_DEFAULT_CMP0077 NEW)
17
+ set(CMAKE_POLICY_DEFAULT_CMP0079 NEW)
18
+
19
+ message(STATUS "CMake version ${CMAKE_VERSION}")
20
+
21
+ # Check compiler versions
22
+ # Use recent compilers to ensure that std::filesystem is available
23
+ if(MSVC)
24
+ if(MSVC_VERSION LESS 1920)
25
+ message(FATAL_ERROR "Need Visual Studio 2019 or newer to build XGBoost")
26
+ endif()
27
+ elseif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
28
+ if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "8.1")
29
+ message(FATAL_ERROR "Need GCC 8.1 or newer to build XGBoost")
30
+ endif()
31
+ elseif(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
32
+ if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "11.0")
33
+ message(FATAL_ERROR "Need Xcode 11.0 (AppleClang 11.0) or newer to build XGBoost")
34
+ endif()
35
+ elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
36
+ if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "9.0")
37
+ message(FATAL_ERROR "Need Clang 9.0 or newer to build XGBoost")
38
+ endif()
39
+ endif()
40
+
41
+ include(${xgboost_SOURCE_DIR}/cmake/PrefetchIntrinsics.cmake)
42
+ find_prefetch_intrinsics()
43
+ include(${xgboost_SOURCE_DIR}/cmake/Version.cmake)
44
+ write_version()
45
+ set_default_configuration_release()
46
+
47
+ #-- Options
48
+ include(CMakeDependentOption)
49
+
50
+ ## User options
51
+ option(BUILD_C_DOC "Build documentation for C APIs using Doxygen." OFF)
52
+ option(USE_OPENMP "Build with OpenMP support." ON)
53
+ option(BUILD_STATIC_LIB "Build static library" OFF)
54
+ option(BUILD_DEPRECATED_CLI "Build the deprecated command line interface" OFF)
55
+ option(FORCE_SHARED_CRT "Build with dynamic CRT on Windows (/MD)" OFF)
56
+ option(BUILD_WITH_GIT_HASH "Add a short git hash to the build info." OFF)
57
+ option(BUILD_WITH_SYSTEM_DMLC "Use system package for dmlc." OFF)
58
+ ## Bindings
59
+ option(JVM_BINDINGS "Build JVM bindings" OFF)
60
+ option(R_LIB "Build shared library for R package" OFF)
61
+ ## Dev
62
+ option(USE_DEBUG_OUTPUT "Dump internal training results like gradients and predictions to stdout.
63
+ Should only be used for debugging." OFF)
64
+ option(FORCE_COLORED_OUTPUT "Force colored output from compilers, useful when ninja is used instead of make." OFF)
65
+ option(ENABLE_ALL_WARNINGS "Enable all compiler warnings. Only effective for GCC/Clang" OFF)
66
+ option(LOG_CAPI_INVOCATION "Log all C API invocations for debugging" OFF)
67
+ option(GOOGLE_TEST "Build google tests" OFF)
68
+ option(USE_DMLC_GTEST "Use google tests bundled with dmlc-core submodule" OFF)
69
+ option(USE_DEVICE_DEBUG "Generate CUDA device debug info." OFF)
70
+ option(USE_NVTX "Build with cuda profiling annotations. Developers only." OFF)
71
+ set(NVTX_HEADER_DIR "" CACHE PATH "Path to the stand-alone nvtx header")
72
+ option(HIDE_CXX_SYMBOLS "Build shared library and hide all C++ symbols" OFF)
73
+ option(KEEP_BUILD_ARTIFACTS_IN_BINARY_DIR "Output build artifacts in CMake binary dir" OFF)
74
+ ## CUDA
75
+ option(USE_CUDA "Build with GPU acceleration" OFF)
76
+ option(USE_NCCL "Build with NCCL to enable distributed GPU support." OFF)
77
+ option(USE_NVCOMP "Build with nvcomp to enable sparse data compression. (experimental)" OFF)
78
+ # This is specifically designed for PyPI binary release and should be disabled for most of the cases.
79
+ option(USE_DLOPEN_NCCL "Whether to load nccl dynamically." OFF)
80
+ option(BUILD_WITH_SHARED_NCCL "Build with shared NCCL library." OFF)
81
+
82
+ if(USE_CUDA)
83
+ if(NOT DEFINED CMAKE_CUDA_ARCHITECTURES AND NOT DEFINED ENV{CUDAARCHS})
84
+ set(GPU_COMPUTE_VER "" CACHE STRING
85
+ "Semicolon separated list of compute versions to be built against, e.g. '35;61'")
86
+ else()
87
+ # Clear any cached values from previous runs
88
+ unset(GPU_COMPUTE_VER)
89
+ unset(GPU_COMPUTE_VER CACHE)
90
+ endif()
91
+ endif()
92
+
93
+ # CUDA device LTO was introduced in CMake v3.25 and requires host LTO to also be enabled but can still
94
+ # be explicitly disabled allowing for LTO on host only, host and device, or neither, but device-only LTO
95
+ # is not a supproted configuration
96
+ cmake_dependent_option(USE_CUDA_LTO
97
+ "Enable link-time optimization for CUDA device code"
98
+ "${CMAKE_INTERPROCEDURAL_OPTIMIZATION}"
99
+ "CMAKE_VERSION VERSION_GREATER_EQUAL 3.25;USE_CUDA;CMAKE_INTERPROCEDURAL_OPTIMIZATION"
100
+ OFF)
101
+ ## Sanitizers
102
+ option(USE_SANITIZER "Use santizer flags" OFF)
103
+ option(SANITIZER_PATH "Path to sanitizes.")
104
+ set(ENABLED_SANITIZERS "address" "leak" CACHE STRING
105
+ "Semicolon separated list of sanitizer names. E.g 'address;leak'. Supported sanitizers are
106
+ address, leak, undefined and thread.")
107
+ ## Plugins
108
+ option(PLUGIN_RMM "Build with RAPIDS Memory Manager (RMM)" OFF)
109
+ option(PLUGIN_FEDERATED "Build with Federated Learning" OFF)
110
+ ## TODO: 1. Add check if DPC++ compiler is used for building
111
+ option(PLUGIN_SYCL "SYCL plugin" OFF)
112
+ option(ADD_PKGCONFIG "Add xgboost.pc into system." ON)
113
+
114
+ #-- Checks for building XGBoost
115
+ if(USE_DEBUG_OUTPUT AND (NOT (CMAKE_BUILD_TYPE MATCHES Debug)))
116
+ message(SEND_ERROR "Do not enable `USE_DEBUG_OUTPUT' with release build.")
117
+ endif()
118
+ if(USE_NVTX AND (NOT USE_CUDA))
119
+ message(SEND_ERROR "`USE_NVTX` must be enabled with `USE_CUDA` flag.")
120
+ endif()
121
+ if(USE_NVTX)
122
+ if(CMAKE_VERSION VERSION_LESS "3.25.0")
123
+ # CUDA:nvtx3 target is added in 3.25
124
+ message("cmake >= 3.25 is required for NVTX.")
125
+ endif()
126
+ endif()
127
+ if(USE_NCCL AND (NOT USE_CUDA))
128
+ message(SEND_ERROR "`USE_NCCL` must be enabled with `USE_CUDA` flag.")
129
+ endif()
130
+ if(USE_NVCOMP AND (NOT USE_CUDA))
131
+ message(SEND_ERROR "`USE_NVCOMP` must be enabled with `USE_CUDA` flag.")
132
+ endif()
133
+ if(USE_DEVICE_DEBUG AND (NOT USE_CUDA))
134
+ message(SEND_ERROR "`USE_DEVICE_DEBUG` must be enabled with `USE_CUDA` flag.")
135
+ endif()
136
+ if(BUILD_WITH_SHARED_NCCL AND (NOT USE_NCCL))
137
+ message(SEND_ERROR "Build XGBoost with -DUSE_NCCL=ON to enable BUILD_WITH_SHARED_NCCL.")
138
+ endif()
139
+ if(USE_DLOPEN_NCCL AND (NOT USE_NCCL))
140
+ message(SEND_ERROR "Build XGBoost with -DUSE_NCCL=ON to enable USE_DLOPEN_NCCL.")
141
+ endif()
142
+ if(USE_DLOPEN_NCCL AND (NOT (CMAKE_SYSTEM_NAME STREQUAL "Linux")))
143
+ message(SEND_ERROR "`USE_DLOPEN_NCCL` supports only Linux at the moment.")
144
+ endif()
145
+ if(JVM_BINDINGS AND R_LIB)
146
+ message(SEND_ERROR "`R_LIB' is not compatible with `JVM_BINDINGS' as they both have customized configurations.")
147
+ endif()
148
+ if(R_LIB AND GOOGLE_TEST)
149
+ message(
150
+ WARNING
151
+ "Some C++ tests will fail with `R_LIB` enabled, as R package redirects some functions to R runtime implementation."
152
+ )
153
+ endif()
154
+ if(R_LIB AND USE_NCCL)
155
+ message(SEND_ERROR "`R_LIB` doesn't support distributed computing with NCCL yet.")
156
+ endif()
157
+ if(PLUGIN_RMM AND NOT (USE_CUDA))
158
+ message(SEND_ERROR "`PLUGIN_RMM` must be enabled with `USE_CUDA` flag.")
159
+ endif()
160
+ if(PLUGIN_RMM AND NOT ((CMAKE_CXX_COMPILER_ID STREQUAL "Clang") OR (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")))
161
+ message(SEND_ERROR "`PLUGIN_RMM` must be used with GCC or Clang compiler.")
162
+ endif()
163
+ if(PLUGIN_RMM AND NOT (CMAKE_SYSTEM_NAME STREQUAL "Linux"))
164
+ message(SEND_ERROR "`PLUGIN_RMM` must be used with Linux.")
165
+ endif()
166
+ if(ENABLE_ALL_WARNINGS)
167
+ if((NOT CMAKE_CXX_COMPILER_ID MATCHES "Clang") AND (NOT CMAKE_CXX_COMPILER_ID STREQUAL "GNU"))
168
+ message(SEND_ERROR "ENABLE_ALL_WARNINGS is only available for Clang and GCC.")
169
+ endif()
170
+ endif()
171
+ if(BUILD_STATIC_LIB AND (R_LIB OR JVM_BINDINGS))
172
+ message(SEND_ERROR "Cannot build a static library libxgboost.a when R or JVM packages are enabled.")
173
+ endif()
174
+ if(PLUGIN_FEDERATED)
175
+ if(CMAKE_CROSSCOMPILING)
176
+ message(SEND_ERROR "Cannot cross compile with federated learning support")
177
+ endif()
178
+ if(BUILD_STATIC_LIB)
179
+ message(SEND_ERROR "Cannot build static lib with federated learning support")
180
+ endif()
181
+ if(R_LIB OR JVM_BINDINGS)
182
+ message(SEND_ERROR "Cannot enable federated learning support when R or JVM packages are enabled.")
183
+ endif()
184
+ if(WIN32)
185
+ message(SEND_ERROR "Federated learning not supported for Windows platform")
186
+ endif()
187
+ endif()
188
+
189
+ #-- Removed options
190
+ if(USE_AVX)
191
+ message(SEND_ERROR "The option `USE_AVX` is deprecated as experimental AVX features have been removed from XGBoost.")
192
+ endif()
193
+ if(PLUGIN_LZ4)
194
+ message(SEND_ERROR "The option `PLUGIN_LZ4` is removed from XGBoost.")
195
+ endif()
196
+ if(RABIT_BUILD_MPI)
197
+ message(SEND_ERROR "The option `RABIT_BUILD_MPI` has been removed from XGBoost.")
198
+ endif()
199
+ if(USE_S3)
200
+ message(SEND_ERROR "The option `USE_S3` has been removed from XGBoost")
201
+ endif()
202
+ if(USE_AZURE)
203
+ message(SEND_ERROR "The option `USE_AZURE` has been removed from XGBoost")
204
+ endif()
205
+ if(USE_HDFS)
206
+ message(SEND_ERROR "The option `USE_HDFS` has been removed from XGBoost")
207
+ endif()
208
+ if(PLUGIN_DENSE_PARSER)
209
+ message(SEND_ERROR "The option `PLUGIN_DENSE_PARSER` has been removed from XGBoost.")
210
+ endif()
211
+ if(BUILD_DEPRECATED_CLI)
212
+ message(SEND_ERROR "The option `BUILD_DEPRECATED_CLI` is removed from XGBoost.")
213
+ endif()
214
+
215
+ #-- Sanitizer
216
+ if(USE_SANITIZER)
217
+ include(cmake/Sanitizer.cmake)
218
+ enable_sanitizers("${ENABLED_SANITIZERS}")
219
+ endif()
220
+
221
+ if(USE_CUDA)
222
+ set(USE_OPENMP ON CACHE BOOL "CUDA requires OpenMP" FORCE)
223
+ # `export CXX=' is ignored by CMake CUDA.
224
+ if(NOT DEFINED CMAKE_CUDA_HOST_COMPILER AND NOT DEFINED ENV{CUDAHOSTCXX})
225
+ set(CMAKE_CUDA_HOST_COMPILER ${CMAKE_CXX_COMPILER} CACHE FILEPATH
226
+ "The compiler executable to use when compiling host code for CUDA or HIP language files.")
227
+ mark_as_advanced(CMAKE_CUDA_HOST_COMPILER)
228
+ message(STATUS "Configured CUDA host compiler: ${CMAKE_CUDA_HOST_COMPILER}")
229
+ endif()
230
+
231
+ if(NOT DEFINED CMAKE_CUDA_RUNTIME_LIBRARY)
232
+ set(CMAKE_CUDA_RUNTIME_LIBRARY Static)
233
+ endif()
234
+
235
+ enable_language(CUDA)
236
+ if(CMAKE_CUDA_COMPILER_TOOLKIT_VERSION)
237
+ set(xgboost_cuda_toolkit_version ${CMAKE_CUDA_COMPILER_TOOLKIT_VERSION})
238
+ else()
239
+ set(xgboost_cuda_toolkit_version ${CMAKE_CUDA_COMPILER_VERSION})
240
+ endif()
241
+ if("${xgboost_cuda_toolkit_version}" VERSION_LESS "12.9")
242
+ message(FATAL_ERROR "CUDA version must be at least 12.9!")
243
+ endif()
244
+ if(DEFINED GPU_COMPUTE_VER)
245
+ compute_cmake_cuda_archs("${GPU_COMPUTE_VER}")
246
+ endif()
247
+
248
+ find_package(CUDAToolkit 12.9 REQUIRED)
249
+ endif()
250
+
251
+ if(USE_NVCOMP)
252
+ find_package(nvcomp REQUIRED)
253
+ endif()
254
+
255
+
256
+ if(FORCE_COLORED_OUTPUT AND (CMAKE_GENERATOR STREQUAL "Ninja") AND
257
+ ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") OR
258
+ (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")))
259
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fdiagnostics-color=always")
260
+ endif()
261
+
262
+ if(NOT (CMAKE_SYSTEM_NAME STREQUAL "Emscripten"))
263
+ find_package(Threads REQUIRED)
264
+ endif()
265
+
266
+ # -- OpenMP
267
+ include(cmake/FindOpenMPMacOS.cmake)
268
+ if(USE_OPENMP)
269
+ if(APPLE)
270
+ find_openmp_macos()
271
+ else()
272
+ find_package(OpenMP REQUIRED C CXX)
273
+ endif()
274
+ endif()
275
+
276
+ # Add for IBM i
277
+ if(${CMAKE_SYSTEM_NAME} MATCHES "OS400")
278
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread")
279
+ set(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> -X64 qc <TARGET> <OBJECTS>")
280
+ endif()
281
+
282
+ if(USE_NCCL)
283
+ find_package(Nccl REQUIRED)
284
+ endif()
285
+
286
+ if(MSVC)
287
+ if(FORCE_SHARED_CRT)
288
+ message(STATUS "XGBoost: Using dynamically linked MSVC runtime...")
289
+ set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>DLL")
290
+ else()
291
+ message(STATUS "XGBoost: Using statically linked MSVC runtime...")
292
+ set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
293
+ endif()
294
+ endif()
295
+
296
+ # dmlc-core
297
+ set(DMLC_FORCE_SHARED_CRT ${FORCE_SHARED_CRT})
298
+ if(BUILD_WITH_SYSTEM_DMLC)
299
+ find_package(dmlc REQUIRED)
300
+ else()
301
+ set(DMLC_FORCE_SHARED_CRT ${FORCE_SHARED_CRT})
302
+ add_subdirectory(${xgboost_SOURCE_DIR}/dmlc-core)
303
+ endif()
304
+
305
+ if(MSVC)
306
+ if(TARGET dmlc_unit_tests)
307
+ target_compile_options(
308
+ dmlc_unit_tests PRIVATE
309
+ -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE
310
+ )
311
+ endif()
312
+ endif()
313
+
314
+ # core xgboost
315
+ add_subdirectory(${xgboost_SOURCE_DIR}/src)
316
+ # dmlc-core
317
+ if(BUILD_WTIH_SYSTEM_DMLC)
318
+ target_link_libraries(objxgboost PUBLIC ${dmlc-LIBRARIES})
319
+ else()
320
+ target_link_libraries(objxgboost PUBLIC dmlc)
321
+ endif()
322
+
323
+ # Link -lstdc++fs for GCC 8.x
324
+ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS "9.0")
325
+ target_link_libraries(objxgboost PUBLIC stdc++fs)
326
+ endif()
327
+
328
+ # Exports some R specific definitions and objects
329
+ if(R_LIB)
330
+ add_subdirectory(${xgboost_SOURCE_DIR}/R-package)
331
+ endif()
332
+
333
+ # This creates its own shared library `xgboost4j'.
334
+ if(JVM_BINDINGS)
335
+ add_subdirectory(${xgboost_SOURCE_DIR}/jvm-packages)
336
+ endif()
337
+
338
+ # Plugin
339
+ add_subdirectory(${xgboost_SOURCE_DIR}/plugin)
340
+
341
+ if(PLUGIN_RMM)
342
+ find_package(rmm REQUIRED)
343
+
344
+ # Patch the rmm targets so they reference the static cudart
345
+ # Remove this patch once RMM stops specifying cudart requirement
346
+ # (since RMM is a header-only library, it should not specify cudart in its CMake config)
347
+ get_target_property(rmm_link_libs rmm::rmm INTERFACE_LINK_LIBRARIES)
348
+ list(REMOVE_ITEM rmm_link_libs CUDA::cudart)
349
+ list(APPEND rmm_link_libs CUDA::cudart_static)
350
+ set_target_properties(rmm::rmm PROPERTIES INTERFACE_LINK_LIBRARIES "${rmm_link_libs}")
351
+
352
+ # Pick up patched CCCL from RMM
353
+ elseif(USE_CUDA)
354
+ # If using CUDA and not RMM, search for CCCL.
355
+ # Use HINTS to prioritize CCCL from the same CUDA toolkit as nvcc (e.g., in conda environments).
356
+ # CUDAToolkit_TARGET_DIR points to the target-specific directory (e.g., targets/x86_64-linux).
357
+ find_package(CCCL CONFIG
358
+ HINTS ${CUDAToolkit_TARGET_DIR}/lib/cmake ${CUDAToolkit_LIBRARY_DIR}/cmake)
359
+ if(CCCL_FOUND)
360
+ message(STATUS "Standalone CCCL found.")
361
+ else()
362
+ message(STATUS "Standalone CCCL not found. Attempting to use CCCL from CUDA Toolkit...")
363
+ find_package(CCCL CONFIG
364
+ HINTS ${CUDAToolkit_TARGET_DIR}/lib/cmake ${CUDAToolkit_LIBRARY_DIR}/cmake)
365
+ if(NOT CCCL_FOUND)
366
+ message(STATUS "Could not locate CCCL from CUDA Toolkit. Using Thrust and CUB from CUDA Toolkit...")
367
+ find_package(libcudacxx CONFIG REQUIRED
368
+ HINTS ${CUDAToolkit_TARGET_DIR}/lib/cmake ${CUDAToolkit_LIBRARY_DIR}/cmake)
369
+ find_package(CUB CONFIG REQUIRED
370
+ HINTS ${CUDAToolkit_TARGET_DIR}/lib/cmake ${CUDAToolkit_LIBRARY_DIR}/cmake)
371
+ find_package(Thrust CONFIG REQUIRED
372
+ HINTS ${CUDAToolkit_TARGET_DIR}/lib/cmake ${CUDAToolkit_LIBRARY_DIR}/cmake)
373
+ thrust_create_target(Thrust HOST CPP DEVICE CUDA)
374
+ add_library(CCCL::CCCL INTERFACE IMPORTED GLOBAL)
375
+ target_link_libraries(CCCL::CCCL INTERFACE libcudacxx::libcudacxx CUB::CUB Thrust)
376
+ endif()
377
+ endif()
378
+ # Define guard macros to prevent windows.h from conflicting with winsock2.h
379
+ if(WIN32)
380
+ target_compile_definitions(CCCL::CCCL INTERFACE NOMINMAX WIN32_LEAN_AND_MEAN _WINSOCKAPI_)
381
+ endif()
382
+ endif()
383
+
384
+ if(PLUGIN_SYCL)
385
+ set(CMAKE_CXX_LINK_EXECUTABLE
386
+ "icpx <FLAGS> <CMAKE_CXX_LINK_FLAGS> -qopenmp <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
387
+ set(CMAKE_CXX_CREATE_SHARED_LIBRARY
388
+ "icpx -shared <CMAKE_SHARED_LIBRARY_CXX_FLAGS> -qopenmp <LANGUAGE_COMPILE_FLAGS> \
389
+ <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS> <SONAME_FLAG>,<TARGET_SONAME> \
390
+ -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
391
+ endif()
392
+
393
+ #-- library
394
+ if(BUILD_STATIC_LIB)
395
+ add_library(xgboost STATIC)
396
+ else()
397
+ # Provide versioned shared object
398
+ add_library(xgboost SHARED)
399
+ set_target_properties(xgboost PROPERTIES
400
+ VERSION ${PROJECT_VERSION}
401
+ SOVERSION ${PROJECT_VERSION_MAJOR})
402
+ endif()
403
+ target_link_libraries(xgboost PRIVATE objxgboost)
404
+ target_include_directories(xgboost
405
+ INTERFACE
406
+ $<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>
407
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include>)
408
+ #-- End shared library
409
+
410
+ # Common setup for all targets
411
+ foreach(target xgboost objxgboost)
412
+ xgboost_target_properties(${target})
413
+ xgboost_target_link_libraries(${target})
414
+ xgboost_target_defs(${target})
415
+ endforeach()
416
+ if(NOT BUILD_WITH_SYSTEM_DMLC)
417
+ xgboost_target_properties(dmlc)
418
+ xgboost_target_link_libraries(dmlc)
419
+ xgboost_target_defs(dmlc)
420
+ endif()
421
+
422
+ if(JVM_BINDINGS)
423
+ xgboost_target_properties(xgboost4j)
424
+ xgboost_target_link_libraries(xgboost4j)
425
+ xgboost_target_defs(xgboost4j)
426
+ endif()
427
+
428
+ if(USE_OPENMP AND APPLE AND NOT BUILD_STATIC_LIB)
429
+ patch_openmp_path_macos(xgboost libxgboost)
430
+ endif()
431
+
432
+ if(KEEP_BUILD_ARTIFACTS_IN_BINARY_DIR)
433
+ set_output_directory(xgboost ${xgboost_BINARY_DIR}/lib)
434
+ else()
435
+ set_output_directory(xgboost ${xgboost_SOURCE_DIR}/lib)
436
+ endif()
437
+
438
+ #-- Installing XGBoost
439
+ if(R_LIB)
440
+ include(cmake/RPackageInstallTargetSetup.cmake)
441
+ set_target_properties(xgboost PROPERTIES PREFIX "")
442
+ if(APPLE)
443
+ set_target_properties(xgboost PROPERTIES SUFFIX ".so")
444
+ endif()
445
+ setup_rpackage_install_target(xgboost "${CMAKE_CURRENT_BINARY_DIR}/R-package-install")
446
+ set(CMAKE_INSTALL_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/dummy_inst")
447
+ endif()
448
+ if(MINGW)
449
+ set_target_properties(xgboost PROPERTIES PREFIX "")
450
+ endif()
451
+
452
+ if(BUILD_C_DOC)
453
+ include(cmake/Doc.cmake)
454
+ run_doxygen()
455
+ endif()
456
+
457
+ include(CPack)
458
+
459
+ include(GNUInstallDirs)
460
+ # Install all headers. Please note that currently the C++ headers does not form an "API".
461
+ install(DIRECTORY ${xgboost_SOURCE_DIR}/include/xgboost
462
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
463
+
464
+ # Install libraries. If `xgboost` is a static lib, specify `objxgboost` also, to avoid the
465
+ # following error:
466
+ #
467
+ # > install(EXPORT ...) includes target "xgboost" which requires target "objxgboost" that is not
468
+ # > in any export set.
469
+ #
470
+ # https://github.com/dmlc/xgboost/issues/6085
471
+ if(BUILD_STATIC_LIB)
472
+ set(INSTALL_TARGETS xgboost objxgboost dmlc)
473
+ else()
474
+ set(INSTALL_TARGETS xgboost)
475
+ endif()
476
+
477
+ install(TARGETS ${INSTALL_TARGETS}
478
+ EXPORT XGBoostTargets
479
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
480
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
481
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
482
+ INCLUDES DESTINATION ${LIBLEGACY_INCLUDE_DIRS})
483
+ install(EXPORT XGBoostTargets
484
+ FILE XGBoostTargets.cmake
485
+ NAMESPACE xgboost::
486
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/xgboost)
487
+
488
+ include(CMakePackageConfigHelpers)
489
+ configure_package_config_file(
490
+ ${CMAKE_CURRENT_LIST_DIR}/cmake/xgboost-config.cmake.in
491
+ ${CMAKE_CURRENT_BINARY_DIR}/cmake/xgboost-config.cmake
492
+ INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/xgboost)
493
+ write_basic_package_version_file(
494
+ ${CMAKE_BINARY_DIR}/cmake/xgboost-config-version.cmake
495
+ VERSION ${XGBOOST_VERSION}
496
+ COMPATIBILITY AnyNewerVersion)
497
+ install(
498
+ FILES
499
+ ${CMAKE_CURRENT_BINARY_DIR}/cmake/xgboost-config.cmake
500
+ ${CMAKE_BINARY_DIR}/cmake/xgboost-config-version.cmake
501
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/xgboost)
502
+
503
+ #-- Test
504
+ if(GOOGLE_TEST)
505
+ enable_testing()
506
+ # Unittests.
507
+ add_executable(testxgboost)
508
+ target_link_libraries(testxgboost PRIVATE objxgboost)
509
+ xgboost_target_properties(testxgboost)
510
+ xgboost_target_link_libraries(testxgboost)
511
+ xgboost_target_defs(testxgboost)
512
+
513
+ add_subdirectory(${xgboost_SOURCE_DIR}/tests/cpp)
514
+
515
+ add_test(
516
+ NAME TestXGBoostLib
517
+ COMMAND testxgboost
518
+ WORKING_DIRECTORY ${xgboost_BINARY_DIR})
519
+ endif()
520
+
521
+ # Add xgboost.pc
522
+ if(ADD_PKGCONFIG)
523
+ configure_file(${xgboost_SOURCE_DIR}/cmake/xgboost.pc.in ${xgboost_BINARY_DIR}/xgboost.pc @ONLY)
524
+
525
+ install(
526
+ FILES ${xgboost_BINARY_DIR}/xgboost.pc
527
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
528
+ endif()