pydeepity 0.1.0a3__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 (202) hide show
  1. pydeepity-0.1.0a3/.clang-format +48 -0
  2. pydeepity-0.1.0a3/.clang-tidy +381 -0
  3. pydeepity-0.1.0a3/.gitattributes +39 -0
  4. pydeepity-0.1.0a3/.gitignore +52 -0
  5. pydeepity-0.1.0a3/CHANGELOG.md +76 -0
  6. pydeepity-0.1.0a3/CMakeLists.txt +1072 -0
  7. pydeepity-0.1.0a3/CMakePresets.json +59 -0
  8. pydeepity-0.1.0a3/CODE_OF_CONDUCT.md +129 -0
  9. pydeepity-0.1.0a3/CONTRIBUTING.md +284 -0
  10. pydeepity-0.1.0a3/Doxyfile +3038 -0
  11. pydeepity-0.1.0a3/LICENSE +21 -0
  12. pydeepity-0.1.0a3/PKG-INFO +346 -0
  13. pydeepity-0.1.0a3/README.md +322 -0
  14. pydeepity-0.1.0a3/SECURITY.md +76 -0
  15. pydeepity-0.1.0a3/bindings/BindingHelpers.h +82 -0
  16. pydeepity-0.1.0a3/bindings/LayerBindings.cpp +1017 -0
  17. pydeepity-0.1.0a3/bindings/LayerBindings.h +12 -0
  18. pydeepity-0.1.0a3/bindings/NetworkBindings.cpp +1337 -0
  19. pydeepity-0.1.0a3/bindings/NetworkBindings.h +12 -0
  20. pydeepity-0.1.0a3/bindings/UtilityBindings.cpp +97 -0
  21. pydeepity-0.1.0a3/bindings/UtilityBindings.h +14 -0
  22. pydeepity-0.1.0a3/bindings/pybinding.cpp +23 -0
  23. pydeepity-0.1.0a3/build.py +11 -0
  24. pydeepity-0.1.0a3/cmake/PatchHalideForNewerLLVM.cmake +27 -0
  25. pydeepity-0.1.0a3/deepity/ConvolutionalPCN.py +273 -0
  26. pydeepity-0.1.0a3/deepity/DKPPCN.py +289 -0
  27. pydeepity-0.1.0a3/deepity/FullPCN.py +411 -0
  28. pydeepity-0.1.0a3/deepity/GaussSeidelPCN.py +316 -0
  29. pydeepity-0.1.0a3/deepity/SequentialPCN.py +420 -0
  30. pydeepity-0.1.0a3/deepity/SimpleConvolutionalPCN.py +238 -0
  31. pydeepity-0.1.0a3/deepity/SimplePCN.py +534 -0
  32. pydeepity-0.1.0a3/deepity/__init__.py +94 -0
  33. pydeepity-0.1.0a3/deepity/_backend.py +6 -0
  34. pydeepity-0.1.0a3/deepity/layer.py +67 -0
  35. pydeepity-0.1.0a3/deepity/utils.py +140 -0
  36. pydeepity-0.1.0a3/deepity_build/cli.py +472 -0
  37. pydeepity-0.1.0a3/deepity_build/cmake_runner.py +97 -0
  38. pydeepity-0.1.0a3/deepity_build/config.py +102 -0
  39. pydeepity-0.1.0a3/deepity_build/git_info.py +40 -0
  40. pydeepity-0.1.0a3/deepity_build/pgo_workload.py +81 -0
  41. pydeepity-0.1.0a3/deepity_build/process.py +70 -0
  42. pydeepity-0.1.0a3/deepity_build/reporting/__init__.py +53 -0
  43. pydeepity-0.1.0a3/deepity_build/reporting/base.py +65 -0
  44. pydeepity-0.1.0a3/deepity_build/reporting/plain_reporter.py +176 -0
  45. pydeepity-0.1.0a3/deepity_build/reporting/rich_reporter.py +331 -0
  46. pydeepity-0.1.0a3/docs/mainpage.md +139 -0
  47. pydeepity-0.1.0a3/examples/benchmark.py +151 -0
  48. pydeepity-0.1.0a3/examples/mnist.py +211 -0
  49. pydeepity-0.1.0a3/examples/mnist_dkppcn.py +146 -0
  50. pydeepity-0.1.0a3/examples/test_ffnn.py +129 -0
  51. pydeepity-0.1.0a3/examples/test_ffnn_deep.py +152 -0
  52. pydeepity-0.1.0a3/examples/test_pcn_torch.py +71 -0
  53. pydeepity-0.1.0a3/examples/train_mnist_deep.py +197 -0
  54. pydeepity-0.1.0a3/examples/train_tiny_digits.py +119 -0
  55. pydeepity-0.1.0a3/examples/tune.py +141 -0
  56. pydeepity-0.1.0a3/examples/xor.py +35 -0
  57. pydeepity-0.1.0a3/include/deepity/backend/Backend.h +10 -0
  58. pydeepity-0.1.0a3/include/deepity/backend/CPUBackend.h +267 -0
  59. pydeepity-0.1.0a3/include/deepity/backend/CUDABackend.h +287 -0
  60. pydeepity-0.1.0a3/include/deepity/backend/DeviceType.h +13 -0
  61. pydeepity-0.1.0a3/include/deepity/backend/IComputeBackend.h +674 -0
  62. pydeepity-0.1.0a3/include/deepity/backend/Tensor.h +169 -0
  63. pydeepity-0.1.0a3/include/deepity/layers/ConvPCLayer.h +512 -0
  64. pydeepity-0.1.0a3/include/deepity/layers/DirectKPPCLayer.h +325 -0
  65. pydeepity-0.1.0a3/include/deepity/layers/DiscriminativePCLayer.h +463 -0
  66. pydeepity-0.1.0a3/include/deepity/layers/FullConvPCLayer.h +549 -0
  67. pydeepity-0.1.0a3/include/deepity/layers/FullPCLayer.h +490 -0
  68. pydeepity-0.1.0a3/include/deepity/layers/GaussSeidelPCLayer.h +424 -0
  69. pydeepity-0.1.0a3/include/deepity/layers/Layer.h +87 -0
  70. pydeepity-0.1.0a3/include/deepity/layers/SimpleConvPCLayer.h +346 -0
  71. pydeepity-0.1.0a3/include/deepity/layers/SimplePCLayer.h +478 -0
  72. pydeepity-0.1.0a3/include/deepity/networks/ConvPCNetwork.h +133 -0
  73. pydeepity-0.1.0a3/include/deepity/networks/DirectKPPCNetwork.h +241 -0
  74. pydeepity-0.1.0a3/include/deepity/networks/DiscriminativePCNetwork.h +258 -0
  75. pydeepity-0.1.0a3/include/deepity/networks/FullConvPCNetwork.h +201 -0
  76. pydeepity-0.1.0a3/include/deepity/networks/FullPCNetwork.h +275 -0
  77. pydeepity-0.1.0a3/include/deepity/networks/GaussSeidelPCNetwork.h +194 -0
  78. pydeepity-0.1.0a3/include/deepity/networks/SimpleConvPCNetwork.h +143 -0
  79. pydeepity-0.1.0a3/include/deepity/networks/SimplePCNetwork.h +237 -0
  80. pydeepity-0.1.0a3/include/deepity/utils/ActivationType.h +42 -0
  81. pydeepity-0.1.0a3/include/deepity/utils/Activations.h +166 -0
  82. pydeepity-0.1.0a3/include/deepity/utils/AdamOptimizer.h +18 -0
  83. pydeepity-0.1.0a3/include/deepity/utils/DeviceMemoryArena.h +141 -0
  84. pydeepity-0.1.0a3/include/deepity/utils/Im2Col.h +271 -0
  85. pydeepity-0.1.0a3/include/deepity/utils/LayerBindHelpers.h +63 -0
  86. pydeepity-0.1.0a3/include/deepity/utils/MaxPool2D.h +97 -0
  87. pydeepity-0.1.0a3/include/deepity/utils/MemoryArena.h +280 -0
  88. pydeepity-0.1.0a3/include/deepity/utils/ModelIO.h +126 -0
  89. pydeepity-0.1.0a3/include/deepity/utils/Optimize.h +186 -0
  90. pydeepity-0.1.0a3/include/deepity/utils/Profile.h +213 -0
  91. pydeepity-0.1.0a3/include/deepity/utils/RandomizeDistribution.h +54 -0
  92. pydeepity-0.1.0a3/include/deepity/utils/StreamAlignedBatcher.h +110 -0
  93. pydeepity-0.1.0a3/include/deepity/utils/Timer.h +28 -0
  94. pydeepity-0.1.0a3/include/deepity/utils/activations/ActivationDispatch.h +236 -0
  95. pydeepity-0.1.0a3/include/deepity/utils/activations/ActivationMacros.h +17 -0
  96. pydeepity-0.1.0a3/include/deepity/utils/activations/Gelu.h +347 -0
  97. pydeepity-0.1.0a3/include/deepity/utils/activations/HardTanh.h +48 -0
  98. pydeepity-0.1.0a3/include/deepity/utils/activations/Linear.h +32 -0
  99. pydeepity-0.1.0a3/include/deepity/utils/activations/Relu.h +239 -0
  100. pydeepity-0.1.0a3/include/deepity/utils/activations/Sigmoid.h +451 -0
  101. pydeepity-0.1.0a3/include/deepity/utils/activations/Tanh.h +363 -0
  102. pydeepity-0.1.0a3/include/deepity/utils/activations/VectorMath.h +98 -0
  103. pydeepity-0.1.0a3/include/nlohmann/json.hpp +29560 -0
  104. pydeepity-0.1.0a3/include/stb_image.h +7988 -0
  105. pydeepity-0.1.0a3/pyproject.toml +115 -0
  106. pydeepity-0.1.0a3/research/diagnose_pc_layer_stats.py +106 -0
  107. pydeepity-0.1.0a3/research/imagenet.py +652 -0
  108. pydeepity-0.1.0a3/research/imagenet_bp_control_vgg7_ce.py +300 -0
  109. pydeepity-0.1.0a3/research/imagenet_pc_vgg7_ce.py +396 -0
  110. pydeepity-0.1.0a3/research/imagenet_pytorch_baseline.py +254 -0
  111. pydeepity-0.1.0a3/research/imagenet_pytorch_baseline_ce.py +276 -0
  112. pydeepity-0.1.0a3/research/sweep_pc_ir.py +123 -0
  113. pydeepity-0.1.0a3/research/sweep_pc_optimizer_freeze.py +126 -0
  114. pydeepity-0.1.0a3/resources/ActivationCPUMetrics.png +0 -0
  115. pydeepity-0.1.0a3/resources/Deepity.png +0 -0
  116. pydeepity-0.1.0a3/resources/Deepity_logo.png +0 -0
  117. pydeepity-0.1.0a3/resources/MNIST_results.png +0 -0
  118. pydeepity-0.1.0a3/resources/PyTest.png +0 -0
  119. pydeepity-0.1.0a3/resources/accuracy_comparison.png +0 -0
  120. pydeepity-0.1.0a3/resources/bargraph.png +0 -0
  121. pydeepity-0.1.0a3/resources/batchsize.png +0 -0
  122. pydeepity-0.1.0a3/resources/branding/All files/Deepity-01.jpg +0 -0
  123. pydeepity-0.1.0a3/resources/branding/All files/Deepity-01.pdf +2077 -9
  124. pydeepity-0.1.0a3/resources/branding/All files/Deepity-01.png +0 -0
  125. pydeepity-0.1.0a3/resources/branding/All files/Deepity-01.svg +24 -0
  126. pydeepity-0.1.0a3/resources/branding/All files/Deepity-02.jpg +0 -0
  127. pydeepity-0.1.0a3/resources/branding/All files/Deepity-02.pdf +2072 -9
  128. pydeepity-0.1.0a3/resources/branding/All files/Deepity-02.png +0 -0
  129. pydeepity-0.1.0a3/resources/branding/All files/Deepity-02.svg +37 -0
  130. pydeepity-0.1.0a3/resources/branding/All files/Deepity-03.jpg +0 -0
  131. pydeepity-0.1.0a3/resources/branding/All files/Deepity-03.pdf +2068 -9
  132. pydeepity-0.1.0a3/resources/branding/All files/Deepity-03.png +0 -0
  133. pydeepity-0.1.0a3/resources/branding/All files/Deepity-03.svg +24 -0
  134. pydeepity-0.1.0a3/resources/branding/All files/Deepity-04.jpg +0 -0
  135. pydeepity-0.1.0a3/resources/branding/All files/Deepity-04.pdf +2068 -9
  136. pydeepity-0.1.0a3/resources/branding/All files/Deepity-04.png +0 -0
  137. pydeepity-0.1.0a3/resources/branding/All files/Deepity-04.svg +17 -0
  138. pydeepity-0.1.0a3/resources/branding/All files/Deepity-05.jpg +0 -0
  139. pydeepity-0.1.0a3/resources/branding/All files/Deepity-05.pdf +2069 -9
  140. pydeepity-0.1.0a3/resources/branding/All files/Deepity-05.png +0 -0
  141. pydeepity-0.1.0a3/resources/branding/All files/Deepity-05.svg +15 -0
  142. pydeepity-0.1.0a3/resources/branding/All files/Deepity-06.jpg +0 -0
  143. pydeepity-0.1.0a3/resources/branding/All files/Deepity-06.pdf +2069 -9
  144. pydeepity-0.1.0a3/resources/branding/All files/Deepity-06.png +0 -0
  145. pydeepity-0.1.0a3/resources/branding/All files/Deepity-06.svg +28 -0
  146. pydeepity-0.1.0a3/resources/branding/All files/Deepity-07.jpg +0 -0
  147. pydeepity-0.1.0a3/resources/branding/All files/Deepity-07.pdf +2067 -9
  148. pydeepity-0.1.0a3/resources/branding/All files/Deepity-07.png +0 -0
  149. pydeepity-0.1.0a3/resources/branding/All files/Deepity-07.svg +15 -0
  150. pydeepity-0.1.0a3/resources/branding/All files/Deepity-08.jpg +0 -0
  151. pydeepity-0.1.0a3/resources/branding/All files/Deepity-08.pdf +2066 -9
  152. pydeepity-0.1.0a3/resources/branding/All files/Deepity-08.png +0 -0
  153. pydeepity-0.1.0a3/resources/branding/All files/Deepity-08.svg +8 -0
  154. pydeepity-0.1.0a3/resources/branding/All files/Source File.ai +1873 -3
  155. pydeepity-0.1.0a3/resources/branding/All files/Vector File.eps +0 -0
  156. pydeepity-0.1.0a3/resources/buildingdeepity.png +0 -0
  157. pydeepity-0.1.0a3/resources/chicken_100.png +0 -0
  158. pydeepity-0.1.0a3/resources/chicken_60.png +0 -0
  159. pydeepity-0.1.0a3/resources/customdoxygen.css +489 -0
  160. pydeepity-0.1.0a3/resources/deepity-mark.png +0 -0
  161. pydeepity-0.1.0a3/resources/dkppcn_chart.png +0 -0
  162. pydeepity-0.1.0a3/resources/dkppcn_proof.png +0 -0
  163. pydeepity-0.1.0a3/resources/dkppcn_results.png +0 -0
  164. pydeepity-0.1.0a3/resources/linkedin.txt +23 -0
  165. pydeepity-0.1.0a3/resources/mnist_speed_comparison.png +0 -0
  166. pydeepity-0.1.0a3/resources/out.folded +20 -0
  167. pydeepity-0.1.0a3/resources/perf.svg +1382 -0
  168. pydeepity-0.1.0a3/src/backend/Backend.cpp +29 -0
  169. pydeepity-0.1.0a3/src/backend/CPUBackend.cpp +1035 -0
  170. pydeepity-0.1.0a3/src/backend/CPUBackendHighway.cpp +690 -0
  171. pydeepity-0.1.0a3/src/backend/CPUBackendHighway.h +115 -0
  172. pydeepity-0.1.0a3/src/backend/CPUBackendLibxsmm.cpp +127 -0
  173. pydeepity-0.1.0a3/src/backend/CPUBackendLibxsmm.h +43 -0
  174. pydeepity-0.1.0a3/src/backend/Tensor.cpp +5 -0
  175. pydeepity-0.1.0a3/src/backend/cuda/CUDABackendActivations.cu +236 -0
  176. pydeepity-0.1.0a3/src/backend/cuda/CUDABackendConv.cu +303 -0
  177. pydeepity-0.1.0a3/src/backend/cuda/CUDABackendCore.cu +283 -0
  178. pydeepity-0.1.0a3/src/backend/cuda/CUDABackendCudnnConv.cu +394 -0
  179. pydeepity-0.1.0a3/src/backend/cuda/CUDABackendElementwise.cu +187 -0
  180. pydeepity-0.1.0a3/src/backend/cuda/CUDABackendFusedOps.cu +421 -0
  181. pydeepity-0.1.0a3/src/backend/cuda/CUDABackendGemm.cu +324 -0
  182. pydeepity-0.1.0a3/src/backend/cuda/CUDABackendOptimizer.cu +121 -0
  183. pydeepity-0.1.0a3/src/backend/cuda/CUDACommon.cuh +129 -0
  184. pydeepity-0.1.0a3/src/backend/halide/FeedbackUpdateGenerator.cpp +90 -0
  185. pydeepity-0.1.0a3/src/layers/ConvPCLayer.cpp +666 -0
  186. pydeepity-0.1.0a3/src/layers/DirectKPPCLayer.cpp +487 -0
  187. pydeepity-0.1.0a3/src/layers/DiscriminativePCLayer.cpp +421 -0
  188. pydeepity-0.1.0a3/src/layers/FullConvPCLayer.cpp +1076 -0
  189. pydeepity-0.1.0a3/src/layers/FullPCLayer.cpp +624 -0
  190. pydeepity-0.1.0a3/src/layers/GaussSeidelPCLayer.cpp +352 -0
  191. pydeepity-0.1.0a3/src/layers/SimpleConvPCLayer.cpp +636 -0
  192. pydeepity-0.1.0a3/src/layers/SimplePCLayer.cpp +519 -0
  193. pydeepity-0.1.0a3/src/networks/ConvPCNetwork.cpp +365 -0
  194. pydeepity-0.1.0a3/src/networks/DirectKPPCNetwork.cpp +280 -0
  195. pydeepity-0.1.0a3/src/networks/DiscriminativePCNetwork.cpp +364 -0
  196. pydeepity-0.1.0a3/src/networks/FullConvPCNetwork.cpp +545 -0
  197. pydeepity-0.1.0a3/src/networks/FullPCNetwork.cpp +411 -0
  198. pydeepity-0.1.0a3/src/networks/GaussSeidelPCNetwork.cpp +290 -0
  199. pydeepity-0.1.0a3/src/networks/SimpleConvPCNetwork.cpp +335 -0
  200. pydeepity-0.1.0a3/src/networks/SimplePCNetwork.cpp +324 -0
  201. pydeepity-0.1.0a3/src/utils/StreamAlignedBatcher.cpp +84 -0
  202. pydeepity-0.1.0a3/uv.lock +1752 -0
@@ -0,0 +1,48 @@
1
+ BasedOnStyle: LLVM
2
+
3
+ # Indentation
4
+ IndentWidth: 2
5
+ TabWidth: 2
6
+ UseTab: Never
7
+
8
+ # Line length
9
+ ColumnLimit: 100
10
+
11
+ # Braces
12
+ BreakBeforeBraces: Allman
13
+ # Keep simple constructs compact.
14
+ AllowShortFunctionsOnASingleLine: Empty
15
+ AllowShortBlocksOnASingleLine: Never
16
+ # Do not force braces around single statements.
17
+ AllowShortIfStatementsOnASingleLine: Never
18
+ AllowShortLoopsOnASingleLine: false
19
+
20
+ # Pointers / references
21
+ PointerAlignment: Left
22
+ ReferenceAlignment: Left
23
+ DerivePointerAlignment: false
24
+
25
+ # Function calls / declarations
26
+ BinPackArguments: false
27
+ BinPackParameters: true
28
+
29
+ # Constructor initializers
30
+ BreakConstructorInitializers: BeforeComma
31
+ PackConstructorInitializers: BinPack
32
+
33
+ # Control flow
34
+ IndentCaseLabels: false
35
+ BreakBeforeBinaryOperators: None
36
+
37
+ # Includes
38
+ SortIncludes: true
39
+ IncludeBlocks: Preserve
40
+
41
+ # Comments
42
+ ReflowComments: true
43
+
44
+ # Trailing commas
45
+ InsertTrailingCommas: Wrapped
46
+
47
+ # C++
48
+ Standard: c++20
@@ -0,0 +1,381 @@
1
+ ---
2
+ Checks: 'clang-diagnostic-*,clang-analyzer-*,*,-clang-analyzer-alpha.*,-llvm-include-order,-fuchsia-default-arguments'
3
+ WarningsAsErrors: ''
4
+ HeaderFilterRegex: ''
5
+ AnalyzeTemporaryDtors: false
6
+ FormatStyle: none
7
+ User: andrei
8
+ CheckOptions:
9
+ - key: bugprone-argument-comment.StrictMode
10
+ value: '0'
11
+ - key: bugprone-assert-side-effect.AssertMacros
12
+ value: assert
13
+ - key: bugprone-assert-side-effect.CheckFunctionCalls
14
+ value: '0'
15
+ - key: bugprone-dangling-handle.HandleClasses
16
+ value: 'std::basic_string_view;std::experimental::basic_string_view'
17
+ - key: bugprone-string-constructor.LargeLengthThreshold
18
+ value: '8388608'
19
+ - key: bugprone-string-constructor.WarnOnLargeLength
20
+ value: '1'
21
+ - key: cert-dcl59-cpp.HeaderFileExtensions
22
+ value: ',h,hh,hpp,hxx'
23
+ - key: cert-err09-cpp.CheckThrowTemporaries
24
+ value: '1'
25
+ - key: cert-err61-cpp.CheckThrowTemporaries
26
+ value: '1'
27
+ - key: cert-oop11-cpp.IncludeStyle
28
+ value: llvm
29
+ - key: cppcoreguidelines-no-malloc.Allocations
30
+ value: '::malloc;::calloc'
31
+ - key: cppcoreguidelines-no-malloc.Deallocations
32
+ value: '::free'
33
+ - key: cppcoreguidelines-no-malloc.Reallocations
34
+ value: '::realloc'
35
+ - key: cppcoreguidelines-owning-memory.LegacyResourceConsumers
36
+ value: '::free;::realloc;::freopen;::fclose'
37
+ - key: cppcoreguidelines-owning-memory.LegacyResourceProducers
38
+ value: '::malloc;::aligned_alloc;::realloc;::calloc;::fopen;::freopen;::tmpfile'
39
+ - key: cppcoreguidelines-pro-bounds-constant-array-index.GslHeader
40
+ value: ''
41
+ - key: cppcoreguidelines-pro-bounds-constant-array-index.IncludeStyle
42
+ value: '0'
43
+ - key: cppcoreguidelines-pro-type-member-init.IgnoreArrays
44
+ value: '0'
45
+ - key: cppcoreguidelines-special-member-functions.AllowMissingMoveFunctions
46
+ value: '0'
47
+ - key: cppcoreguidelines-special-member-functions.AllowSoleDefaultDtor
48
+ value: '0'
49
+ - key: google-build-namespaces.HeaderFileExtensions
50
+ value: ',h,hh,hpp,hxx'
51
+ - key: google-global-names-in-headers.HeaderFileExtensions
52
+ value: ',h,hh,hpp,hxx'
53
+ - key: google-readability-braces-around-statements.ShortStatementLines
54
+ value: '1'
55
+ - key: google-readability-function-size.BranchThreshold
56
+ value: '4294967295'
57
+ - key: google-readability-function-size.LineThreshold
58
+ value: '4294967295'
59
+ - key: google-readability-function-size.NestingThreshold
60
+ value: '4294967295'
61
+ - key: google-readability-function-size.ParameterThreshold
62
+ value: '4294967295'
63
+ - key: google-readability-function-size.StatementThreshold
64
+ value: '800'
65
+ - key: google-readability-namespace-comments.ShortNamespaceLines
66
+ value: '10'
67
+ - key: google-readability-namespace-comments.SpacesBeforeComments
68
+ value: '2'
69
+ - key: google-runtime-int.SignedTypePrefix
70
+ value: int
71
+ - key: google-runtime-int.TypeSuffix
72
+ value: ''
73
+ - key: google-runtime-int.UnsignedTypePrefix
74
+ value: uint
75
+ - key: google-runtime-references.WhiteListTypes
76
+ value: ''
77
+ - key: hicpp-braces-around-statements.ShortStatementLines
78
+ value: '0'
79
+ - key: hicpp-function-size.BranchThreshold
80
+ value: '4294967295'
81
+ - key: hicpp-function-size.LineThreshold
82
+ value: '4294967295'
83
+ - key: hicpp-function-size.NestingThreshold
84
+ value: '4294967295'
85
+ - key: hicpp-function-size.ParameterThreshold
86
+ value: '4294967295'
87
+ - key: hicpp-function-size.StatementThreshold
88
+ value: '800'
89
+ - key: hicpp-member-init.IgnoreArrays
90
+ value: '0'
91
+ - key: hicpp-move-const-arg.CheckTriviallyCopyableMove
92
+ value: '1'
93
+ - key: hicpp-named-parameter.IgnoreFailedSplit
94
+ value: '0'
95
+ - key: hicpp-no-malloc.Allocations
96
+ value: '::malloc;::calloc'
97
+ - key: hicpp-no-malloc.Deallocations
98
+ value: '::free'
99
+ - key: hicpp-no-malloc.Reallocations
100
+ value: '::realloc'
101
+ - key: hicpp-special-member-functions.AllowMissingMoveFunctions
102
+ value: '0'
103
+ - key: hicpp-special-member-functions.AllowSoleDefaultDtor
104
+ value: '0'
105
+ - key: hicpp-use-auto.RemoveStars
106
+ value: '0'
107
+ - key: hicpp-use-emplace.ContainersWithPushBack
108
+ value: '::std::vector;::std::list;::std::deque'
109
+ - key: hicpp-use-emplace.SmartPointers
110
+ value: '::std::shared_ptr;::std::unique_ptr;::std::auto_ptr;::std::weak_ptr'
111
+ - key: hicpp-use-emplace.TupleMakeFunctions
112
+ value: '::std::make_pair;::std::make_tuple'
113
+ - key: hicpp-use-emplace.TupleTypes
114
+ value: '::std::pair;::std::tuple'
115
+ - key: hicpp-use-equals-default.IgnoreMacros
116
+ value: '1'
117
+ - key: hicpp-use-noexcept.ReplacementString
118
+ value: ''
119
+ - key: hicpp-use-noexcept.UseNoexceptFalse
120
+ value: '1'
121
+ - key: hicpp-use-nullptr.NullMacros
122
+ value: ''
123
+ - key: llvm-namespace-comment.ShortNamespaceLines
124
+ value: '1'
125
+ - key: llvm-namespace-comment.SpacesBeforeComments
126
+ value: '1'
127
+ - key: misc-definitions-in-headers.HeaderFileExtensions
128
+ value: ',h,hh,hpp,hxx'
129
+ - key: misc-definitions-in-headers.UseHeaderFileExtension
130
+ value: '1'
131
+ - key: misc-misplaced-widening-cast.CheckImplicitCasts
132
+ value: '0'
133
+ - key: misc-sizeof-expression.WarnOnSizeOfCompareToConstant
134
+ value: '1'
135
+ - key: misc-sizeof-expression.WarnOnSizeOfConstant
136
+ value: '1'
137
+ - key: misc-sizeof-expression.WarnOnSizeOfThis
138
+ value: '1'
139
+ - key: misc-suspicious-enum-usage.StrictMode
140
+ value: '0'
141
+ - key: misc-suspicious-missing-comma.MaxConcatenatedTokens
142
+ value: '5'
143
+ - key: misc-suspicious-missing-comma.RatioThreshold
144
+ value: '0.200000'
145
+ - key: misc-suspicious-missing-comma.SizeThreshold
146
+ value: '5'
147
+ - key: misc-suspicious-string-compare.StringCompareLikeFunctions
148
+ value: ''
149
+ - key: misc-suspicious-string-compare.WarnOnImplicitComparison
150
+ value: '1'
151
+ - key: misc-suspicious-string-compare.WarnOnLogicalNotComparison
152
+ value: '0'
153
+ - key: misc-throw-by-value-catch-by-reference.CheckThrowTemporaries
154
+ value: '1'
155
+ - key: modernize-loop-convert.MaxCopySize
156
+ value: '16'
157
+ - key: modernize-loop-convert.MinConfidence
158
+ value: reasonable
159
+ - key: modernize-loop-convert.NamingStyle
160
+ value: CamelCase
161
+ - key: modernize-make-shared.IgnoreMacros
162
+ value: '1'
163
+ - key: modernize-make-shared.IncludeStyle
164
+ value: '0'
165
+ - key: modernize-make-shared.MakeSmartPtrFunction
166
+ value: 'std::make_shared'
167
+ - key: modernize-make-shared.MakeSmartPtrFunctionHeader
168
+ value: memory
169
+ - key: modernize-make-unique.IgnoreMacros
170
+ value: '1'
171
+ - key: modernize-make-unique.IncludeStyle
172
+ value: '0'
173
+ - key: modernize-make-unique.MakeSmartPtrFunction
174
+ value: 'std::make_unique'
175
+ - key: modernize-make-unique.MakeSmartPtrFunctionHeader
176
+ value: memory
177
+ - key: modernize-pass-by-value.IncludeStyle
178
+ value: llvm
179
+ - key: modernize-pass-by-value.ValuesOnly
180
+ value: '0'
181
+ - key: modernize-raw-string-literal.ReplaceShorterLiterals
182
+ value: '0'
183
+ - key: modernize-replace-auto-ptr.IncludeStyle
184
+ value: llvm
185
+ - key: modernize-replace-random-shuffle.IncludeStyle
186
+ value: llvm
187
+ - key: modernize-use-auto.RemoveStars
188
+ value: '0'
189
+ - key: modernize-use-default-member-init.IgnoreMacros
190
+ value: '1'
191
+ - key: modernize-use-default-member-init.UseAssignment
192
+ value: '0'
193
+ - key: modernize-use-emplace.ContainersWithPushBack
194
+ value: '::std::vector;::std::list;::std::deque'
195
+ - key: modernize-use-emplace.SmartPointers
196
+ value: '::std::shared_ptr;::std::unique_ptr;::std::auto_ptr;::std::weak_ptr'
197
+ - key: modernize-use-emplace.TupleMakeFunctions
198
+ value: '::std::make_pair;::std::make_tuple'
199
+ - key: modernize-use-emplace.TupleTypes
200
+ value: '::std::pair;::std::tuple'
201
+ - key: modernize-use-equals-default.IgnoreMacros
202
+ value: '1'
203
+ - key: modernize-use-noexcept.ReplacementString
204
+ value: ''
205
+ - key: modernize-use-noexcept.UseNoexceptFalse
206
+ value: '1'
207
+ - key: modernize-use-nullptr.NullMacros
208
+ value: 'NULL'
209
+ - key: modernize-use-transparent-functors.SafeMode
210
+ value: '0'
211
+ - key: modernize-use-using.IgnoreMacros
212
+ value: '1'
213
+ - key: objc-forbidden-subclassing.ForbiddenSuperClassNames
214
+ value: 'ABNewPersonViewController;ABPeoplePickerNavigationController;ABPersonViewController;ABUnknownPersonViewController;NSHashTable;NSMapTable;NSPointerArray;NSPointerFunctions;NSTimer;UIActionSheet;UIAlertView;UIImagePickerController;UITextInputMode;UIWebView'
215
+ - key: objc-property-declaration.Acronyms
216
+ value: 'ASCII;PDF;XML;HTML;URL;RTF;HTTP;TIFF;JPG;PNG;GIF;LZW;ROM;RGB;CMYK;MIDI;FTP'
217
+ - key: performance-faster-string-find.StringLikeClasses
218
+ value: 'std::basic_string'
219
+ - key: performance-for-range-copy.WarnOnAllAutoCopies
220
+ value: '0'
221
+ - key: performance-inefficient-string-concatenation.StrictMode
222
+ value: '0'
223
+ - key: performance-inefficient-vector-operation.VectorLikeClasses
224
+ value: '::std::vector'
225
+ - key: performance-move-const-arg.CheckTriviallyCopyableMove
226
+ value: '1'
227
+ - key: performance-move-constructor-init.IncludeStyle
228
+ value: llvm
229
+ - key: performance-type-promotion-in-math-fn.IncludeStyle
230
+ value: llvm
231
+ - key: performance-unnecessary-value-param.IncludeStyle
232
+ value: llvm
233
+ - key: readability-braces-around-statements.ShortStatementLines
234
+ value: '0'
235
+ - key: readability-function-size.BranchThreshold
236
+ value: '4294967295'
237
+ - key: readability-function-size.LineThreshold
238
+ value: '4294967295'
239
+ - key: readability-function-size.NestingThreshold
240
+ value: '4294967295'
241
+ - key: readability-function-size.ParameterThreshold
242
+ value: '4294967295'
243
+ - key: readability-function-size.StatementThreshold
244
+ value: '800'
245
+ - key: readability-identifier-naming.IgnoreFailedSplit
246
+ value: '0'
247
+ - key: readability-implicit-bool-conversion.AllowIntegerConditions
248
+ value: '0'
249
+ - key: readability-implicit-bool-conversion.AllowPointerConditions
250
+ value: '0'
251
+ - key: readability-simplify-boolean-expr.ChainedConditionalAssignment
252
+ value: '0'
253
+ - key: readability-simplify-boolean-expr.ChainedConditionalReturn
254
+ value: '0'
255
+ - key: readability-static-accessed-through-instance.NameSpecifierNestingThreshold
256
+ value: '3'
257
+ - key: readability-identifier-naming.AbstractClassCase
258
+ value: CamelCase
259
+ - key: readability-identifier-naming.AbstractClassPrefix
260
+ value: 'A'
261
+ - key: readability-identifier-naming.ClassCase
262
+ value: CamelCase
263
+ - key: readability-identifier-naming.ClassPrefix
264
+ value: ''
265
+ - key: readability-identifier-naming.ClassConstantCase
266
+ value: camelBack
267
+ - key: readability-identifier-naming.ClassConstantPrefix
268
+ value: 'k'
269
+ - key: readability-identifier-naming.ClassMemberCase
270
+ value: camelBack
271
+ - key: readability-identifier-naming.ClassMethodCase
272
+ value: camelBack
273
+ - key: readability-identifier-naming.ConstantCase
274
+ value: camelBack
275
+ - key: readability-identifier-naming.ConstantSuffix
276
+ value: ''
277
+ - key: readability-identifier-naming.ConstexprFunctionCase
278
+ value: camelBack
279
+ - key: readability-identifier-naming.ConstexprMethodCase
280
+ value: camelBack
281
+ - key: readability-identifier-naming.ConstexprVariableCase
282
+ value: camelBack
283
+ - key: readability-identifier-naming.EnumCase
284
+ value: CamelCase
285
+ - key: readability-identifier-naming.EnumPrefix
286
+ value: 'E'
287
+ - key: readability-identifier-naming.EnumConstantCase
288
+ value: camelBack
289
+ - key: readability-identifier-naming.FunctionCase
290
+ value: camelBack
291
+ - key: readability-identifier-naming.GlobalConstantCase
292
+ value: UPPER_CASE
293
+ - key: readability-identifier-naming.GlobalFunctionCase
294
+ value: camelBack
295
+ - key: readability-identifier-naming.GlobalVariableCase
296
+ value: camelBack
297
+ - key: readability-identifier-naming.GlobalVariablePrefix
298
+ value: ''
299
+ - key: readability-identifier-naming.InlineNamespaceCase
300
+ value: lower_case
301
+ - key: readability-identifier-naming.LocalConstantCase
302
+ value: CamelCase
303
+ - key: readability-identifier-naming.LocalConstantPrefix
304
+ value: 'k'
305
+ - key: readability-identifier-naming.LocalVariableCase
306
+ value: camelBack
307
+ - key: readability-identifier-naming.MemberCase
308
+ value: CamelCase
309
+ - key: readability-identifier-naming.MemberPrefix
310
+ value: 'm'
311
+ - key: readability-identifier-naming.ConstantMemberCase
312
+ value: CamelCase
313
+ - key: readability-identifier-naming.PrivateMemberPrefix
314
+ value: ''
315
+ - key: readability-identifier-naming.ProtectedMemberPrefix
316
+ value: ''
317
+ - key: readability-identifier-naming.PublicMemberCase
318
+ value: camelBack
319
+ - key: readability-identifier-naming.MethodCase
320
+ value: camelBack
321
+ - key: readability-identifier-naming.PrivateMethodPrefix
322
+ value: ''
323
+ - key: readability-identifier-naming.ProtectedMethodPrefix
324
+ value: ''
325
+ - key: readability-identifier-naming.NamespaceCase
326
+ value: lower_case
327
+ - key: readability-identifier-naming.ParameterCase
328
+ value: camelBack
329
+ - key: readability-identifier-naming.ParameterPrefix
330
+ value: ''
331
+ - key: readability-identifier-naming.ConstantParameterCase
332
+ value: camelBack
333
+ - key: readability-identifier-naming.ConstantParameterPrefix
334
+ value: ''
335
+ - key: readability-identifier-naming.ParameterPackCase
336
+ value: camelBack
337
+ - key: readability-identifier-naming.PureFunctionCase
338
+ value: camelBack
339
+ - key: readability-identifier-naming.PureMethodCase
340
+ value: camelBack
341
+ - key: readability-identifier-naming.StaticConstantCase
342
+ value: CamelCase
343
+ - key: readability-identifier-naming.StaticVariableCase
344
+ value: CamelCase
345
+ - key: readability-identifier-naming.StaticVariablePrefix
346
+ value: 's'
347
+ - key: readability-identifier-naming.StructCase
348
+ value: CamelCase
349
+ - key: readability-identifier-naming.TemplateParameterCase
350
+ value: CamelCase
351
+ - key: readability-identifier-naming.TemplateTemplateParameterCase
352
+ value: CamelCase
353
+ - key: readability-identifier-naming.TemplateUsingCase
354
+ value: CamelCase
355
+ - key: readability-identifier-naming.TemplateUsingPrefix
356
+ value: ''
357
+ - key: readability-identifier-naming.TypeTemplateParameterCase
358
+ value: CamelCase
359
+ - key: readability-identifier-naming.TypeTemplateParameterSuffix
360
+ value: ''
361
+ - key: readability-identifier-naming.TypedefCase
362
+ value: CamelCase
363
+ - key: readability-identifier-naming.TypedefSuffix
364
+ value: ''
365
+ - key: readability-identifier-naming.UnionCase
366
+ value: CamelCase
367
+ - key: readability-identifier-naming.UnionPrefix
368
+ value: 'U'
369
+ - key: readability-identifier-naming.UsingCase
370
+ value: lower_case
371
+ - key: readability-identifier-naming.ValueTemplateParameterCase
372
+ value: camelBack
373
+ - key: readability-identifier-naming.VariableCase
374
+ value: camelBack
375
+ - key: readability-identifier-naming.VirtualMethodCase
376
+ value: camelBack
377
+ - key: readability-identifier-naming.VirtualMethodPrefix
378
+ value: ''
379
+ - key: readability-identifier-naming.IgnoreFailedSplit
380
+ value: 0
381
+ ...
@@ -0,0 +1,39 @@
1
+ * text=auto eol=lf
2
+
3
+ # though text=auto should already catch these
4
+ *.cpp text eol=lf
5
+ *.cc text eol=lf
6
+ *.h text eol=lf
7
+ *.hpp text eol=lf
8
+ *.cu text eol=lf
9
+ *.cuh text eol=lf
10
+ *.py text eol=lf
11
+ *.cmake text eol=lf
12
+ CMakeLists.txt text eol=lf
13
+ *.md text eol=lf
14
+ *.txt text eol=lf
15
+ *.json text eol=lf
16
+ *.yml text eol=lf
17
+ *.yaml text eol=lf
18
+ *.toml text eol=lf
19
+ *.sh text eol=lf
20
+ .clang-format text eol=lf
21
+
22
+ *.png binary
23
+ *.jpg binary
24
+ *.jpeg binary
25
+ *.pdf binary
26
+ *.gz binary
27
+ *.bin binary
28
+ *.so binary
29
+ *.pyd binary
30
+ *.dll binary
31
+ *.pyc binary
32
+
33
+ # GitHub/Linguist
34
+ data/** linguist-generated=true
35
+ resources/** linguist-generated=true
36
+ **/__pycache__/** linguist-generated=true
37
+ experiments/step-tuning/** linguist-generated=true
38
+ docs/html/** linguist-generated=true
39
+ docs/latex/** linguist-generated=true
@@ -0,0 +1,52 @@
1
+ .vscode/*
2
+ .venv/*
3
+ build/
4
+ bin/
5
+ __pycache__/*
6
+ tiny-imagenet-200/*
7
+ tiny-imagenet-200/
8
+ MNIST/*
9
+ pyrightconfig.json
10
+ *.safetensors
11
+ *_meta.json
12
+
13
+ # Claude Code -- local instructions and session/settings state, not shared.
14
+ /CLAUDE.md
15
+ .claude/
16
+
17
+ out/build/windows-clang/
18
+ repomix-output.xml
19
+ experiments/outputs/
20
+ experiments/data/
21
+ experiments/checkpoints/
22
+
23
+ # Downloaded datasets (MNIST etc.) -- regenerate via whatever example
24
+ # script downloads them, don't commit the blobs. Root-anchored: unlike
25
+ # the MNIST/* rule above (which only matches a top-level MNIST/, not
26
+ # nested ones), this covers data/ wherever it sits at the repo root.
27
+ /data/
28
+
29
+ # Doxygen output -- regenerate with `doxygen Doxyfile`, don't commit it.
30
+ # docs/mainpage.md is hand-written Doxygen input and stays tracked.
31
+ docs/html/
32
+ docs/latex/
33
+
34
+ *.lib
35
+ *.dll
36
+ *.so
37
+ *.pyd
38
+ *.exe
39
+ *.obj
40
+ *.o
41
+ CMakeCache.txt
42
+ CMakeFiles/
43
+ .ninja_log
44
+ compile_commands.json
45
+
46
+ wheelhouse/
47
+ dist/
48
+ *.egg-info/
49
+ _skbuild/
50
+ __pycache__/
51
+ *.pyc
52
+ scripts/
@@ -0,0 +1,76 @@
1
+ # Changelog
2
+
3
+ All notable changes to Deepity will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html)
7
+ once versioned releases begin (see [Versioning](#versioning) below).
8
+
9
+ Changes prior to the introduction of this file were not formally tracked;
10
+ history effectively begins at `[Unreleased]` below. See the git log for
11
+ earlier history.
12
+
13
+ ## [Unreleased]
14
+
15
+ ### Added
16
+
17
+ -
18
+
19
+ ### Changed
20
+
21
+ -
22
+
23
+ ### Deprecated
24
+
25
+ -
26
+
27
+ ### Removed
28
+
29
+ -
30
+
31
+ ### Fixed
32
+
33
+ - `tests/*.cpp` benchmark/verification executables didn't receive the same `-march`/ISA compile flags as the `Deepity`/`pydeepity` targets, so Deepity's header-only activation kernels silently compiled against the compiler's default ISA (SSE2) instead of whatever `build.py` selected -- `ActivationBenchmark`/`GflopsBenchmark` were measuring the wrong kernel. `Deepity`/`pydeepity` themselves were unaffected.
34
+
35
+ ### Security
36
+
37
+ -
38
+
39
+ <!--
40
+ When cutting a release:
41
+ 1. Rename [Unreleased] to the new version + date, e.g. [0.2.0] - 2026-09-01
42
+ 2. Add a fresh, empty [Unreleased] section above it using the template above
43
+ 3. Add a link reference at the bottom (see the pattern below)
44
+ 4. Bump the version in pyproject.toml to match
45
+ -->
46
+
47
+ <!--
48
+ ## [0.1.0] - YYYY-MM-DD
49
+
50
+ ### Added
51
+
52
+ - Initial tracked release.
53
+ -->
54
+
55
+ [Unreleased]: https://github.com/Ra4ster/Deepity/compare/main...HEAD
56
+
57
+ ## Versioning
58
+
59
+ Deepity follows [Semantic Versioning](https://semver.org/) (`MAJOR.MINOR.PATCH`)
60
+ once tagged releases begin:
61
+
62
+ - **MAJOR** — incompatible C++ or Python API changes (e.g. changing
63
+ `AddLayer`'s signature, renaming/removing a public header or `deepity`
64
+ function).
65
+ - **MINOR** — backwards-compatible functionality (new layer types, new
66
+ optimizers, new Python bindings, new build targets).
67
+ - **PATCH** — backwards-compatible bug fixes, performance improvements that
68
+ don't change behavior, and documentation-only changes.
69
+
70
+ Until the first `1.0.0` release, the project may make breaking changes in
71
+ `0.x` releases as the API stabilizes; these will still be called out under
72
+ **Changed**/**Removed** in this file.
73
+
74
+ The authoritative version number lives in [`pyproject.toml`](pyproject.toml)
75
+ and should be bumped as part of the same PR/commit that promotes
76
+ `[Unreleased]` to a versioned entry in this file.