cart-elc

Source code for CART-ELC
git clone git://git.laack.co/cart-elc.git
Log | Files | Refs | README | LICENSE

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