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 138