From ae07801dd8d295657f28b006e1e4999edf835052 Mon Sep 17 00:00:00 2001 From: Eugene Zhulenev Date: Wed, 18 Dec 2019 20:07:00 +0000 Subject: Tensor block evaluation cost model --- unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h') diff --git a/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h b/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h index b90791d8d..93bab11b1 100644 --- a/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h +++ b/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h @@ -245,8 +245,8 @@ TensorExecutorTilingContext GetTensorExecutorTilingContext( evaluator.getResourceRequirements(); // Update target block size based on cost model. - TensorOpCost cost = evaluator.costPerCoeff(Vectorizable); - double taskSize = TensorCostModel::taskSize(1, cost); + double taskSize = TensorCostModel::taskSize( + 1, requirements.cost_per_coeff); requirements.size = static_cast(1.0 / taskSize); TensorBlockMapper block_mapper( @@ -259,7 +259,8 @@ TensorExecutorTilingContext GetTensorExecutorTilingContext( align * divup(block_size * sizeof(typename Evaluator::Scalar), align); - return {block_mapper, cost * block_size, aligned_blocksize}; + return {block_mapper, requirements.cost_per_coeff * block_size, + aligned_blocksize}; } template -- cgit v1.2.3