Remove CXX11/ directory nesting for Tensor modules

libeigen/eigen!2199

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
This commit is contained in:
Rasmus Munk Larsen
2026-02-26 07:03:38 -08:00
parent 11eb66e1b5
commit 064d686c57
191 changed files with 336 additions and 323 deletions

View File

@@ -15,11 +15,11 @@
// There is code in the Tensorflow codebase that will define EIGEN_USE_GPU, but
// for some reason gets sent to the gcc/host compiler instead of the gpu/nvcc/hipcc compiler
// When compiling such files, gcc will end up trying to pick up the CUDA headers by
// default (see the code within "unsupported/Eigen/CXX11/Tensor" that is guarded by EIGEN_USE_GPU)
// default (see the code within "unsupported/Eigen/Tensor" that is guarded by EIGEN_USE_GPU)
// This will obviously not work when trying to compile tensorflow on a system with no CUDA
// To work around this issue for HIP systems (and leave the default behaviour intact), the
// HIP tensorflow build defines EIGEN_USE_HIP when compiling all source files, and
// "unsupported/Eigen/CXX11/Tensor" has been updated to use HIP header when EIGEN_USE_HIP is
// "unsupported/Eigen/Tensor" has been updated to use HIP header when EIGEN_USE_HIP is
// defined. In continuation of that requirement, the guard here needs to be EIGEN_USE_HIP as well
#if defined(EIGEN_USE_HIP)

View File

@@ -1,4 +1,3 @@
#ifndef EIGEN_THREADPOOL_MODULE_H
#error \
"Please include unsupported/Eigen/CXX11/ThreadPool instead of including headers inside the src directory directly."
#error "Please include Eigen/ThreadPool instead of including headers inside the src directory directly."
#endif

View File

@@ -22,8 +22,9 @@ if [ ! -f "${BUILD_DIR}/compile_commands.json" ]; then
exit 1
fi
# External-dependency modules that require third-party headers we don't have.
SKIP_MODULES="AccelerateSupport|CholmodSupport|KLUSupport|MetisSupport|PaStiXSupport|PardisoSupport|SPQRSupport|SuperLUSupport|UmfPackSupport"
# External-dependency modules that require third-party headers we don't have,
# and utility-only directories with no standalone module header.
SKIP_MODULES="AccelerateSupport|CholmodSupport|KLUSupport|MetisSupport|PaStiXSupport|PardisoSupport|SPQRSupport|SuperLUSupport|UmfPackSupport|TensorUtil"
# Get changed files (Added, Modified, Renamed).
CHANGED_FILES=$(git diff --name-only --diff-filter=AMR "${BASE_SHA}" HEAD)
@@ -44,23 +45,23 @@ module_include_for_header() {
local header="$1"
local module
# Handle Eigen/src/<Module>/... -> Eigen/<Module>
# Handle Eigen/src/<Module>/... and unsupported/Eigen/src/<Module>/...
# Extract just the bare module name first.
if [[ "${header}" =~ ^Eigen/src/([^/]+)/ ]]; then
module="${BASH_REMATCH[1]}"
# Handle unsupported/Eigen/src/<Module>/... -> unsupported/Eigen/<Module>
elif [[ "${header}" =~ ^unsupported/Eigen/src/([^/]+)/ ]]; then
module="unsupported/Eigen/${BASH_REMATCH[1]}"
module="${BASH_REMATCH[1]}"
else
return 1
fi
# Skip external-dependency modules.
# Skip external-dependency modules and utility-only directories.
if [[ "${module}" =~ ^(${SKIP_MODULES})$ ]]; then
return 1
fi
if [[ "${header}" =~ ^unsupported/ ]]; then
echo "${module}"
echo "unsupported/Eigen/${module}"
else
echo "Eigen/${module}"
fi

View File

@@ -19,6 +19,9 @@ set(Eigen_HEADERS
SparseExtra
SpecialFunctions
Splines
Tensor
TensorSymmetry
ThreadPool
)
install(FILES

View File

@@ -1,8 +1,7 @@
# Forwarding headers for backward compatibility.
set(Eigen_CXX11_HEADERS Tensor TensorSymmetry ThreadPool)
install(FILES
${Eigen_CXX11_HEADERS}
DESTINATION ${INCLUDE_INSTALL_DIR}/unsupported/Eigen/CXX11 COMPONENT Devel
)
install(DIRECTORY src DESTINATION ${INCLUDE_INSTALL_DIR}/unsupported/Eigen/CXX11 COMPONENT Devel FILES_MATCHING PATTERN "*.h")

View File

@@ -1,142 +1,2 @@
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2014 Benoit Steiner <benoit.steiner.goog@gmail.com>
// Copyright (C) 2013 Christian Seiler <christian@iwakd.de>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
// #ifndef EIGEN_CXX11_TENSOR_MODULE_H
#define EIGEN_CXX11_TENSOR_MODULE_H
#include "../../../Eigen/Core"
#include "../SpecialFunctions"
#include "../../../Eigen/src/Core/util/DisableStupidWarnings.h"
// IWYU pragma: begin_exports
#include "../../../Eigen/src/Core/util/Meta.h"
#include "../../../Eigen/src/Core/util/MaxSizeVector.h"
// IWYU pragma: end_exports
/** \defgroup CXX11_Tensor_Module Tensor Module
*
* This module provides a Tensor class for storing arbitrarily indexed
* objects.
*
* \code
* #include <Eigen/CXX11/Tensor>
* \endcode
*
* Much of the documentation can be found \ref eigen_tensors "here".
*/
#include <atomic>
#include <chrono>
#include <cmath>
#include <cstddef>
#include <cstring>
#include <iterator>
#include <numeric>
#include <random>
#include <thread>
#if defined(EIGEN_USE_THREADS) || defined(EIGEN_USE_SYCL)
#include "../../../Eigen/ThreadPool"
#endif
#ifdef EIGEN_USE_GPU
#include <iostream>
#if defined(EIGEN_USE_HIP)
#include <hip/hip_runtime.h>
#else
#include <cuda_runtime.h>
#endif
#endif
// IWYU pragma: begin_exports
#include "src/Tensor/TensorMacros.h"
#include "src/Tensor/TensorForwardDeclarations.h"
#include "src/Tensor/TensorMeta.h"
#include "src/Tensor/TensorFunctors.h"
#include "src/Tensor/TensorCostModel.h"
#include "src/Tensor/TensorDeviceDefault.h"
#include "src/Tensor/TensorDeviceThreadPool.h"
#include "src/Tensor/TensorDeviceGpu.h"
#ifndef gpu_assert
#define gpu_assert(x)
#endif
#include "src/Tensor/TensorDeviceSycl.h"
#include "src/Tensor/TensorIndexList.h"
#include "src/Tensor/TensorDimensionList.h"
#include "src/Tensor/TensorDimensions.h"
#include "src/Tensor/TensorInitializer.h"
#include "src/Tensor/TensorTraits.h"
#include "src/Tensor/TensorRandom.h"
#include "src/Tensor/TensorUInt128.h"
#include "src/Tensor/TensorIntDiv.h"
#include "src/Tensor/TensorGlobalFunctions.h"
#include "src/Tensor/TensorIO.h"
#include "src/Tensor/TensorBase.h"
#include "src/Tensor/TensorBlock.h"
#include "src/Tensor/TensorEvaluator.h"
#include "src/Tensor/TensorExpr.h"
#include "src/Tensor/TensorReduction.h"
#include "src/Tensor/TensorReductionGpu.h"
#include "src/Tensor/TensorArgMax.h"
#include "src/Tensor/TensorConcatenation.h"
#include "src/Tensor/TensorContractionMapper.h"
#include "src/Tensor/TensorContractionBlocking.h"
#include "src/Tensor/TensorContraction.h"
#include "src/Tensor/TensorContractionThreadPool.h"
#include "src/Tensor/TensorContractionGpu.h"
#include "src/Tensor/TensorConversion.h"
#include "src/Tensor/TensorConvolution.h"
#include "src/Tensor/TensorFFT.h"
#include "src/Tensor/TensorPatch.h"
#include "src/Tensor/TensorImagePatch.h"
#include "src/Tensor/TensorVolumePatch.h"
#include "src/Tensor/TensorBroadcasting.h"
#include "src/Tensor/TensorChipping.h"
#include "src/Tensor/TensorInflation.h"
#include "src/Tensor/TensorLayoutSwap.h"
#include "src/Tensor/TensorMorphing.h"
#include "src/Tensor/TensorPadding.h"
#include "src/Tensor/TensorReverse.h"
#include "src/Tensor/TensorRoll.h"
#include "src/Tensor/TensorShuffling.h"
#include "src/Tensor/TensorStriding.h"
#include "src/Tensor/TensorCustomOp.h"
#include "src/Tensor/TensorEvalTo.h"
#include "src/Tensor/TensorForcedEval.h"
#include "src/Tensor/TensorGenerator.h"
#include "src/Tensor/TensorAssign.h"
#include "src/Tensor/TensorScan.h"
#include "src/Tensor/TensorTrace.h"
#ifdef EIGEN_USE_SYCL
#include "src/Tensor/TensorReductionSycl.h"
#include "src/Tensor/TensorConvolutionSycl.h"
#include "src/Tensor/TensorContractionSycl.h"
#include "src/Tensor/TensorScanSycl.h"
#endif
#include "src/Tensor/TensorExecutor.h"
#include "src/Tensor/TensorDevice.h"
#include "src/Tensor/TensorStorage.h"
#include "src/Tensor/Tensor.h"
#include "src/Tensor/TensorFixedSize.h"
#include "src/Tensor/TensorMap.h"
#include "src/Tensor/TensorRef.h"
// IWYU pragma: end_exports
#include "../../../Eigen/src/Core/util/ReenableStupidWarnings.h"
// #endif // EIGEN_CXX11_TENSOR_MODULE_H
// Forwarding header for backward compatibility.
#include "../Tensor" // IWYU pragma: export

View File

@@ -1,40 +1,2 @@
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2013 Christian Seiler <christian@iwakd.de>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
#ifndef EIGEN_CXX11_TENSORSYMMETRY_MODULE_H
#define EIGEN_CXX11_TENSORSYMMETRY_MODULE_H
#include "Tensor"
#include "../../../Eigen/src/Core/util/DisableStupidWarnings.h"
#include "src/util/CXX11Meta.h"
/** \defgroup TensorSymmetry_Module Tensor Symmetry Module
*
* This module provides a classes that allow for the definition of
* symmetries w.r.t. tensor indices.
*
* Including this module will implicitly include the Tensor module.
*
* \code
* #include <Eigen/TensorSymmetry>
* \endcode
*/
// IWYU pragma: begin_exports
#include "src/TensorSymmetry/util/TemplateGroupTheory.h"
#include "src/TensorSymmetry/Symmetry.h"
#include "src/TensorSymmetry/StaticSymmetry.h"
#include "src/TensorSymmetry/DynamicSymmetry.h"
// IWYU pragma: end_exports
#include "../../../Eigen/src/Core/util/ReenableStupidWarnings.h"
#endif // EIGEN_CXX11_TENSORSYMMETRY_MODULE_H
// Forwarding header for backward compatibility.
#include "../TensorSymmetry" // IWYU pragma: export

View File

@@ -1 +1,2 @@
#include "../../../Eigen/ThreadPool" // IWYU pragma: export
// Forwarding header for backward compatibility.
#include "../ThreadPool" // IWYU pragma: export

View File

@@ -1,3 +0,0 @@
#ifndef EIGEN_CXX11_TENSOR_MODULE_H
#error "Please include unsupported/Eigen/CXX11/Tensor instead of including headers inside the src directory directly."
#endif

View File

@@ -1,7 +0,0 @@
#if defined(__clang__) || defined(__GNUC__)
#warning \
"Deprecated header file, please either include the main Eigen/CXX11/Tensor header or the respective TensorContractionGpu.h file"
#endif
#include "TensorContractionGpu.h"

View File

@@ -1,7 +0,0 @@
#if defined(__clang__) || defined(__GNUC__)
#warning \
"Deprecated header file, please either include the main Eigen/CXX11/Tensor header or the respective TensorDeviceGpu.h file"
#endif
#include "TensorDeviceGpu.h"

View File

@@ -1,4 +0,0 @@
#ifndef EIGEN_CXX11_TENSORSYMMETRY_MODULE_H
#error \
"Please include unsupported/Eigen/CXX11/TensorSymmetry instead of including headers inside the src directory directly."
#endif

142
unsupported/Eigen/Tensor Normal file
View File

@@ -0,0 +1,142 @@
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2014 Benoit Steiner <benoit.steiner.goog@gmail.com>
// Copyright (C) 2013 Christian Seiler <christian@iwakd.de>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
// #ifndef EIGEN_CXX11_TENSOR_MODULE_H
#define EIGEN_CXX11_TENSOR_MODULE_H
#include "../../Eigen/Core"
#include "SpecialFunctions"
#include "../../Eigen/src/Core/util/DisableStupidWarnings.h"
// IWYU pragma: begin_exports
#include "../../Eigen/src/Core/util/Meta.h"
#include "../../Eigen/src/Core/util/MaxSizeVector.h"
// IWYU pragma: end_exports
/** \defgroup CXX11_Tensor_Module Tensor Module
*
* This module provides a Tensor class for storing arbitrarily indexed
* objects.
*
* \code
* #include <unsupported/Eigen/Tensor>
* \endcode
*
* Much of the documentation can be found \ref eigen_tensors "here".
*/
#include <atomic>
#include <chrono>
#include <cmath>
#include <cstddef>
#include <cstring>
#include <iterator>
#include <numeric>
#include <random>
#include <thread>
#if defined(EIGEN_USE_THREADS) || defined(EIGEN_USE_SYCL)
#include "../../Eigen/ThreadPool"
#endif
#ifdef EIGEN_USE_GPU
#include <iostream>
#if defined(EIGEN_USE_HIP)
#include <hip/hip_runtime.h>
#else
#include <cuda_runtime.h>
#endif
#endif
// IWYU pragma: begin_exports
#include "src/Tensor/TensorMacros.h"
#include "src/Tensor/TensorForwardDeclarations.h"
#include "src/Tensor/TensorMeta.h"
#include "src/Tensor/TensorFunctors.h"
#include "src/Tensor/TensorCostModel.h"
#include "src/Tensor/TensorDeviceDefault.h"
#include "src/Tensor/TensorDeviceThreadPool.h"
#include "src/Tensor/TensorDeviceGpu.h"
#ifndef gpu_assert
#define gpu_assert(x)
#endif
#include "src/Tensor/TensorDeviceSycl.h"
#include "src/Tensor/TensorIndexList.h"
#include "src/Tensor/TensorDimensionList.h"
#include "src/Tensor/TensorDimensions.h"
#include "src/Tensor/TensorInitializer.h"
#include "src/Tensor/TensorTraits.h"
#include "src/Tensor/TensorRandom.h"
#include "src/Tensor/TensorUInt128.h"
#include "src/Tensor/TensorIntDiv.h"
#include "src/Tensor/TensorGlobalFunctions.h"
#include "src/Tensor/TensorIO.h"
#include "src/Tensor/TensorBase.h"
#include "src/Tensor/TensorBlock.h"
#include "src/Tensor/TensorEvaluator.h"
#include "src/Tensor/TensorExpr.h"
#include "src/Tensor/TensorReduction.h"
#include "src/Tensor/TensorReductionGpu.h"
#include "src/Tensor/TensorArgMax.h"
#include "src/Tensor/TensorConcatenation.h"
#include "src/Tensor/TensorContractionMapper.h"
#include "src/Tensor/TensorContractionBlocking.h"
#include "src/Tensor/TensorContraction.h"
#include "src/Tensor/TensorContractionThreadPool.h"
#include "src/Tensor/TensorContractionGpu.h"
#include "src/Tensor/TensorConversion.h"
#include "src/Tensor/TensorConvolution.h"
#include "src/Tensor/TensorFFT.h"
#include "src/Tensor/TensorPatch.h"
#include "src/Tensor/TensorImagePatch.h"
#include "src/Tensor/TensorVolumePatch.h"
#include "src/Tensor/TensorBroadcasting.h"
#include "src/Tensor/TensorChipping.h"
#include "src/Tensor/TensorInflation.h"
#include "src/Tensor/TensorLayoutSwap.h"
#include "src/Tensor/TensorMorphing.h"
#include "src/Tensor/TensorPadding.h"
#include "src/Tensor/TensorReverse.h"
#include "src/Tensor/TensorRoll.h"
#include "src/Tensor/TensorShuffling.h"
#include "src/Tensor/TensorStriding.h"
#include "src/Tensor/TensorCustomOp.h"
#include "src/Tensor/TensorEvalTo.h"
#include "src/Tensor/TensorForcedEval.h"
#include "src/Tensor/TensorGenerator.h"
#include "src/Tensor/TensorAssign.h"
#include "src/Tensor/TensorScan.h"
#include "src/Tensor/TensorTrace.h"
#ifdef EIGEN_USE_SYCL
#include "src/Tensor/TensorReductionSycl.h"
#include "src/Tensor/TensorConvolutionSycl.h"
#include "src/Tensor/TensorContractionSycl.h"
#include "src/Tensor/TensorScanSycl.h"
#endif
#include "src/Tensor/TensorExecutor.h"
#include "src/Tensor/TensorDevice.h"
#include "src/Tensor/TensorStorage.h"
#include "src/Tensor/Tensor.h"
#include "src/Tensor/TensorFixedSize.h"
#include "src/Tensor/TensorMap.h"
#include "src/Tensor/TensorRef.h"
// IWYU pragma: end_exports
#include "../../Eigen/src/Core/util/ReenableStupidWarnings.h"
// #endif // EIGEN_CXX11_TENSOR_MODULE_H

View File

@@ -0,0 +1,40 @@
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2013 Christian Seiler <christian@iwakd.de>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
#ifndef EIGEN_CXX11_TENSORSYMMETRY_MODULE_H
#define EIGEN_CXX11_TENSORSYMMETRY_MODULE_H
#include "Tensor"
#include "../../Eigen/src/Core/util/DisableStupidWarnings.h"
#include "src/TensorUtil/CXX11Meta.h"
/** \defgroup TensorSymmetry_Module Tensor Symmetry Module
*
* This module provides a classes that allow for the definition of
* symmetries w.r.t. tensor indices.
*
* Including this module will implicitly include the Tensor module.
*
* \code
* #include <Eigen/TensorSymmetry>
* \endcode
*/
// IWYU pragma: begin_exports
#include "src/TensorSymmetry/util/TemplateGroupTheory.h"
#include "src/TensorSymmetry/Symmetry.h"
#include "src/TensorSymmetry/StaticSymmetry.h"
#include "src/TensorSymmetry/DynamicSymmetry.h"
// IWYU pragma: end_exports
#include "../../Eigen/src/Core/util/ReenableStupidWarnings.h"
#endif // EIGEN_CXX11_TENSORSYMMETRY_MODULE_H

View File

@@ -0,0 +1 @@
#include "../../Eigen/ThreadPool" // IWYU pragma: export

View File

@@ -0,0 +1,3 @@
#ifndef EIGEN_CXX11_TENSOR_MODULE_H
#error "Please include unsupported/Eigen/Tensor instead of including headers inside the src directory directly."
#endif

View File

@@ -228,6 +228,7 @@ struct TensorContractionKernel {
const StorageIndex depth, const StorageIndex cols,
const ResScalar alpha, const ResScalar beta) {
// Default GEBP kernel does not support beta.
EIGEN_ONLY_USED_FOR_DEBUG(beta);
eigen_assert(beta == ResScalar(1));
static const int kComputeStrideFromBlockDimensions = -1;
GebpKernel()(output_mapper, lhsBlock, rhsBlock, rows, depth, cols, alpha,

View File

@@ -0,0 +1,7 @@
#if defined(__clang__) || defined(__GNUC__)
#warning \
"Deprecated header file, please either include the main unsupported/Eigen/Tensor header or the respective TensorContractionGpu.h file"
#endif
#include "TensorContractionGpu.h"

View File

@@ -0,0 +1,7 @@
#if defined(__clang__) || defined(__GNUC__)
#warning \
"Deprecated header file, please either include the main unsupported/Eigen/Tensor header or the respective TensorDeviceGpu.h file"
#endif
#include "TensorDeviceGpu.h"

View File

@@ -77,7 +77,7 @@ class TensorExecutor {
public:
typedef typename Expression::Index StorageIndex;
// Including `unsupported/Eigen/CXX11/Tensor` in different translation units
// Including `unsupported/Eigen/Tensor` in different translation units
// with/without `EIGEN_USE_THREADS` or `EIGEN_USE_GPU` is a potential ODR
// violation. If this template is instantiated with a non-default device, it
// means that this header file was included without defining

View File

@@ -19,7 +19,10 @@ template <Index n>
struct type2index {
static constexpr Index value = n;
EIGEN_DEVICE_FUNC constexpr operator Index() const { return n; }
EIGEN_DEVICE_FUNC void set(Index val) { eigen_assert(val == n); }
EIGEN_DEVICE_FUNC void set(Index val) {
EIGEN_ONLY_USED_FOR_DEBUG(val);
eigen_assert(val == n);
}
};
// This can be used with IndexPairList to get compile-time constant pairs,
@@ -32,6 +35,7 @@ struct type2indexpair {
constexpr EIGEN_DEVICE_FUNC operator IndexPair<Index>() const { return IndexPair<Index>(f, s); }
EIGEN_DEVICE_FUNC void set(const IndexPair<Index>& val) {
EIGEN_ONLY_USED_FOR_DEBUG(val);
eigen_assert(val.first == f);
eigen_assert(val.second == s);
}
@@ -225,6 +229,7 @@ struct tuple_coeff<0, ValueT> {
}
template <typename... T>
EIGEN_DEVICE_FUNC static void set(const Index i, IndexTuple<T...>& t, const ValueT value) {
EIGEN_ONLY_USED_FOR_DEBUG(i);
eigen_assert(i == 0);
update_value(array_get<0>(t), value);
}

View File

@@ -211,7 +211,7 @@ inline void DynamicSGroup::add(int one, int two, int flags) {
std::size_t newNumIndices = (one > two) ? one : two + 1;
for (auto& gelem : m_elements) {
gelem.representation.reserve(newNumIndices);
for (std::size_t i = m_numIndices; i < newNumIndices; i++) gelem.representation.push_back(i);
for (std::size_t i = m_numIndices; i < newNumIndices; i++) gelem.representation.push_back(static_cast<int>(i));
}
m_numIndices = newNumIndices;
}
@@ -246,8 +246,8 @@ inline void DynamicSGroup::add(int one, int two, int flags) {
std::size_t coset_rep = coset_order;
do {
for (auto g : m_generators) {
e = mul(m_elements[coset_rep], g);
for (auto gen : m_generators) {
e = mul(m_elements[coset_rep], gen);
p = findElement(e);
if (p < 0) {
// element not yet in group

View File

@@ -0,0 +1,3 @@
#ifndef EIGEN_CXX11_TENSORSYMMETRY_MODULE_H
#error "Please include unsupported/Eigen/TensorSymmetry instead of including headers inside the src directory directly."
#endif

View File

@@ -11,7 +11,7 @@
#define EIGEN_CXX11META_H
#include <vector>
#include "../../../../../Eigen/src/Core/util/EmulateArray.h"
#include "../../../../Eigen/src/Core/util/EmulateArray.h"
#include "CXX11Workarounds.h"

View File

@@ -1,6 +1,6 @@
#include <iostream>
#define EIGEN_USE_SYCL
#include <unsupported/Eigen/CXX11/Tensor>
#include <unsupported/Eigen/Tensor>
using Eigen::array;
using Eigen::SyclDevice;

View File

@@ -10,7 +10,7 @@
#include "main.h"
#include <Eigen/CXX11/Tensor>
#include <Eigen/Tensor>
using Eigen::array;
using Eigen::Pair;

View File

@@ -12,7 +12,7 @@
#define EIGEN_USE_GPU
#include "main.h"
#include <unsupported/Eigen/CXX11/Tensor>
#include <unsupported/Eigen/Tensor>
using Eigen::Tensor;

View File

@@ -19,7 +19,7 @@
#include "main.h"
#include <unsupported/Eigen/CXX11/Tensor>
#include <unsupported/Eigen/Tensor>
using Eigen::array;
using Eigen::SyclDevice;

View File

@@ -9,7 +9,7 @@
#include "main.h"
#include <Eigen/CXX11/Tensor>
#include <Eigen/Tensor>
using Eigen::RowMajor;
using Eigen::Tensor;

View File

@@ -13,7 +13,7 @@
#include <algorithm>
#include <set>
#include <Eigen/CXX11/Tensor>
#include <Eigen/Tensor>
using Eigen::ColMajor;
using Eigen::Index;

View File

@@ -7,7 +7,7 @@
// clang-format off
#include "main.h"
#include <Eigen/CXX11/Tensor>
#include <Eigen/Tensor>
// clang-format on
using Eigen::internal::TensorBlockDescriptor;

View File

@@ -7,7 +7,7 @@
// clang-format off
#include "main.h"
#include <Eigen/CXX11/Tensor>
#include <Eigen/Tensor>
// clang-format on
// -------------------------------------------------------------------------- //

Some files were not shown because too many files have changed in this diff Show More