aboutsummaryrefslogtreecommitdiffhomepage
path: root/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h
diff options
context:
space:
mode:
authorGravatar Eugene Zhulenev <ezhulenev@google.com>2019-12-09 16:19:38 -0800
committerGravatar Eugene Zhulenev <ezhulenev@google.com>2019-12-09 16:19:55 -0800
commit2918f85ba976dbfbf72f7d4c1961a577f5850148 (patch)
treea2087169999605fe1c1ffeba058d8d8bf88817a8 /unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h
parent8056a05b5485442ebc5c087a25f8ee027eb9a338 (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.h17
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