Tensor 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  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. // Copyright (C) 2013 Christian Seiler <christian@iwakd.de>
  6. //
  7. // This Source Code Form is subject to the terms of the Mozilla
  8. // Public License v. 2.0. If a copy of the MPL was not distributed
  9. // with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
  10. //#ifndef EIGEN_CXX11_TENSOR_MODULE
  11. //#define EIGEN_CXX11_TENSOR_MODULE
  12. #include "../../../Eigen/Core"
  13. #if EIGEN_HAS_CXX11
  14. #include "../SpecialFunctions"
  15. #include "../../../Eigen/src/Core/util/DisableStupidWarnings.h"
  16. #include "src/util/CXX11Meta.h"
  17. #include "src/util/MaxSizeVector.h"
  18. /** \defgroup CXX11_Tensor_Module Tensor Module
  19. *
  20. * This module provides a Tensor class for storing arbitrarily indexed
  21. * objects.
  22. *
  23. * \code
  24. * #include <Eigen/CXX11/Tensor>
  25. * \endcode
  26. *
  27. * Much of the documentation can be found \ref eigen_tensors "here".
  28. */
  29. #include <atomic>
  30. #include <chrono>
  31. #include <cmath>
  32. #include <cstddef>
  33. #include <cstring>
  34. #include <random>
  35. #include <thread>
  36. #if defined(EIGEN_USE_THREADS) || defined(EIGEN_USE_SYCL)
  37. #include "ThreadPool"
  38. #endif
  39. #ifdef EIGEN_USE_GPU
  40. #include <iostream>
  41. #if defined(EIGEN_USE_HIP)
  42. #include <hip/hip_runtime.h>
  43. #else
  44. #include <cuda_runtime.h>
  45. #endif
  46. #endif
  47. #include "src/Tensor/TensorMacros.h"
  48. #include "src/Tensor/TensorForwardDeclarations.h"
  49. #include "src/Tensor/TensorMeta.h"
  50. #include "src/Tensor/TensorFunctors.h"
  51. #include "src/Tensor/TensorCostModel.h"
  52. #include "src/Tensor/TensorDeviceDefault.h"
  53. #include "src/Tensor/TensorDeviceThreadPool.h"
  54. #include "src/Tensor/TensorDeviceGpu.h"
  55. #ifndef gpu_assert
  56. #define gpu_assert(x)
  57. #endif
  58. #include "src/Tensor/TensorDeviceSycl.h"
  59. #include "src/Tensor/TensorIndexList.h"
  60. #include "src/Tensor/TensorDimensionList.h"
  61. #include "src/Tensor/TensorDimensions.h"
  62. #include "src/Tensor/TensorInitializer.h"
  63. #include "src/Tensor/TensorTraits.h"
  64. #include "src/Tensor/TensorRandom.h"
  65. #include "src/Tensor/TensorUInt128.h"
  66. #include "src/Tensor/TensorIntDiv.h"
  67. #include "src/Tensor/TensorGlobalFunctions.h"
  68. #include "src/Tensor/TensorBase.h"
  69. #include "src/Tensor/TensorBlock.h"
  70. #include "src/Tensor/TensorEvaluator.h"
  71. #include "src/Tensor/TensorExpr.h"
  72. #include "src/Tensor/TensorReduction.h"
  73. #include "src/Tensor/TensorReductionGpu.h"
  74. #include "src/Tensor/TensorArgMax.h"
  75. #include "src/Tensor/TensorConcatenation.h"
  76. #include "src/Tensor/TensorContractionMapper.h"
  77. #include "src/Tensor/TensorContractionBlocking.h"
  78. #include "src/Tensor/TensorContraction.h"
  79. #include "src/Tensor/TensorContractionThreadPool.h"
  80. #include "src/Tensor/TensorContractionGpu.h"
  81. #include "src/Tensor/TensorConversion.h"
  82. #include "src/Tensor/TensorConvolution.h"
  83. #include "src/Tensor/TensorFFT.h"
  84. #include "src/Tensor/TensorPatch.h"
  85. #include "src/Tensor/TensorImagePatch.h"
  86. #include "src/Tensor/TensorVolumePatch.h"
  87. #include "src/Tensor/TensorBroadcasting.h"
  88. #include "src/Tensor/TensorChipping.h"
  89. #include "src/Tensor/TensorInflation.h"
  90. #include "src/Tensor/TensorLayoutSwap.h"
  91. #include "src/Tensor/TensorMorphing.h"
  92. #include "src/Tensor/TensorPadding.h"
  93. #include "src/Tensor/TensorReverse.h"
  94. #include "src/Tensor/TensorShuffling.h"
  95. #include "src/Tensor/TensorStriding.h"
  96. #include "src/Tensor/TensorCustomOp.h"
  97. #include "src/Tensor/TensorEvalTo.h"
  98. #include "src/Tensor/TensorForcedEval.h"
  99. #include "src/Tensor/TensorGenerator.h"
  100. #include "src/Tensor/TensorAssign.h"
  101. #include "src/Tensor/TensorScan.h"
  102. #include "src/Tensor/TensorTrace.h"
  103. #ifdef EIGEN_USE_SYCL
  104. #include "src/Tensor/TensorReductionSycl.h"
  105. #include "src/Tensor/TensorConvolutionSycl.h"
  106. #include "src/Tensor/TensorContractionSycl.h"
  107. #include "src/Tensor/TensorScanSycl.h"
  108. #endif
  109. #include "src/Tensor/TensorExecutor.h"
  110. #include "src/Tensor/TensorDevice.h"
  111. #include "src/Tensor/TensorStorage.h"
  112. #include "src/Tensor/Tensor.h"
  113. #include "src/Tensor/TensorFixedSize.h"
  114. #include "src/Tensor/TensorMap.h"
  115. #include "src/Tensor/TensorRef.h"
  116. #include "src/Tensor/TensorIO.h"
  117. #include "../../../Eigen/src/Core/util/ReenableStupidWarnings.h"
  118. #endif // EIGEN_HAS_CXX11
  119. //#endif // EIGEN_CXX11_TENSOR_MODULE