Tensor (4187B)
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 11 //#ifndef EIGEN_CXX11_TENSOR_MODULE 12 //#define EIGEN_CXX11_TENSOR_MODULE 13 14 #include "../../../Eigen/Core" 15 16 #if EIGEN_HAS_CXX11 17 18 #include "../SpecialFunctions" 19 20 #include "../../../Eigen/src/Core/util/DisableStupidWarnings.h" 21 #include "src/util/CXX11Meta.h" 22 #include "src/util/MaxSizeVector.h" 23 24 /** \defgroup CXX11_Tensor_Module Tensor Module 25 * 26 * This module provides a Tensor class for storing arbitrarily indexed 27 * objects. 28 * 29 * \code 30 * #include <Eigen/CXX11/Tensor> 31 * \endcode 32 * 33 * Much of the documentation can be found \ref eigen_tensors "here". 34 */ 35 36 #include <atomic> 37 #include <chrono> 38 #include <cmath> 39 #include <cstddef> 40 #include <cstring> 41 #include <random> 42 #include <thread> 43 44 #if defined(EIGEN_USE_THREADS) || defined(EIGEN_USE_SYCL) 45 #include "ThreadPool" 46 #endif 47 48 #ifdef EIGEN_USE_GPU 49 #include <iostream> 50 #if defined(EIGEN_USE_HIP) 51 #include <hip/hip_runtime.h> 52 #else 53 #include <cuda_runtime.h> 54 #endif 55 #endif 56 57 #include "src/Tensor/TensorMacros.h" 58 #include "src/Tensor/TensorForwardDeclarations.h" 59 #include "src/Tensor/TensorMeta.h" 60 #include "src/Tensor/TensorFunctors.h" 61 #include "src/Tensor/TensorCostModel.h" 62 #include "src/Tensor/TensorDeviceDefault.h" 63 #include "src/Tensor/TensorDeviceThreadPool.h" 64 #include "src/Tensor/TensorDeviceGpu.h" 65 #ifndef gpu_assert 66 #define gpu_assert(x) 67 #endif 68 #include "src/Tensor/TensorDeviceSycl.h" 69 #include "src/Tensor/TensorIndexList.h" 70 #include "src/Tensor/TensorDimensionList.h" 71 #include "src/Tensor/TensorDimensions.h" 72 #include "src/Tensor/TensorInitializer.h" 73 #include "src/Tensor/TensorTraits.h" 74 #include "src/Tensor/TensorRandom.h" 75 #include "src/Tensor/TensorUInt128.h" 76 #include "src/Tensor/TensorIntDiv.h" 77 #include "src/Tensor/TensorGlobalFunctions.h" 78 79 #include "src/Tensor/TensorBase.h" 80 #include "src/Tensor/TensorBlock.h" 81 82 #include "src/Tensor/TensorEvaluator.h" 83 #include "src/Tensor/TensorExpr.h" 84 #include "src/Tensor/TensorReduction.h" 85 #include "src/Tensor/TensorReductionGpu.h" 86 #include "src/Tensor/TensorArgMax.h" 87 #include "src/Tensor/TensorConcatenation.h" 88 #include "src/Tensor/TensorContractionMapper.h" 89 #include "src/Tensor/TensorContractionBlocking.h" 90 #include "src/Tensor/TensorContraction.h" 91 #include "src/Tensor/TensorContractionThreadPool.h" 92 #include "src/Tensor/TensorContractionGpu.h" 93 #include "src/Tensor/TensorConversion.h" 94 #include "src/Tensor/TensorConvolution.h" 95 #include "src/Tensor/TensorFFT.h" 96 #include "src/Tensor/TensorPatch.h" 97 #include "src/Tensor/TensorImagePatch.h" 98 #include "src/Tensor/TensorVolumePatch.h" 99 #include "src/Tensor/TensorBroadcasting.h" 100 #include "src/Tensor/TensorChipping.h" 101 #include "src/Tensor/TensorInflation.h" 102 #include "src/Tensor/TensorLayoutSwap.h" 103 #include "src/Tensor/TensorMorphing.h" 104 #include "src/Tensor/TensorPadding.h" 105 #include "src/Tensor/TensorReverse.h" 106 #include "src/Tensor/TensorShuffling.h" 107 #include "src/Tensor/TensorStriding.h" 108 #include "src/Tensor/TensorCustomOp.h" 109 #include "src/Tensor/TensorEvalTo.h" 110 #include "src/Tensor/TensorForcedEval.h" 111 #include "src/Tensor/TensorGenerator.h" 112 #include "src/Tensor/TensorAssign.h" 113 #include "src/Tensor/TensorScan.h" 114 #include "src/Tensor/TensorTrace.h" 115 116 #ifdef EIGEN_USE_SYCL 117 #include "src/Tensor/TensorReductionSycl.h" 118 #include "src/Tensor/TensorConvolutionSycl.h" 119 #include "src/Tensor/TensorContractionSycl.h" 120 #include "src/Tensor/TensorScanSycl.h" 121 #endif 122 123 #include "src/Tensor/TensorExecutor.h" 124 #include "src/Tensor/TensorDevice.h" 125 126 #include "src/Tensor/TensorStorage.h" 127 #include "src/Tensor/Tensor.h" 128 #include "src/Tensor/TensorFixedSize.h" 129 #include "src/Tensor/TensorMap.h" 130 #include "src/Tensor/TensorRef.h" 131 132 #include "src/Tensor/TensorIO.h" 133 134 #include "../../../Eigen/src/Core/util/ReenableStupidWarnings.h" 135 136 #endif // EIGEN_HAS_CXX11 137 //#endif // EIGEN_CXX11_TENSOR_MODULE