xtgeo 4.10.0__cp312-cp312-macosx_11_0_arm64.whl → 4.10.1__cp312-cp312-macosx_11_0_arm64.whl

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.

Potentially problematic release.


This version of xtgeo might be problematic. Click here for more details.

Files changed (561) hide show
  1. xtgeo/_internal.cpython-312-darwin.so +0 -0
  2. xtgeo/common/version.py +2 -2
  3. xtgeo/include/fmt/args.h +220 -0
  4. xtgeo/include/fmt/base.h +2989 -0
  5. xtgeo/include/fmt/chrono.h +2330 -0
  6. xtgeo/include/fmt/color.h +637 -0
  7. xtgeo/include/fmt/compile.h +539 -0
  8. xtgeo/include/fmt/core.h +5 -0
  9. xtgeo/include/fmt/format-inl.h +1948 -0
  10. xtgeo/include/fmt/format.h +4244 -0
  11. xtgeo/include/fmt/os.h +427 -0
  12. xtgeo/include/fmt/ostream.h +167 -0
  13. xtgeo/include/fmt/printf.h +633 -0
  14. xtgeo/include/fmt/ranges.h +850 -0
  15. xtgeo/include/fmt/std.h +728 -0
  16. xtgeo/include/fmt/xchar.h +369 -0
  17. xtgeo/lib/cmake/fmt/fmt-config-version.cmake +43 -0
  18. xtgeo/lib/cmake/fmt/fmt-config.cmake +31 -0
  19. xtgeo/lib/cmake/fmt/fmt-targets-release.cmake +19 -0
  20. xtgeo/{share/eigen3/cmake/Eigen3Targets.cmake → lib/cmake/fmt/fmt-targets.cmake} +16 -6
  21. xtgeo/lib/libfmt.a +0 -0
  22. xtgeo/lib/pkgconfig/fmt.pc +11 -0
  23. {xtgeo-4.10.0.dist-info → xtgeo-4.10.1.dist-info}/METADATA +1 -1
  24. xtgeo-4.10.1.dist-info/RECORD +137 -0
  25. xtgeo/include/eigen3/Eigen/Cholesky +0 -45
  26. xtgeo/include/eigen3/Eigen/CholmodSupport +0 -48
  27. xtgeo/include/eigen3/Eigen/Core +0 -384
  28. xtgeo/include/eigen3/Eigen/Dense +0 -7
  29. xtgeo/include/eigen3/Eigen/Eigen +0 -2
  30. xtgeo/include/eigen3/Eigen/Eigenvalues +0 -60
  31. xtgeo/include/eigen3/Eigen/Geometry +0 -59
  32. xtgeo/include/eigen3/Eigen/Householder +0 -29
  33. xtgeo/include/eigen3/Eigen/IterativeLinearSolvers +0 -48
  34. xtgeo/include/eigen3/Eigen/Jacobi +0 -32
  35. xtgeo/include/eigen3/Eigen/KLUSupport +0 -41
  36. xtgeo/include/eigen3/Eigen/LU +0 -47
  37. xtgeo/include/eigen3/Eigen/MetisSupport +0 -35
  38. xtgeo/include/eigen3/Eigen/OrderingMethods +0 -70
  39. xtgeo/include/eigen3/Eigen/PaStiXSupport +0 -49
  40. xtgeo/include/eigen3/Eigen/PardisoSupport +0 -35
  41. xtgeo/include/eigen3/Eigen/QR +0 -50
  42. xtgeo/include/eigen3/Eigen/QtAlignedMalloc +0 -39
  43. xtgeo/include/eigen3/Eigen/SPQRSupport +0 -34
  44. xtgeo/include/eigen3/Eigen/SVD +0 -50
  45. xtgeo/include/eigen3/Eigen/Sparse +0 -34
  46. xtgeo/include/eigen3/Eigen/SparseCholesky +0 -37
  47. xtgeo/include/eigen3/Eigen/SparseCore +0 -69
  48. xtgeo/include/eigen3/Eigen/SparseLU +0 -50
  49. xtgeo/include/eigen3/Eigen/SparseQR +0 -36
  50. xtgeo/include/eigen3/Eigen/StdDeque +0 -27
  51. xtgeo/include/eigen3/Eigen/StdList +0 -26
  52. xtgeo/include/eigen3/Eigen/StdVector +0 -27
  53. xtgeo/include/eigen3/Eigen/SuperLUSupport +0 -64
  54. xtgeo/include/eigen3/Eigen/UmfPackSupport +0 -40
  55. xtgeo/include/eigen3/Eigen/src/Cholesky/LDLT.h +0 -688
  56. xtgeo/include/eigen3/Eigen/src/Cholesky/LLT.h +0 -558
  57. xtgeo/include/eigen3/Eigen/src/Cholesky/LLT_LAPACKE.h +0 -99
  58. xtgeo/include/eigen3/Eigen/src/CholmodSupport/CholmodSupport.h +0 -682
  59. xtgeo/include/eigen3/Eigen/src/Core/ArithmeticSequence.h +0 -413
  60. xtgeo/include/eigen3/Eigen/src/Core/Array.h +0 -417
  61. xtgeo/include/eigen3/Eigen/src/Core/ArrayBase.h +0 -226
  62. xtgeo/include/eigen3/Eigen/src/Core/ArrayWrapper.h +0 -209
  63. xtgeo/include/eigen3/Eigen/src/Core/Assign.h +0 -90
  64. xtgeo/include/eigen3/Eigen/src/Core/AssignEvaluator.h +0 -1010
  65. xtgeo/include/eigen3/Eigen/src/Core/Assign_MKL.h +0 -178
  66. xtgeo/include/eigen3/Eigen/src/Core/BandMatrix.h +0 -353
  67. xtgeo/include/eigen3/Eigen/src/Core/Block.h +0 -448
  68. xtgeo/include/eigen3/Eigen/src/Core/BooleanRedux.h +0 -162
  69. xtgeo/include/eigen3/Eigen/src/Core/CommaInitializer.h +0 -164
  70. xtgeo/include/eigen3/Eigen/src/Core/ConditionEstimator.h +0 -175
  71. xtgeo/include/eigen3/Eigen/src/Core/CoreEvaluators.h +0 -1741
  72. xtgeo/include/eigen3/Eigen/src/Core/CoreIterators.h +0 -132
  73. xtgeo/include/eigen3/Eigen/src/Core/CwiseBinaryOp.h +0 -183
  74. xtgeo/include/eigen3/Eigen/src/Core/CwiseNullaryOp.h +0 -1001
  75. xtgeo/include/eigen3/Eigen/src/Core/CwiseTernaryOp.h +0 -197
  76. xtgeo/include/eigen3/Eigen/src/Core/CwiseUnaryOp.h +0 -103
  77. xtgeo/include/eigen3/Eigen/src/Core/CwiseUnaryView.h +0 -132
  78. xtgeo/include/eigen3/Eigen/src/Core/DenseBase.h +0 -701
  79. xtgeo/include/eigen3/Eigen/src/Core/DenseCoeffsBase.h +0 -685
  80. xtgeo/include/eigen3/Eigen/src/Core/DenseStorage.h +0 -652
  81. xtgeo/include/eigen3/Eigen/src/Core/Diagonal.h +0 -258
  82. xtgeo/include/eigen3/Eigen/src/Core/DiagonalMatrix.h +0 -391
  83. xtgeo/include/eigen3/Eigen/src/Core/DiagonalProduct.h +0 -28
  84. xtgeo/include/eigen3/Eigen/src/Core/Dot.h +0 -318
  85. xtgeo/include/eigen3/Eigen/src/Core/EigenBase.h +0 -160
  86. xtgeo/include/eigen3/Eigen/src/Core/ForceAlignedAccess.h +0 -150
  87. xtgeo/include/eigen3/Eigen/src/Core/Fuzzy.h +0 -155
  88. xtgeo/include/eigen3/Eigen/src/Core/GeneralProduct.h +0 -465
  89. xtgeo/include/eigen3/Eigen/src/Core/GenericPacketMath.h +0 -1040
  90. xtgeo/include/eigen3/Eigen/src/Core/GlobalFunctions.h +0 -194
  91. xtgeo/include/eigen3/Eigen/src/Core/IO.h +0 -258
  92. xtgeo/include/eigen3/Eigen/src/Core/IndexedView.h +0 -237
  93. xtgeo/include/eigen3/Eigen/src/Core/Inverse.h +0 -117
  94. xtgeo/include/eigen3/Eigen/src/Core/Map.h +0 -171
  95. xtgeo/include/eigen3/Eigen/src/Core/MapBase.h +0 -310
  96. xtgeo/include/eigen3/Eigen/src/Core/MathFunctions.h +0 -2057
  97. xtgeo/include/eigen3/Eigen/src/Core/MathFunctionsImpl.h +0 -200
  98. xtgeo/include/eigen3/Eigen/src/Core/Matrix.h +0 -565
  99. xtgeo/include/eigen3/Eigen/src/Core/MatrixBase.h +0 -547
  100. xtgeo/include/eigen3/Eigen/src/Core/NestByValue.h +0 -85
  101. xtgeo/include/eigen3/Eigen/src/Core/NoAlias.h +0 -109
  102. xtgeo/include/eigen3/Eigen/src/Core/NumTraits.h +0 -335
  103. xtgeo/include/eigen3/Eigen/src/Core/PartialReduxEvaluator.h +0 -232
  104. xtgeo/include/eigen3/Eigen/src/Core/PermutationMatrix.h +0 -605
  105. xtgeo/include/eigen3/Eigen/src/Core/PlainObjectBase.h +0 -1128
  106. xtgeo/include/eigen3/Eigen/src/Core/Product.h +0 -191
  107. xtgeo/include/eigen3/Eigen/src/Core/ProductEvaluators.h +0 -1179
  108. xtgeo/include/eigen3/Eigen/src/Core/Random.h +0 -218
  109. xtgeo/include/eigen3/Eigen/src/Core/Redux.h +0 -515
  110. xtgeo/include/eigen3/Eigen/src/Core/Ref.h +0 -381
  111. xtgeo/include/eigen3/Eigen/src/Core/Replicate.h +0 -142
  112. xtgeo/include/eigen3/Eigen/src/Core/Reshaped.h +0 -454
  113. xtgeo/include/eigen3/Eigen/src/Core/ReturnByValue.h +0 -119
  114. xtgeo/include/eigen3/Eigen/src/Core/Reverse.h +0 -217
  115. xtgeo/include/eigen3/Eigen/src/Core/Select.h +0 -164
  116. xtgeo/include/eigen3/Eigen/src/Core/SelfAdjointView.h +0 -365
  117. xtgeo/include/eigen3/Eigen/src/Core/SelfCwiseBinaryOp.h +0 -47
  118. xtgeo/include/eigen3/Eigen/src/Core/Solve.h +0 -188
  119. xtgeo/include/eigen3/Eigen/src/Core/SolveTriangular.h +0 -235
  120. xtgeo/include/eigen3/Eigen/src/Core/SolverBase.h +0 -168
  121. xtgeo/include/eigen3/Eigen/src/Core/StableNorm.h +0 -251
  122. xtgeo/include/eigen3/Eigen/src/Core/StlIterators.h +0 -463
  123. xtgeo/include/eigen3/Eigen/src/Core/Stride.h +0 -116
  124. xtgeo/include/eigen3/Eigen/src/Core/Swap.h +0 -68
  125. xtgeo/include/eigen3/Eigen/src/Core/Transpose.h +0 -464
  126. xtgeo/include/eigen3/Eigen/src/Core/Transpositions.h +0 -386
  127. xtgeo/include/eigen3/Eigen/src/Core/TriangularMatrix.h +0 -1001
  128. xtgeo/include/eigen3/Eigen/src/Core/VectorBlock.h +0 -96
  129. xtgeo/include/eigen3/Eigen/src/Core/VectorwiseOp.h +0 -784
  130. xtgeo/include/eigen3/Eigen/src/Core/Visitor.h +0 -381
  131. xtgeo/include/eigen3/Eigen/src/Core/arch/AVX/Complex.h +0 -372
  132. xtgeo/include/eigen3/Eigen/src/Core/arch/AVX/MathFunctions.h +0 -228
  133. xtgeo/include/eigen3/Eigen/src/Core/arch/AVX/PacketMath.h +0 -1574
  134. xtgeo/include/eigen3/Eigen/src/Core/arch/AVX/TypeCasting.h +0 -115
  135. xtgeo/include/eigen3/Eigen/src/Core/arch/AVX512/Complex.h +0 -422
  136. xtgeo/include/eigen3/Eigen/src/Core/arch/AVX512/MathFunctions.h +0 -362
  137. xtgeo/include/eigen3/Eigen/src/Core/arch/AVX512/PacketMath.h +0 -2303
  138. xtgeo/include/eigen3/Eigen/src/Core/arch/AVX512/TypeCasting.h +0 -89
  139. xtgeo/include/eigen3/Eigen/src/Core/arch/AltiVec/Complex.h +0 -417
  140. xtgeo/include/eigen3/Eigen/src/Core/arch/AltiVec/MathFunctions.h +0 -90
  141. xtgeo/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +0 -2937
  142. xtgeo/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +0 -221
  143. xtgeo/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +0 -629
  144. xtgeo/include/eigen3/Eigen/src/Core/arch/AltiVec/PacketMath.h +0 -2711
  145. xtgeo/include/eigen3/Eigen/src/Core/arch/CUDA/Complex.h +0 -258
  146. xtgeo/include/eigen3/Eigen/src/Core/arch/Default/BFloat16.h +0 -700
  147. xtgeo/include/eigen3/Eigen/src/Core/arch/Default/ConjHelper.h +0 -117
  148. xtgeo/include/eigen3/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +0 -1649
  149. xtgeo/include/eigen3/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +0 -110
  150. xtgeo/include/eigen3/Eigen/src/Core/arch/Default/Half.h +0 -942
  151. xtgeo/include/eigen3/Eigen/src/Core/arch/Default/Settings.h +0 -49
  152. xtgeo/include/eigen3/Eigen/src/Core/arch/Default/TypeCasting.h +0 -120
  153. xtgeo/include/eigen3/Eigen/src/Core/arch/GPU/MathFunctions.h +0 -103
  154. xtgeo/include/eigen3/Eigen/src/Core/arch/GPU/PacketMath.h +0 -1685
  155. xtgeo/include/eigen3/Eigen/src/Core/arch/GPU/TypeCasting.h +0 -80
  156. xtgeo/include/eigen3/Eigen/src/Core/arch/HIP/hcc/math_constants.h +0 -23
  157. xtgeo/include/eigen3/Eigen/src/Core/arch/MSA/Complex.h +0 -648
  158. xtgeo/include/eigen3/Eigen/src/Core/arch/MSA/MathFunctions.h +0 -387
  159. xtgeo/include/eigen3/Eigen/src/Core/arch/MSA/PacketMath.h +0 -1233
  160. xtgeo/include/eigen3/Eigen/src/Core/arch/NEON/Complex.h +0 -584
  161. xtgeo/include/eigen3/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +0 -183
  162. xtgeo/include/eigen3/Eigen/src/Core/arch/NEON/MathFunctions.h +0 -75
  163. xtgeo/include/eigen3/Eigen/src/Core/arch/NEON/PacketMath.h +0 -4587
  164. xtgeo/include/eigen3/Eigen/src/Core/arch/NEON/TypeCasting.h +0 -1419
  165. xtgeo/include/eigen3/Eigen/src/Core/arch/SSE/Complex.h +0 -351
  166. xtgeo/include/eigen3/Eigen/src/Core/arch/SSE/MathFunctions.h +0 -199
  167. xtgeo/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h +0 -1505
  168. xtgeo/include/eigen3/Eigen/src/Core/arch/SSE/TypeCasting.h +0 -142
  169. xtgeo/include/eigen3/Eigen/src/Core/arch/SVE/MathFunctions.h +0 -44
  170. xtgeo/include/eigen3/Eigen/src/Core/arch/SVE/PacketMath.h +0 -752
  171. xtgeo/include/eigen3/Eigen/src/Core/arch/SVE/TypeCasting.h +0 -49
  172. xtgeo/include/eigen3/Eigen/src/Core/arch/SYCL/InteropHeaders.h +0 -232
  173. xtgeo/include/eigen3/Eigen/src/Core/arch/SYCL/MathFunctions.h +0 -301
  174. xtgeo/include/eigen3/Eigen/src/Core/arch/SYCL/PacketMath.h +0 -670
  175. xtgeo/include/eigen3/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h +0 -694
  176. xtgeo/include/eigen3/Eigen/src/Core/arch/SYCL/TypeCasting.h +0 -85
  177. xtgeo/include/eigen3/Eigen/src/Core/arch/ZVector/Complex.h +0 -426
  178. xtgeo/include/eigen3/Eigen/src/Core/arch/ZVector/MathFunctions.h +0 -233
  179. xtgeo/include/eigen3/Eigen/src/Core/arch/ZVector/PacketMath.h +0 -1060
  180. xtgeo/include/eigen3/Eigen/src/Core/functors/AssignmentFunctors.h +0 -177
  181. xtgeo/include/eigen3/Eigen/src/Core/functors/BinaryFunctors.h +0 -541
  182. xtgeo/include/eigen3/Eigen/src/Core/functors/NullaryFunctors.h +0 -189
  183. xtgeo/include/eigen3/Eigen/src/Core/functors/StlFunctors.h +0 -166
  184. xtgeo/include/eigen3/Eigen/src/Core/functors/TernaryFunctors.h +0 -25
  185. xtgeo/include/eigen3/Eigen/src/Core/functors/UnaryFunctors.h +0 -1131
  186. xtgeo/include/eigen3/Eigen/src/Core/products/GeneralBlockPanelKernel.h +0 -2645
  187. xtgeo/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h +0 -517
  188. xtgeo/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +0 -317
  189. xtgeo/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +0 -145
  190. xtgeo/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +0 -124
  191. xtgeo/include/eigen3/Eigen/src/Core/products/GeneralMatrixVector.h +0 -518
  192. xtgeo/include/eigen3/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +0 -136
  193. xtgeo/include/eigen3/Eigen/src/Core/products/Parallelizer.h +0 -180
  194. xtgeo/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +0 -544
  195. xtgeo/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +0 -295
  196. xtgeo/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector.h +0 -262
  197. xtgeo/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h +0 -118
  198. xtgeo/include/eigen3/Eigen/src/Core/products/SelfadjointProduct.h +0 -133
  199. xtgeo/include/eigen3/Eigen/src/Core/products/SelfadjointRank2Update.h +0 -94
  200. xtgeo/include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix.h +0 -472
  201. xtgeo/include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h +0 -317
  202. xtgeo/include/eigen3/Eigen/src/Core/products/TriangularMatrixVector.h +0 -350
  203. xtgeo/include/eigen3/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h +0 -255
  204. xtgeo/include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix.h +0 -337
  205. xtgeo/include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +0 -167
  206. xtgeo/include/eigen3/Eigen/src/Core/products/TriangularSolverVector.h +0 -148
  207. xtgeo/include/eigen3/Eigen/src/Core/util/BlasUtil.h +0 -583
  208. xtgeo/include/eigen3/Eigen/src/Core/util/ConfigureVectorization.h +0 -512
  209. xtgeo/include/eigen3/Eigen/src/Core/util/Constants.h +0 -563
  210. xtgeo/include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h +0 -106
  211. xtgeo/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h +0 -322
  212. xtgeo/include/eigen3/Eigen/src/Core/util/IndexedViewHelper.h +0 -186
  213. xtgeo/include/eigen3/Eigen/src/Core/util/IntegralConstant.h +0 -272
  214. xtgeo/include/eigen3/Eigen/src/Core/util/MKL_support.h +0 -137
  215. xtgeo/include/eigen3/Eigen/src/Core/util/Macros.h +0 -1464
  216. xtgeo/include/eigen3/Eigen/src/Core/util/Memory.h +0 -1163
  217. xtgeo/include/eigen3/Eigen/src/Core/util/Meta.h +0 -812
  218. xtgeo/include/eigen3/Eigen/src/Core/util/NonMPL2.h +0 -3
  219. xtgeo/include/eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h +0 -31
  220. xtgeo/include/eigen3/Eigen/src/Core/util/ReshapedHelper.h +0 -51
  221. xtgeo/include/eigen3/Eigen/src/Core/util/StaticAssert.h +0 -221
  222. xtgeo/include/eigen3/Eigen/src/Core/util/SymbolicIndex.h +0 -293
  223. xtgeo/include/eigen3/Eigen/src/Core/util/XprHelper.h +0 -856
  224. xtgeo/include/eigen3/Eigen/src/Eigenvalues/ComplexEigenSolver.h +0 -346
  225. xtgeo/include/eigen3/Eigen/src/Eigenvalues/ComplexSchur.h +0 -462
  226. xtgeo/include/eigen3/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +0 -91
  227. xtgeo/include/eigen3/Eigen/src/Eigenvalues/EigenSolver.h +0 -622
  228. xtgeo/include/eigen3/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +0 -418
  229. xtgeo/include/eigen3/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +0 -226
  230. xtgeo/include/eigen3/Eigen/src/Eigenvalues/HessenbergDecomposition.h +0 -374
  231. xtgeo/include/eigen3/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +0 -158
  232. xtgeo/include/eigen3/Eigen/src/Eigenvalues/RealQZ.h +0 -657
  233. xtgeo/include/eigen3/Eigen/src/Eigenvalues/RealSchur.h +0 -558
  234. xtgeo/include/eigen3/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +0 -77
  235. xtgeo/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +0 -904
  236. xtgeo/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +0 -87
  237. xtgeo/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h +0 -561
  238. xtgeo/include/eigen3/Eigen/src/Geometry/AlignedBox.h +0 -486
  239. xtgeo/include/eigen3/Eigen/src/Geometry/AngleAxis.h +0 -247
  240. xtgeo/include/eigen3/Eigen/src/Geometry/EulerAngles.h +0 -114
  241. xtgeo/include/eigen3/Eigen/src/Geometry/Homogeneous.h +0 -501
  242. xtgeo/include/eigen3/Eigen/src/Geometry/Hyperplane.h +0 -282
  243. xtgeo/include/eigen3/Eigen/src/Geometry/OrthoMethods.h +0 -235
  244. xtgeo/include/eigen3/Eigen/src/Geometry/ParametrizedLine.h +0 -232
  245. xtgeo/include/eigen3/Eigen/src/Geometry/Quaternion.h +0 -870
  246. xtgeo/include/eigen3/Eigen/src/Geometry/Rotation2D.h +0 -199
  247. xtgeo/include/eigen3/Eigen/src/Geometry/RotationBase.h +0 -206
  248. xtgeo/include/eigen3/Eigen/src/Geometry/Scaling.h +0 -188
  249. xtgeo/include/eigen3/Eigen/src/Geometry/Transform.h +0 -1563
  250. xtgeo/include/eigen3/Eigen/src/Geometry/Translation.h +0 -202
  251. xtgeo/include/eigen3/Eigen/src/Geometry/Umeyama.h +0 -166
  252. xtgeo/include/eigen3/Eigen/src/Geometry/arch/Geometry_SIMD.h +0 -168
  253. xtgeo/include/eigen3/Eigen/src/Householder/BlockHouseholder.h +0 -110
  254. xtgeo/include/eigen3/Eigen/src/Householder/Householder.h +0 -176
  255. xtgeo/include/eigen3/Eigen/src/Householder/HouseholderSequence.h +0 -545
  256. xtgeo/include/eigen3/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +0 -226
  257. xtgeo/include/eigen3/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +0 -212
  258. xtgeo/include/eigen3/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +0 -229
  259. xtgeo/include/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +0 -394
  260. xtgeo/include/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +0 -453
  261. xtgeo/include/eigen3/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +0 -444
  262. xtgeo/include/eigen3/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +0 -198
  263. xtgeo/include/eigen3/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +0 -117
  264. xtgeo/include/eigen3/Eigen/src/Jacobi/Jacobi.h +0 -483
  265. xtgeo/include/eigen3/Eigen/src/KLUSupport/KLUSupport.h +0 -358
  266. xtgeo/include/eigen3/Eigen/src/LU/Determinant.h +0 -117
  267. xtgeo/include/eigen3/Eigen/src/LU/FullPivLU.h +0 -877
  268. xtgeo/include/eigen3/Eigen/src/LU/InverseImpl.h +0 -432
  269. xtgeo/include/eigen3/Eigen/src/LU/PartialPivLU.h +0 -624
  270. xtgeo/include/eigen3/Eigen/src/LU/PartialPivLU_LAPACKE.h +0 -83
  271. xtgeo/include/eigen3/Eigen/src/LU/arch/InverseSize4.h +0 -351
  272. xtgeo/include/eigen3/Eigen/src/MetisSupport/MetisSupport.h +0 -137
  273. xtgeo/include/eigen3/Eigen/src/OrderingMethods/Amd.h +0 -435
  274. xtgeo/include/eigen3/Eigen/src/OrderingMethods/Eigen_Colamd.h +0 -1863
  275. xtgeo/include/eigen3/Eigen/src/OrderingMethods/Ordering.h +0 -153
  276. xtgeo/include/eigen3/Eigen/src/PaStiXSupport/PaStiXSupport.h +0 -678
  277. xtgeo/include/eigen3/Eigen/src/PardisoSupport/PardisoSupport.h +0 -545
  278. xtgeo/include/eigen3/Eigen/src/QR/ColPivHouseholderQR.h +0 -674
  279. xtgeo/include/eigen3/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +0 -97
  280. xtgeo/include/eigen3/Eigen/src/QR/CompleteOrthogonalDecomposition.h +0 -635
  281. xtgeo/include/eigen3/Eigen/src/QR/FullPivHouseholderQR.h +0 -713
  282. xtgeo/include/eigen3/Eigen/src/QR/HouseholderQR.h +0 -434
  283. xtgeo/include/eigen3/Eigen/src/QR/HouseholderQR_LAPACKE.h +0 -68
  284. xtgeo/include/eigen3/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +0 -335
  285. xtgeo/include/eigen3/Eigen/src/SVD/BDCSVD.h +0 -1366
  286. xtgeo/include/eigen3/Eigen/src/SVD/JacobiSVD.h +0 -812
  287. xtgeo/include/eigen3/Eigen/src/SVD/JacobiSVD_LAPACKE.h +0 -91
  288. xtgeo/include/eigen3/Eigen/src/SVD/SVDBase.h +0 -376
  289. xtgeo/include/eigen3/Eigen/src/SVD/UpperBidiagonalization.h +0 -414
  290. xtgeo/include/eigen3/Eigen/src/SparseCholesky/SimplicialCholesky.h +0 -697
  291. xtgeo/include/eigen3/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +0 -174
  292. xtgeo/include/eigen3/Eigen/src/SparseCore/AmbiVector.h +0 -378
  293. xtgeo/include/eigen3/Eigen/src/SparseCore/CompressedStorage.h +0 -274
  294. xtgeo/include/eigen3/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +0 -352
  295. xtgeo/include/eigen3/Eigen/src/SparseCore/MappedSparseMatrix.h +0 -67
  296. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseAssign.h +0 -270
  297. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseBlock.h +0 -571
  298. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseColEtree.h +0 -206
  299. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseCompressedBase.h +0 -370
  300. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +0 -722
  301. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +0 -150
  302. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseDenseProduct.h +0 -342
  303. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseDiagonalProduct.h +0 -138
  304. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseDot.h +0 -98
  305. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseFuzzy.h +0 -29
  306. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseMap.h +0 -305
  307. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseMatrix.h +0 -1518
  308. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseMatrixBase.h +0 -398
  309. xtgeo/include/eigen3/Eigen/src/SparseCore/SparsePermutation.h +0 -178
  310. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseProduct.h +0 -181
  311. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseRedux.h +0 -49
  312. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseRef.h +0 -397
  313. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseSelfAdjointView.h +0 -659
  314. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseSolverBase.h +0 -124
  315. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +0 -198
  316. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseTranspose.h +0 -92
  317. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseTriangularView.h +0 -189
  318. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseUtil.h +0 -186
  319. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseVector.h +0 -478
  320. xtgeo/include/eigen3/Eigen/src/SparseCore/SparseView.h +0 -254
  321. xtgeo/include/eigen3/Eigen/src/SparseCore/TriangularSolver.h +0 -315
  322. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU.h +0 -923
  323. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLUImpl.h +0 -66
  324. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_Memory.h +0 -226
  325. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_Structs.h +0 -110
  326. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +0 -375
  327. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_Utils.h +0 -80
  328. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_column_bmod.h +0 -181
  329. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_column_dfs.h +0 -179
  330. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +0 -107
  331. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_gemm_kernel.h +0 -280
  332. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +0 -126
  333. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +0 -130
  334. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_panel_bmod.h +0 -223
  335. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_panel_dfs.h +0 -258
  336. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_pivotL.h +0 -137
  337. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_pruneL.h +0 -136
  338. xtgeo/include/eigen3/Eigen/src/SparseLU/SparseLU_relax_snode.h +0 -83
  339. xtgeo/include/eigen3/Eigen/src/SparseQR/SparseQR.h +0 -758
  340. xtgeo/include/eigen3/Eigen/src/StlSupport/StdDeque.h +0 -116
  341. xtgeo/include/eigen3/Eigen/src/StlSupport/StdList.h +0 -106
  342. xtgeo/include/eigen3/Eigen/src/StlSupport/StdVector.h +0 -131
  343. xtgeo/include/eigen3/Eigen/src/StlSupport/details.h +0 -84
  344. xtgeo/include/eigen3/Eigen/src/SuperLUSupport/SuperLUSupport.h +0 -1025
  345. xtgeo/include/eigen3/Eigen/src/UmfPackSupport/UmfPackSupport.h +0 -642
  346. xtgeo/include/eigen3/Eigen/src/misc/Image.h +0 -82
  347. xtgeo/include/eigen3/Eigen/src/misc/Kernel.h +0 -79
  348. xtgeo/include/eigen3/Eigen/src/misc/RealSvd2x2.h +0 -55
  349. xtgeo/include/eigen3/Eigen/src/misc/blas.h +0 -440
  350. xtgeo/include/eigen3/Eigen/src/misc/lapack.h +0 -152
  351. xtgeo/include/eigen3/Eigen/src/misc/lapacke.h +0 -16292
  352. xtgeo/include/eigen3/Eigen/src/misc/lapacke_mangling.h +0 -17
  353. xtgeo/include/eigen3/Eigen/src/plugins/ArrayCwiseBinaryOps.h +0 -358
  354. xtgeo/include/eigen3/Eigen/src/plugins/ArrayCwiseUnaryOps.h +0 -696
  355. xtgeo/include/eigen3/Eigen/src/plugins/BlockMethods.h +0 -1442
  356. xtgeo/include/eigen3/Eigen/src/plugins/CommonCwiseBinaryOps.h +0 -115
  357. xtgeo/include/eigen3/Eigen/src/plugins/CommonCwiseUnaryOps.h +0 -177
  358. xtgeo/include/eigen3/Eigen/src/plugins/IndexedViewMethods.h +0 -262
  359. xtgeo/include/eigen3/Eigen/src/plugins/MatrixCwiseBinaryOps.h +0 -152
  360. xtgeo/include/eigen3/Eigen/src/plugins/MatrixCwiseUnaryOps.h +0 -95
  361. xtgeo/include/eigen3/Eigen/src/plugins/ReshapedMethods.h +0 -149
  362. xtgeo/include/eigen3/signature_of_eigen3_matrix_library +0 -1
  363. xtgeo/include/eigen3/unsupported/Eigen/AdolcForward +0 -159
  364. xtgeo/include/eigen3/unsupported/Eigen/AlignedVector3 +0 -234
  365. xtgeo/include/eigen3/unsupported/Eigen/ArpackSupport +0 -30
  366. xtgeo/include/eigen3/unsupported/Eigen/AutoDiff +0 -46
  367. xtgeo/include/eigen3/unsupported/Eigen/BVH +0 -95
  368. xtgeo/include/eigen3/unsupported/Eigen/CXX11/Tensor +0 -137
  369. xtgeo/include/eigen3/unsupported/Eigen/CXX11/TensorSymmetry +0 -42
  370. xtgeo/include/eigen3/unsupported/Eigen/CXX11/ThreadPool +0 -74
  371. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/Tensor.h +0 -554
  372. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorArgMax.h +0 -329
  373. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h +0 -247
  374. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBase.h +0 -1176
  375. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBlock.h +0 -1559
  376. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBroadcasting.h +0 -1093
  377. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorChipping.h +0 -518
  378. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConcatenation.h +0 -377
  379. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContraction.h +0 -1023
  380. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionBlocking.h +0 -73
  381. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionCuda.h +0 -6
  382. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionGpu.h +0 -1413
  383. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionMapper.h +0 -575
  384. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionSycl.h +0 -1650
  385. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionThreadPool.h +0 -1679
  386. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConversion.h +0 -456
  387. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolution.h +0 -1132
  388. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolutionSycl.h +0 -544
  389. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCostModel.h +0 -214
  390. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCustomOp.h +0 -347
  391. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDevice.h +0 -137
  392. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceCuda.h +0 -6
  393. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceDefault.h +0 -104
  394. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceGpu.h +0 -389
  395. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h +0 -1048
  396. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceThreadPool.h +0 -409
  397. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensionList.h +0 -236
  398. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensions.h +0 -490
  399. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvalTo.h +0 -236
  400. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvaluator.h +0 -983
  401. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h +0 -703
  402. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExpr.h +0 -388
  403. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFFT.h +0 -669
  404. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFixedSize.h +0 -379
  405. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForcedEval.h +0 -237
  406. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForwardDeclarations.h +0 -191
  407. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFunctors.h +0 -488
  408. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h +0 -302
  409. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGlobalFunctions.h +0 -33
  410. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaDefines.h +0 -99
  411. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaUndefines.h +0 -44
  412. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIO.h +0 -79
  413. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorImagePatch.h +0 -603
  414. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIndexList.h +0 -738
  415. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInflation.h +0 -247
  416. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInitializer.h +0 -82
  417. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h +0 -263
  418. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorLayoutSwap.h +0 -216
  419. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMacros.h +0 -98
  420. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMap.h +0 -327
  421. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMeta.h +0 -311
  422. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMorphing.h +0 -1102
  423. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPadding.h +0 -708
  424. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPatch.h +0 -291
  425. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRandom.h +0 -322
  426. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h +0 -998
  427. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionCuda.h +0 -6
  428. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionGpu.h +0 -966
  429. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionSycl.h +0 -582
  430. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRef.h +0 -454
  431. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReverse.h +0 -465
  432. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorScan.h +0 -528
  433. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorScanSycl.h +0 -513
  434. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h +0 -471
  435. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStorage.h +0 -161
  436. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h +0 -346
  437. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTrace.h +0 -303
  438. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTraits.h +0 -264
  439. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorUInt128.h +0 -249
  440. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorVolumePatch.h +0 -629
  441. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/DynamicSymmetry.h +0 -293
  442. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/StaticSymmetry.h +0 -236
  443. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/Symmetry.h +0 -338
  444. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/util/TemplateGroupTheory.h +0 -669
  445. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/Barrier.h +0 -67
  446. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/EventCount.h +0 -249
  447. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h +0 -486
  448. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/RunQueue.h +0 -236
  449. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadCancel.h +0 -23
  450. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadEnvironment.h +0 -40
  451. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadLocal.h +0 -301
  452. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadPoolInterface.h +0 -48
  453. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadYield.h +0 -20
  454. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Meta.h +0 -537
  455. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Workarounds.h +0 -88
  456. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/util/EmulateArray.h +0 -261
  457. xtgeo/include/eigen3/unsupported/Eigen/CXX11/src/util/MaxSizeVector.h +0 -158
  458. xtgeo/include/eigen3/unsupported/Eigen/EulerAngles +0 -43
  459. xtgeo/include/eigen3/unsupported/Eigen/FFT +0 -419
  460. xtgeo/include/eigen3/unsupported/Eigen/IterativeSolvers +0 -51
  461. xtgeo/include/eigen3/unsupported/Eigen/KroneckerProduct +0 -36
  462. xtgeo/include/eigen3/unsupported/Eigen/LevenbergMarquardt +0 -49
  463. xtgeo/include/eigen3/unsupported/Eigen/MPRealSupport +0 -213
  464. xtgeo/include/eigen3/unsupported/Eigen/MatrixFunctions +0 -504
  465. xtgeo/include/eigen3/unsupported/Eigen/MoreVectorization +0 -24
  466. xtgeo/include/eigen3/unsupported/Eigen/NonLinearOptimization +0 -140
  467. xtgeo/include/eigen3/unsupported/Eigen/NumericalDiff +0 -56
  468. xtgeo/include/eigen3/unsupported/Eigen/OpenGLSupport +0 -322
  469. xtgeo/include/eigen3/unsupported/Eigen/Polynomials +0 -137
  470. xtgeo/include/eigen3/unsupported/Eigen/Skyline +0 -39
  471. xtgeo/include/eigen3/unsupported/Eigen/SparseExtra +0 -54
  472. xtgeo/include/eigen3/unsupported/Eigen/SpecialFunctions +0 -103
  473. xtgeo/include/eigen3/unsupported/Eigen/Splines +0 -35
  474. xtgeo/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffJacobian.h +0 -108
  475. xtgeo/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h +0 -730
  476. xtgeo/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffVector.h +0 -220
  477. xtgeo/include/eigen3/unsupported/Eigen/src/BVH/BVAlgorithms.h +0 -293
  478. xtgeo/include/eigen3/unsupported/Eigen/src/BVH/KdBVH.h +0 -223
  479. xtgeo/include/eigen3/unsupported/Eigen/src/Eigenvalues/ArpackSelfAdjointEigenSolver.h +0 -790
  480. xtgeo/include/eigen3/unsupported/Eigen/src/EulerAngles/EulerAngles.h +0 -355
  481. xtgeo/include/eigen3/unsupported/Eigen/src/EulerAngles/EulerSystem.h +0 -305
  482. xtgeo/include/eigen3/unsupported/Eigen/src/FFT/ei_fftw_impl.h +0 -261
  483. xtgeo/include/eigen3/unsupported/Eigen/src/FFT/ei_kissfft_impl.h +0 -449
  484. xtgeo/include/eigen3/unsupported/Eigen/src/IterativeSolvers/ConstrainedConjGrad.h +0 -187
  485. xtgeo/include/eigen3/unsupported/Eigen/src/IterativeSolvers/DGMRES.h +0 -511
  486. xtgeo/include/eigen3/unsupported/Eigen/src/IterativeSolvers/GMRES.h +0 -335
  487. xtgeo/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IDRS.h +0 -436
  488. xtgeo/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IncompleteLU.h +0 -90
  489. xtgeo/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IterationController.h +0 -154
  490. xtgeo/include/eigen3/unsupported/Eigen/src/IterativeSolvers/MINRES.h +0 -267
  491. xtgeo/include/eigen3/unsupported/Eigen/src/IterativeSolvers/Scaling.h +0 -193
  492. xtgeo/include/eigen3/unsupported/Eigen/src/KroneckerProduct/KroneckerTensorProduct.h +0 -305
  493. xtgeo/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMcovar.h +0 -84
  494. xtgeo/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMonestep.h +0 -202
  495. xtgeo/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMpar.h +0 -160
  496. xtgeo/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMqrsolv.h +0 -188
  497. xtgeo/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LevenbergMarquardt.h +0 -396
  498. xtgeo/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixExponential.h +0 -441
  499. xtgeo/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h +0 -569
  500. xtgeo/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixLogarithm.h +0 -373
  501. xtgeo/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixPower.h +0 -705
  502. xtgeo/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixSquareRoot.h +0 -368
  503. xtgeo/include/eigen3/unsupported/Eigen/src/MatrixFunctions/StemFunction.h +0 -117
  504. xtgeo/include/eigen3/unsupported/Eigen/src/MoreVectorization/MathFunctions.h +0 -95
  505. xtgeo/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/HybridNonLinearSolver.h +0 -601
  506. xtgeo/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/LevenbergMarquardt.h +0 -657
  507. xtgeo/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/chkder.h +0 -66
  508. xtgeo/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/covar.h +0 -70
  509. xtgeo/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/dogleg.h +0 -107
  510. xtgeo/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/fdjac1.h +0 -79
  511. xtgeo/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/lmpar.h +0 -298
  512. xtgeo/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/qrsolv.h +0 -91
  513. xtgeo/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1mpyq.h +0 -30
  514. xtgeo/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1updt.h +0 -99
  515. xtgeo/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/rwupdt.h +0 -49
  516. xtgeo/include/eigen3/unsupported/Eigen/src/NumericalDiff/NumericalDiff.h +0 -130
  517. xtgeo/include/eigen3/unsupported/Eigen/src/Polynomials/Companion.h +0 -280
  518. xtgeo/include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialSolver.h +0 -428
  519. xtgeo/include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialUtils.h +0 -143
  520. xtgeo/include/eigen3/unsupported/Eigen/src/Skyline/SkylineInplaceLU.h +0 -352
  521. xtgeo/include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrix.h +0 -862
  522. xtgeo/include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrixBase.h +0 -212
  523. xtgeo/include/eigen3/unsupported/Eigen/src/Skyline/SkylineProduct.h +0 -295
  524. xtgeo/include/eigen3/unsupported/Eigen/src/Skyline/SkylineStorage.h +0 -259
  525. xtgeo/include/eigen3/unsupported/Eigen/src/Skyline/SkylineUtil.h +0 -89
  526. xtgeo/include/eigen3/unsupported/Eigen/src/SparseExtra/BlockOfDynamicSparseMatrix.h +0 -122
  527. xtgeo/include/eigen3/unsupported/Eigen/src/SparseExtra/BlockSparseMatrix.h +0 -1079
  528. xtgeo/include/eigen3/unsupported/Eigen/src/SparseExtra/DynamicSparseMatrix.h +0 -404
  529. xtgeo/include/eigen3/unsupported/Eigen/src/SparseExtra/MarketIO.h +0 -282
  530. xtgeo/include/eigen3/unsupported/Eigen/src/SparseExtra/MatrixMarketIterator.h +0 -247
  531. xtgeo/include/eigen3/unsupported/Eigen/src/SparseExtra/RandomSetter.h +0 -349
  532. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsArrayAPI.h +0 -286
  533. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsBFloat16.h +0 -68
  534. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h +0 -357
  535. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h +0 -66
  536. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h +0 -1959
  537. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsPacketMath.h +0 -118
  538. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/HipVectorCompatibility.h +0 -67
  539. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsArrayAPI.h +0 -167
  540. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h +0 -58
  541. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h +0 -330
  542. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h +0 -58
  543. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h +0 -2045
  544. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsPacketMath.h +0 -79
  545. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX/BesselFunctions.h +0 -46
  546. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX/SpecialFunctions.h +0 -16
  547. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/BesselFunctions.h +0 -46
  548. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/SpecialFunctions.h +0 -16
  549. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/GPU/SpecialFunctions.h +0 -369
  550. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON/BesselFunctions.h +0 -54
  551. xtgeo/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON/SpecialFunctions.h +0 -34
  552. xtgeo/include/eigen3/unsupported/Eigen/src/Splines/Spline.h +0 -507
  553. xtgeo/include/eigen3/unsupported/Eigen/src/Splines/SplineFitting.h +0 -431
  554. xtgeo/include/eigen3/unsupported/Eigen/src/Splines/SplineFwd.h +0 -93
  555. xtgeo/share/eigen3/cmake/Eigen3Config.cmake +0 -37
  556. xtgeo/share/eigen3/cmake/Eigen3ConfigVersion.cmake +0 -65
  557. xtgeo/share/eigen3/cmake/UseEigen3.cmake +0 -6
  558. xtgeo/share/pkgconfig/eigen3.pc +0 -9
  559. xtgeo-4.10.0.dist-info/RECORD +0 -652
  560. {xtgeo-4.10.0.dist-info → xtgeo-4.10.1.dist-info}/WHEEL +0 -0
  561. {xtgeo-4.10.0.dist-info → xtgeo-4.10.1.dist-info}/licenses/LICENSE.md +0 -0
@@ -1,703 +0,0 @@
1
- // This file is part of Eigen, a lightweight C++ template library
2
- // for linear algebra.
3
- //
4
- // Copyright (C) 2014 Benoit Steiner <benoit.steiner.goog@gmail.com>
5
- //
6
- // This Source Code Form is subject to the terms of the Mozilla
7
- // Public License v. 2.0. If a copy of the MPL was not distributed
8
- // with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
9
-
10
- #ifndef EIGEN_CXX11_TENSOR_TENSOR_EXECUTOR_H
11
- #define EIGEN_CXX11_TENSOR_TENSOR_EXECUTOR_H
12
-
13
- namespace Eigen {
14
-
15
- /**
16
- * \class TensorExecutor
17
- * \ingroup CXX11_Tensor_Module
18
- *
19
- * \brief The tensor executor class.
20
- *
21
- * This class is responsible for launch the evaluation of the expression on
22
- * the specified computing device.
23
- *
24
- * @tparam Vectorizable can use packet math (SSE/AVX/etc... registers and
25
- * instructions)
26
- * @tparam Tiling can use block based tensor evaluation
27
- * (see TensorBlock.h)
28
- */
29
- namespace internal {
30
-
31
- /**
32
- * Evaluating TensorBroadcastingOp via coefficient of packet path is extremely
33
- * expensive. If expression has at least one broadcast op in it, and it supports
34
- * block based evaluation, we always prefer it, even for the small tensors. For
35
- * all other tileable ops, block evaluation overhead for small tensors (fits
36
- * into L1) is too large, and we fallback on vectorized evaluation.
37
- */
38
-
39
- // TODO(ezhulenev): Add specializations for all other types of Tensor ops.
40
-
41
- template<typename Expression>
42
- struct ExpressionHasTensorBroadcastingOp {
43
- enum { value = false };
44
- };
45
-
46
- template<typename LhsXprType, typename RhsXprType>
47
- struct ExpressionHasTensorBroadcastingOp<
48
- const TensorAssignOp<LhsXprType, RhsXprType> > {
49
- enum { value = ExpressionHasTensorBroadcastingOp<RhsXprType>::value };
50
- };
51
-
52
- template<typename UnaryOp, typename XprType>
53
- struct ExpressionHasTensorBroadcastingOp<
54
- const TensorCwiseUnaryOp<UnaryOp, XprType> > {
55
- enum { value = ExpressionHasTensorBroadcastingOp<XprType>::value };
56
- };
57
-
58
- template<typename BinaryOp, typename LhsXprType, typename RhsXprType>
59
- struct ExpressionHasTensorBroadcastingOp<
60
- const TensorCwiseBinaryOp<BinaryOp, LhsXprType, RhsXprType> > {
61
- enum {
62
- value = ExpressionHasTensorBroadcastingOp<LhsXprType>::value ||
63
- ExpressionHasTensorBroadcastingOp<RhsXprType>::value
64
- };
65
- };
66
-
67
- template<typename Broadcast, typename XprType>
68
- struct ExpressionHasTensorBroadcastingOp<
69
- const TensorBroadcastingOp<Broadcast, XprType> > {
70
- enum { value = true };
71
- };
72
-
73
- // -------------------------------------------------------------------------- //
74
-
75
- /**
76
- * Default strategy: the expression is evaluated sequentially with a single cpu
77
- * thread, without vectorization and block evaluation.
78
- */
79
- template <typename Expression, typename Device, bool Vectorizable,
80
- TiledEvaluation Tiling>
81
- class TensorExecutor {
82
- public:
83
- typedef typename Expression::Index StorageIndex;
84
-
85
- // Including `unsupported/Eigen/CXX11/Tensor` in different translation units
86
- // with/without `EIGEN_USE_THREADS` or `EIGEN_USE_GPU` is a potential ODR
87
- // violation. If this template is instantiated with a non-default device, it
88
- // means that this header file was included without defining
89
- // `EIGEN_USE_THREADS`, `EIGEN_USE_GPU` or `EIGEN_USE_SYCL`.
90
- static_assert(std::is_same<Device, DefaultDevice>::value,
91
- "Default executor instantiated with non-default device. "
92
- "You must #define EIGEN_USE_THREADS, EIGEN_USE_GPU or "
93
- "EIGEN_USE_SYCL before including Eigen headers.");
94
-
95
- EIGEN_DEVICE_FUNC
96
- static EIGEN_STRONG_INLINE void run(const Expression& expr,
97
- const Device& device = Device()) {
98
- TensorEvaluator<Expression, Device> evaluator(expr, device);
99
- const bool needs_assign = evaluator.evalSubExprsIfNeeded(NULL);
100
- if (needs_assign) {
101
- const StorageIndex size = array_prod(evaluator.dimensions());
102
- for (StorageIndex i = 0; i < size; ++i) {
103
- evaluator.evalScalar(i);
104
- }
105
- }
106
- evaluator.cleanup();
107
- }
108
- };
109
-
110
- /**
111
- * Default async execution strategy is not implemented. Currently it's only
112
- * available for ThreadPoolDevice (see definition below).
113
- */
114
- template <typename Expression, typename Device, typename DoneCallback,
115
- bool Vectorizable, TiledEvaluation Tiling>
116
- class TensorAsyncExecutor {};
117
-
118
- /**
119
- * Process all the data with a single cpu thread, using vectorized instructions.
120
- */
121
- template <typename Expression>
122
- class TensorExecutor<Expression, DefaultDevice, /*Vectorizable=*/true,
123
- /*Tiling=*/TiledEvaluation::Off> {
124
- public:
125
- typedef typename Expression::Index StorageIndex;
126
-
127
- EIGEN_DEVICE_FUNC
128
- static EIGEN_STRONG_INLINE void run(
129
- const Expression& expr, const DefaultDevice& device = DefaultDevice()) {
130
- TensorEvaluator<Expression, DefaultDevice> evaluator(expr, device);
131
- const bool needs_assign = evaluator.evalSubExprsIfNeeded(NULL);
132
- if (needs_assign) {
133
- const StorageIndex size = array_prod(evaluator.dimensions());
134
- const int PacketSize = unpacket_traits<typename TensorEvaluator<
135
- Expression, DefaultDevice>::PacketReturnType>::size;
136
-
137
- // Give compiler a strong possibility to unroll the loop. But don't insist
138
- // on unrolling, because if the function is expensive compiler should not
139
- // unroll the loop at the expense of inlining.
140
- const StorageIndex UnrolledSize =
141
- (size / (4 * PacketSize)) * 4 * PacketSize;
142
- for (StorageIndex i = 0; i < UnrolledSize; i += 4 * PacketSize) {
143
- for (StorageIndex j = 0; j < 4; j++) {
144
- evaluator.evalPacket(i + j * PacketSize);
145
- }
146
- }
147
- const StorageIndex VectorizedSize = (size / PacketSize) * PacketSize;
148
- for (StorageIndex i = UnrolledSize; i < VectorizedSize; i += PacketSize) {
149
- evaluator.evalPacket(i);
150
- }
151
- for (StorageIndex i = VectorizedSize; i < size; ++i) {
152
- evaluator.evalScalar(i);
153
- }
154
- }
155
- evaluator.cleanup();
156
- }
157
- };
158
-
159
- /**
160
- * Process all the data with a single cpu thread, using blocks of data. By
161
- * sizing a block to fit L1 cache we get better cache performance.
162
- */
163
- template <typename Expression, bool Vectorizable>
164
- class TensorExecutor<Expression, DefaultDevice, Vectorizable,
165
- /*Tiling=*/TiledEvaluation::On> {
166
- public:
167
- typedef typename traits<Expression>::Scalar Scalar;
168
- typedef typename remove_const<Scalar>::type ScalarNoConst;
169
-
170
- typedef TensorEvaluator<Expression, DefaultDevice> Evaluator;
171
- typedef typename traits<Expression>::Index StorageIndex;
172
-
173
- static const int NumDims = traits<Expression>::NumDimensions;
174
-
175
- EIGEN_DEVICE_FUNC
176
- static EIGEN_STRONG_INLINE void run(const Expression& expr,
177
- const DefaultDevice& device = DefaultDevice()) {
178
- typedef TensorBlockMapper<NumDims, Evaluator::Layout, StorageIndex>
179
- TensorBlockMapper;
180
-
181
- typedef internal::TensorBlockDescriptor<NumDims, StorageIndex>
182
- TensorBlockDesc;
183
- typedef internal::TensorBlockScratchAllocator<DefaultDevice>
184
- TensorBlockScratch;
185
-
186
- Evaluator evaluator(expr, device);
187
-
188
- // TODO(ezhulenev): Do not use tiling for small tensors?
189
- const bool needs_assign = evaluator.evalSubExprsIfNeeded(NULL);
190
-
191
- if (needs_assign) {
192
- // Query expression tree for desired block size/shape.
193
- const TensorBlockResourceRequirements requirements =
194
- evaluator.getResourceRequirements();
195
-
196
- const TensorBlockMapper block_mapper(
197
- typename TensorBlockDesc::Dimensions(evaluator.dimensions()),
198
- requirements);
199
-
200
- // Share scratch memory allocator between all blocks.
201
- TensorBlockScratch scratch(device);
202
-
203
- const StorageIndex total_block_count = block_mapper.blockCount();
204
- for (StorageIndex i = 0; i < total_block_count; ++i) {
205
- TensorBlockDesc desc = block_mapper.blockDescriptor(i);
206
- evaluator.evalBlock(desc, scratch);
207
- scratch.reset();
208
- }
209
- }
210
- evaluator.cleanup();
211
- }
212
- };
213
-
214
- /**
215
- * Multicore strategy: the index space is partitioned and each partition is
216
- * executed on a single core.
217
- *
218
- * (1) TensorExecutor will submit work to the ThreadPoolDevice managed thread
219
- * pool, and will block the caller thread until all tasks are finished.
220
- *
221
- * (2) TensorAsyncExecutor is a non-blocking version, that will submit work to
222
- * the ThreadPoolDevice managed thread pool, and will return immediately.
223
- * It will call 'done' callback after all tasks are finished.
224
- */
225
- #ifdef EIGEN_USE_THREADS
226
-
227
- template <typename TensorBlockMapper>
228
- struct TensorExecutorTilingContext {
229
- TensorExecutorTilingContext() = default;
230
- TensorExecutorTilingContext(const TensorBlockMapper& b_mapper,
231
- const TensorOpCost& b_cost, size_t b_aligned_size)
232
- : block_mapper(b_mapper),
233
- cost(b_cost),
234
- aligned_blocksize(b_aligned_size) {}
235
-
236
- TensorBlockMapper block_mapper; // navigate through blocks
237
- TensorOpCost cost; // cost of computing a single block
238
- size_t aligned_blocksize; // block size after memory alignment
239
- };
240
-
241
- // Computes a block evaluation parameters, and allocates temporary memory buffer
242
- // for blocks. See TensorExecutor/TensorAsyncExecutor (Tiling=On) below.
243
- template <typename Evaluator, typename TensorBlockMapper, bool Vectorizable>
244
- TensorExecutorTilingContext<TensorBlockMapper> GetTensorExecutorTilingContext(
245
- const Evaluator& evaluator) {
246
- // Query expression tree for desired block size/shape.
247
- TensorBlockResourceRequirements requirements =
248
- evaluator.getResourceRequirements();
249
-
250
- // Update target block size based on cost model.
251
- double taskSize = TensorCostModel<ThreadPoolDevice>::taskSize(
252
- 1, requirements.cost_per_coeff);
253
- requirements.size = static_cast<size_t>(1.0 / taskSize);
254
-
255
- TensorBlockMapper block_mapper(
256
- typename TensorBlockMapper::Dimensions(evaluator.dimensions()),
257
- requirements);
258
-
259
- size_t block_size = block_mapper.blockTotalSize();
260
- const size_t align = numext::maxi(EIGEN_MAX_ALIGN_BYTES, 1);
261
- const size_t aligned_blocksize =
262
- align *
263
- divup<size_t>(block_size * sizeof(typename Evaluator::Scalar), align);
264
-
265
- return {block_mapper, requirements.cost_per_coeff * block_size,
266
- aligned_blocksize};
267
- }
268
-
269
- template <typename Evaluator, typename StorageIndex, bool Vectorizable>
270
- struct EvalRange {
271
- static void run(Evaluator* evaluator_in, const StorageIndex firstIdx,
272
- const StorageIndex lastIdx) {
273
- Evaluator evaluator = *evaluator_in;
274
- eigen_assert(lastIdx >= firstIdx);
275
- for (StorageIndex i = firstIdx; i < lastIdx; ++i) {
276
- evaluator.evalScalar(i);
277
- }
278
- }
279
-
280
- static StorageIndex alignBlockSize(StorageIndex size) { return size; }
281
- };
282
-
283
- template <typename Evaluator, typename StorageIndex>
284
- struct EvalRange<Evaluator, StorageIndex, /*Vectorizable*/ true> {
285
- static const int PacketSize =
286
- unpacket_traits<typename Evaluator::PacketReturnType>::size;
287
-
288
- static void run(Evaluator* evaluator_in, const StorageIndex firstIdx,
289
- const StorageIndex lastIdx) {
290
- Evaluator evaluator = *evaluator_in;
291
- eigen_assert(lastIdx >= firstIdx);
292
- StorageIndex i = firstIdx;
293
- if (lastIdx - firstIdx >= PacketSize) {
294
- eigen_assert(firstIdx % PacketSize == 0);
295
- StorageIndex last_chunk_offset = lastIdx - 4 * PacketSize;
296
- // Give compiler a strong possibility to unroll the loop. But don't insist
297
- // on unrolling, because if the function is expensive compiler should not
298
- // unroll the loop at the expense of inlining.
299
- for (; i <= last_chunk_offset; i += 4 * PacketSize) {
300
- for (StorageIndex j = 0; j < 4; j++) {
301
- evaluator.evalPacket(i + j * PacketSize);
302
- }
303
- }
304
- last_chunk_offset = lastIdx - PacketSize;
305
- for (; i <= last_chunk_offset; i += PacketSize) {
306
- evaluator.evalPacket(i);
307
- }
308
- }
309
- for (; i < lastIdx; ++i) {
310
- evaluator.evalScalar(i);
311
- }
312
- }
313
-
314
- static StorageIndex alignBlockSize(StorageIndex size) {
315
- // Align block size to packet size and account for unrolling in run above.
316
- if (size >= 16 * PacketSize) {
317
- return (size + 4 * PacketSize - 1) & ~(4 * PacketSize - 1);
318
- }
319
- // Aligning to 4 * PacketSize would increase block size by more than 25%.
320
- return (size + PacketSize - 1) & ~(PacketSize - 1);
321
- }
322
- };
323
-
324
- template <typename Expression, bool Vectorizable, TiledEvaluation Tiling>
325
- class TensorExecutor<Expression, ThreadPoolDevice, Vectorizable, Tiling> {
326
- public:
327
- typedef typename Expression::Index StorageIndex;
328
-
329
- static EIGEN_STRONG_INLINE void run(const Expression& expr,
330
- const ThreadPoolDevice& device) {
331
- typedef TensorEvaluator<Expression, ThreadPoolDevice> Evaluator;
332
- typedef EvalRange<Evaluator, StorageIndex, Vectorizable> EvalRange;
333
-
334
- Evaluator evaluator(expr, device);
335
- const bool needs_assign = evaluator.evalSubExprsIfNeeded(nullptr);
336
- if (needs_assign) {
337
- const StorageIndex size = array_prod(evaluator.dimensions());
338
- device.parallelFor(size, evaluator.costPerCoeff(Vectorizable),
339
- EvalRange::alignBlockSize,
340
- [&evaluator](StorageIndex firstIdx, StorageIndex lastIdx) {
341
- EvalRange::run(&evaluator, firstIdx, lastIdx);
342
- });
343
- }
344
- evaluator.cleanup();
345
- }
346
- };
347
-
348
- template <typename Expression, bool Vectorizable>
349
- class TensorExecutor<Expression, ThreadPoolDevice, Vectorizable,
350
- /*Tiling=*/TiledEvaluation::On> {
351
- public:
352
- typedef typename traits<Expression>::Index IndexType;
353
- typedef typename traits<Expression>::Scalar Scalar;
354
- typedef typename remove_const<Scalar>::type ScalarNoConst;
355
-
356
- static const int NumDims = traits<Expression>::NumDimensions;
357
-
358
- typedef TensorEvaluator<Expression, ThreadPoolDevice> Evaluator;
359
- typedef TensorBlockMapper<NumDims, Evaluator::Layout, IndexType> BlockMapper;
360
- typedef TensorExecutorTilingContext<BlockMapper> TilingContext;
361
-
362
- typedef internal::TensorBlockDescriptor<NumDims, IndexType>
363
- TensorBlockDesc;
364
- typedef internal::TensorBlockScratchAllocator<ThreadPoolDevice>
365
- TensorBlockScratch;
366
-
367
- static EIGEN_STRONG_INLINE void run(const Expression& expr,
368
- const ThreadPoolDevice& device) {
369
- Evaluator evaluator(expr, device);
370
-
371
- const bool needs_assign = evaluator.evalSubExprsIfNeeded(nullptr);
372
- if (needs_assign) {
373
- const TilingContext tiling =
374
- internal::GetTensorExecutorTilingContext<Evaluator, BlockMapper,
375
- Vectorizable>(evaluator);
376
-
377
- auto eval_block = [&device, &evaluator, &tiling](IndexType firstBlockIdx,
378
- IndexType lastBlockIdx) {
379
- TensorBlockScratch scratch(device);
380
-
381
- for (IndexType block_idx = firstBlockIdx; block_idx < lastBlockIdx;
382
- ++block_idx) {
383
- TensorBlockDesc desc = tiling.block_mapper.blockDescriptor(block_idx);
384
- evaluator.evalBlock(desc, scratch);
385
- scratch.reset();
386
- }
387
- };
388
-
389
- // Evaluate small expressions directly as a single block.
390
- if (tiling.block_mapper.blockCount() == 1) {
391
- TensorBlockScratch scratch(device);
392
- TensorBlockDesc desc(0, tiling.block_mapper.blockDimensions());
393
- evaluator.evalBlock(desc, scratch);
394
- } else {
395
- device.parallelFor(tiling.block_mapper.blockCount(), tiling.cost,
396
- eval_block);
397
- }
398
- }
399
- evaluator.cleanup();
400
- }
401
- };
402
-
403
- template <typename Expression, typename DoneCallback, bool Vectorizable,
404
- TiledEvaluation Tiling>
405
- class TensorAsyncExecutor<Expression, ThreadPoolDevice, DoneCallback,
406
- Vectorizable, Tiling> {
407
- public:
408
- typedef typename Expression::Index StorageIndex;
409
- typedef TensorEvaluator<Expression, ThreadPoolDevice> Evaluator;
410
-
411
- static EIGEN_STRONG_INLINE void runAsync(const Expression& expr,
412
- const ThreadPoolDevice& device,
413
- DoneCallback done) {
414
- TensorAsyncExecutorContext* const ctx =
415
- new TensorAsyncExecutorContext(expr, device, std::move(done));
416
-
417
- const auto on_eval_subexprs = [ctx, &device](bool need_assign) -> void {
418
- if (!need_assign) {
419
- delete ctx;
420
- return;
421
- }
422
-
423
- typedef EvalRange<Evaluator, StorageIndex, Vectorizable> EvalRange;
424
- const StorageIndex size = array_prod(ctx->evaluator.dimensions());
425
- device.parallelForAsync(
426
- size, ctx->evaluator.costPerCoeff(Vectorizable),
427
- EvalRange::alignBlockSize,
428
- [ctx](StorageIndex firstIdx, StorageIndex lastIdx) {
429
- EvalRange::run(&ctx->evaluator, firstIdx, lastIdx);
430
- },
431
- [ctx]() { delete ctx; });
432
- };
433
-
434
- ctx->evaluator.evalSubExprsIfNeededAsync(nullptr, on_eval_subexprs);
435
- }
436
-
437
- private:
438
- struct TensorAsyncExecutorContext {
439
- TensorAsyncExecutorContext(const Expression& expr,
440
- const ThreadPoolDevice& thread_pool,
441
- DoneCallback done)
442
- : evaluator(expr, thread_pool), on_done(std::move(done)) {}
443
-
444
- ~TensorAsyncExecutorContext() {
445
- evaluator.cleanup();
446
- on_done();
447
- }
448
-
449
- Evaluator evaluator;
450
-
451
- private:
452
- DoneCallback on_done;
453
- };
454
- };
455
-
456
- template <typename Expression, typename DoneCallback, bool Vectorizable>
457
- class TensorAsyncExecutor<Expression, ThreadPoolDevice, DoneCallback,
458
- Vectorizable, /*Tileable*/ TiledEvaluation::On> {
459
- public:
460
- typedef typename traits<Expression>::Index IndexType;
461
- typedef typename traits<Expression>::Scalar Scalar;
462
- typedef typename remove_const<Scalar>::type ScalarNoConst;
463
-
464
- static const int NumDims = traits<Expression>::NumDimensions;
465
-
466
- typedef TensorEvaluator<Expression, ThreadPoolDevice> Evaluator;
467
- typedef TensorBlockMapper<NumDims, Evaluator::Layout, IndexType> BlockMapper;
468
- typedef TensorExecutorTilingContext<BlockMapper> TilingContext;
469
-
470
- typedef internal::TensorBlockDescriptor<NumDims, IndexType> TensorBlockDesc;
471
- typedef internal::TensorBlockScratchAllocator<ThreadPoolDevice>
472
- TensorBlockScratch;
473
-
474
- static EIGEN_STRONG_INLINE void runAsync(const Expression& expr,
475
- const ThreadPoolDevice& device,
476
- DoneCallback done) {
477
-
478
- TensorAsyncExecutorContext* const ctx =
479
- new TensorAsyncExecutorContext(expr, device, std::move(done));
480
-
481
- const auto on_eval_subexprs = [ctx](bool need_assign) -> void {
482
- if (!need_assign) {
483
- delete ctx;
484
- return;
485
- }
486
-
487
- ctx->tiling = internal::GetTensorExecutorTilingContext<
488
- Evaluator, BlockMapper, Vectorizable>(ctx->evaluator);
489
-
490
- auto eval_block = [ctx](IndexType firstBlockIdx, IndexType lastBlockIdx) {
491
- TensorBlockScratch scratch(ctx->device);
492
-
493
- for (IndexType block_idx = firstBlockIdx; block_idx < lastBlockIdx;
494
- ++block_idx) {
495
- TensorBlockDesc desc =
496
- ctx->tiling.block_mapper.blockDescriptor(block_idx);
497
- ctx->evaluator.evalBlock(desc, scratch);
498
- scratch.reset();
499
- }
500
- };
501
-
502
- // Evaluate small expressions directly as a single block.
503
- if (ctx->tiling.block_mapper.blockCount() == 1) {
504
- TensorBlockScratch scratch(ctx->device);
505
- TensorBlockDesc desc(0, ctx->tiling.block_mapper.blockDimensions());
506
- ctx->evaluator.evalBlock(desc, scratch);
507
- delete ctx;
508
- } else {
509
- ctx->device.parallelForAsync(ctx->tiling.block_mapper.blockCount(),
510
- ctx->tiling.cost, eval_block,
511
- [ctx]() { delete ctx; });
512
- }
513
- };
514
-
515
- ctx->evaluator.evalSubExprsIfNeededAsync(nullptr, on_eval_subexprs);
516
- }
517
-
518
- private:
519
- struct TensorAsyncExecutorContext {
520
- TensorAsyncExecutorContext(const Expression& expr,
521
- const ThreadPoolDevice& thread_pool,
522
- DoneCallback done)
523
- : device(thread_pool),
524
- evaluator(expr, thread_pool),
525
- on_done(std::move(done)) {}
526
-
527
- ~TensorAsyncExecutorContext() {
528
- evaluator.cleanup();
529
- on_done();
530
- }
531
-
532
- const ThreadPoolDevice& device;
533
- Evaluator evaluator;
534
- TilingContext tiling;
535
-
536
- private:
537
- DoneCallback on_done;
538
- };
539
- };
540
-
541
- #endif // EIGEN_USE_THREADS
542
-
543
- // GPU: the evaluation of the expression is offloaded to a GPU.
544
- #if defined(EIGEN_USE_GPU)
545
-
546
- template <typename Expression, bool Vectorizable, TiledEvaluation Tiling>
547
- class TensorExecutor<Expression, GpuDevice, Vectorizable, Tiling> {
548
- public:
549
- typedef typename Expression::Index StorageIndex;
550
- static void run(const Expression& expr, const GpuDevice& device);
551
- };
552
-
553
- #if defined(EIGEN_GPUCC)
554
- template <typename Evaluator, typename StorageIndex, bool Vectorizable>
555
- struct EigenMetaKernelEval {
556
- static EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE
557
- void run(Evaluator& eval, StorageIndex firstIdx, StorageIndex lastIdx, StorageIndex step_size) {
558
- for (StorageIndex i = firstIdx; i < lastIdx; i += step_size) {
559
- eval.evalScalar(i);
560
- }
561
- }
562
- };
563
-
564
- template <typename Evaluator, typename StorageIndex>
565
- struct EigenMetaKernelEval<Evaluator, StorageIndex, true> {
566
- static EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE
567
- void run(Evaluator& eval, StorageIndex firstIdx, StorageIndex lastIdx, StorageIndex step_size) {
568
- const StorageIndex PacketSize = unpacket_traits<typename Evaluator::PacketReturnType>::size;
569
- const StorageIndex vectorized_size = (lastIdx / PacketSize) * PacketSize;
570
- const StorageIndex vectorized_step_size = step_size * PacketSize;
571
-
572
- // Use the vector path
573
- for (StorageIndex i = firstIdx * PacketSize; i < vectorized_size;
574
- i += vectorized_step_size) {
575
- eval.evalPacket(i);
576
- }
577
- for (StorageIndex i = vectorized_size + firstIdx; i < lastIdx; i += step_size) {
578
- eval.evalScalar(i);
579
- }
580
- }
581
- };
582
-
583
- template <typename Evaluator, typename StorageIndex>
584
- __global__ void
585
- __launch_bounds__(1024)
586
- EigenMetaKernel(Evaluator eval, StorageIndex size) {
587
-
588
- const StorageIndex first_index = blockIdx.x * blockDim.x + threadIdx.x;
589
- const StorageIndex step_size = blockDim.x * gridDim.x;
590
-
591
- const bool vectorizable = Evaluator::PacketAccess & Evaluator::IsAligned;
592
- EigenMetaKernelEval<Evaluator, StorageIndex, vectorizable>::run(eval, first_index, size, step_size);
593
- }
594
-
595
- /*static*/
596
- template <typename Expression, bool Vectorizable, TiledEvaluation Tiling>
597
- EIGEN_STRONG_INLINE void TensorExecutor<Expression, GpuDevice, Vectorizable, Tiling>::run(
598
- const Expression& expr, const GpuDevice& device) {
599
- TensorEvaluator<Expression, GpuDevice> evaluator(expr, device);
600
- const bool needs_assign = evaluator.evalSubExprsIfNeeded(nullptr);
601
- if (needs_assign) {
602
-
603
- const int block_size = device.maxGpuThreadsPerBlock();
604
- const int max_blocks = device.getNumGpuMultiProcessors() *
605
- device.maxGpuThreadsPerMultiProcessor() / block_size;
606
- const StorageIndex size = array_prod(evaluator.dimensions());
607
- // Create a least one block to ensure we won't crash when tensorflow calls with tensors of size 0.
608
- const int num_blocks = numext::maxi<int>(numext::mini<int>(max_blocks, divup<int>(size, block_size)), 1);
609
-
610
- LAUNCH_GPU_KERNEL(
611
- (EigenMetaKernel<TensorEvaluator<Expression, GpuDevice>, StorageIndex>),
612
- num_blocks, block_size, 0, device, evaluator, size);
613
- }
614
- evaluator.cleanup();
615
- }
616
-
617
- #endif // EIGEN_GPUCC
618
- #endif // EIGEN_USE_GPU
619
-
620
- // SYCL Executor policy
621
- #ifdef EIGEN_USE_SYCL
622
-
623
- template <typename Evaluator>
624
- struct ExecExprFunctorKernel {
625
- typedef typename Evaluator::Index Index;
626
- Evaluator evaluator;
627
- const Index range;
628
- template <typename Scratch>
629
- EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE ExecExprFunctorKernel(
630
- const Scratch, Evaluator evaluator_, const Index range_)
631
- : evaluator(evaluator_), range(range_) {}
632
-
633
- EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE void operator()(
634
- cl::sycl::nd_item<1> itemID) {
635
- compute(itemID);
636
- }
637
- template <bool is_vec = Evaluator::PacketAccess>
638
- EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE typename std::enable_if<!is_vec>::type
639
- compute(const cl::sycl::nd_item<1>& itemID) {
640
- Index gId = static_cast<Index>(itemID.get_global_linear_id());
641
- Index total_threads = itemID.get_global_range(0);
642
-
643
- for (Index i = gId; i < range; i += total_threads) {
644
- evaluator.evalScalar(i);
645
- }
646
- }
647
- template <bool is_vec = Evaluator::PacketAccess>
648
- EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE typename std::enable_if<is_vec>::type
649
- compute(const cl::sycl::nd_item<1>& itemID) {
650
- const Index vectorizedRange =
651
- (range / Evaluator::PacketSize) * Evaluator::PacketSize;
652
- Index gId = static_cast<Index>(itemID.get_global_linear_id());
653
- const Index step = Evaluator::PacketSize * itemID.get_global_range(0);
654
- const Index start = Evaluator::PacketSize * gId;
655
- for (Index i = start; i < vectorizedRange; i += step) {
656
- evaluator.evalPacket(i);
657
- }
658
- gId += vectorizedRange;
659
- for (Index i = gId; i < range; i += itemID.get_global_range(0)) {
660
- evaluator.evalScalar(i);
661
- }
662
- }
663
- };
664
-
665
- template <typename Expression, bool Vectorizable, TiledEvaluation Tiling>
666
- class TensorExecutor<Expression, Eigen::SyclDevice, Vectorizable, Tiling> {
667
- public:
668
- typedef typename Expression::Index Index;
669
- static EIGEN_STRONG_INLINE void run(const Expression& expr,
670
- const Eigen::SyclDevice& dev) {
671
- typedef Eigen::TensorEvaluator<Expression, Eigen::SyclDevice> Evaluator;
672
- Evaluator evaluator(expr, dev);
673
- const bool needs_assign = evaluator.evalSubExprsIfNeeded(NULL);
674
- if (needs_assign) {
675
- Index range, GRange, tileSize;
676
- Index total_size = ::Eigen::internal::array_prod(evaluator.dimensions());
677
- total_size = (total_size == 0) ? 1 : total_size;
678
- const int PacketSize =
679
- Eigen::PacketType<typename Evaluator::CoeffReturnType,
680
- Eigen::SyclDevice>::size;
681
- Index vectorizable_threads = static_cast<Index>(total_size / PacketSize);
682
- dev.parallel_for_setup(vectorizable_threads, tileSize, range, GRange);
683
- range = total_size;
684
-
685
- dev.template nullary_kernel_launcher<
686
- typename Evaluator::CoeffReturnType,
687
- ExecExprFunctorKernel<Evaluator> >(
688
- evaluator,
689
- cl::sycl::nd_range<1>(cl::sycl::range<1>(GRange),
690
- cl::sycl::range<1>(tileSize)),
691
- Index(1), range);
692
- }
693
- evaluator.cleanup();
694
- }
695
- };
696
-
697
- #endif
698
-
699
- } // end namespace internal
700
-
701
- } // end namespace Eigen
702
-
703
- #endif // EIGEN_CXX11_TENSOR_TENSOR_EXECUTOR_H