diff options
author | Eugene Zhulenev <ezhulenev@google.com> | 2019-12-09 16:19:38 -0800 |
---|---|---|
committer | Eugene Zhulenev <ezhulenev@google.com> | 2019-12-09 16:19:55 -0800 |
commit | 2918f85ba976dbfbf72f7d4c1961a577f5850148 (patch) | |
tree | a2087169999605fe1c1ffeba058d8d8bf88817a8 /unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h | |
parent | 8056a05b5485442ebc5c087a25f8ee027eb9a338 (diff) |
Do not use std::vector in getResourceRequirements
Diffstat (limited to 'unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h')
-rw-r--r-- | unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h b/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h index 655fd91e8..42bca8172 100644 --- a/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h +++ b/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h @@ -244,18 +244,19 @@ struct TensorEvaluator<const TensorShufflingOp<Shuffle, ArgType>, Device> return PacketLoader<LoadMode, Self, TensorEvaluator<ArgType, Device>::PacketAccess>::Run(*this, index); } - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void getResourceRequirements( - std::vector<internal::TensorOpResourceRequirements>* resources) const { + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE + internal::TensorBlockV2ResourceRequirements getResourceRequirements() const { static const int inner_dim = Layout == static_cast<int>(ColMajor) ? 0 : NumDims - 1; - const bool inner_dim_shuffled = m_shuffle[inner_dim] != inner_dim; - Eigen::Index block_total_size_max = numext::maxi<Eigen::Index>( + const size_t target_block_size = numext::maxi<size_t>( 1, m_device.firstLevelCacheSize() / sizeof(Scalar)); - resources->push_back(internal::TensorOpResourceRequirements( - inner_dim_shuffled ? internal::kUniformAllDims - : internal::kSkewedInnerDims, - block_total_size_max)); + + const bool inner_dim_shuffled = m_shuffle[inner_dim] != inner_dim; + return {inner_dim_shuffled + ? internal::TensorBlockV2ShapeType::kUniformAllDims + : internal::TensorBlockV2ShapeType::kSkewedInnerDims, + target_block_size}; } EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorBlockV2 |