mirror of
https://github.com/zebrajr/tensorflow.git
synced 2026-01-15 12:15:41 +00:00
Cleanup codes
This commit is contained in:
@@ -1072,21 +1072,21 @@ void LaunchConv2DBackpropFilterOp<Eigen::GpuDevice, T>::operator()(
|
||||
filter_backprop_ptr, out_backprop_ptr, input_desc,
|
||||
filter_desc, output_desc, conv_desc,
|
||||
stream->parent(), results);
|
||||
int idx_, idx_no_scratch_;
|
||||
int idx, idx_no_scratch;
|
||||
OP_REQUIRES_OK(ctx,
|
||||
BestCudnnConvExecutionPlan(results, &idx_, &idx_no_scratch_));
|
||||
BestCudnnConvExecutionPlan(results, &idx, &idx_no_scratch));
|
||||
exec_plan_config.set_plan(
|
||||
ExecutionPlanDesc(exec_plans[idx_]->getTag(),
|
||||
exec_plans[idx_]->get_raw_desc()));
|
||||
exec_plan_config.set_scratch_size(exec_plans[idx_]->getWorkspaceSize());
|
||||
if (idx_no_scratch_ != -1) {
|
||||
ExecutionPlanDesc(exec_plans[idx]->getTag(),
|
||||
exec_plans[idx]->get_raw_desc()));
|
||||
exec_plan_config.set_scratch_size(exec_plans[idx]->getWorkspaceSize());
|
||||
if (idx_no_scratch != -1) {
|
||||
exec_plan_config.set_plan_no_scratch(
|
||||
ExecutionPlanDesc(exec_plans[idx_no_scratch_]->getTag(),
|
||||
exec_plans[idx_no_scratch_]->get_raw_desc()));
|
||||
ExecutionPlanDesc(exec_plans[idx_no_scratch]->getTag(),
|
||||
exec_plans[idx_no_scratch]->get_raw_desc()));
|
||||
}
|
||||
selected_exec_plans.push_back(std::move(exec_plans[idx_]));
|
||||
if (idx_no_scratch_ != idx_ and idx_no_scratch_ != -1) {
|
||||
selected_exec_plans.push_back(std::move(exec_plans[idx_no_scratch_]));
|
||||
selected_exec_plans.push_back(std::move(exec_plans[idx]));
|
||||
if (idx_no_scratch != idx and idx_no_scratch != -1) {
|
||||
selected_exec_plans.push_back(std::move(exec_plans[idx_no_scratch]));
|
||||
}
|
||||
AutoTuneConvBwdFilter::GetInstance()->Insert(conv_parameters,
|
||||
selected_exec_plans);
|
||||
|
||||
@@ -482,21 +482,21 @@ void LaunchConv2DBackpropInputOp<GPUDevice, T>::operator()(
|
||||
se::dnn::ConvolutionKind::BACKWARD_DATA, se::dnn::ToDataType<T>::value,
|
||||
in_backprop_ptr, filter_ptr, out_backprop_ptr, input_desc, filter_desc,
|
||||
output_desc, conv_desc, stream->parent(), results);
|
||||
int idx_, idx_no_scratch_;
|
||||
int idx, idx_no_scratch;
|
||||
OP_REQUIRES_OK(ctx,
|
||||
BestCudnnConvExecutionPlan(results, &idx_, &idx_no_scratch_));
|
||||
BestCudnnConvExecutionPlan(results, &idx, &idx_no_scratch));
|
||||
exec_plan_config.set_plan(
|
||||
ExecutionPlanDesc(exec_plans[idx_]->getTag(),
|
||||
exec_plans[idx_]->get_raw_desc()));
|
||||
exec_plan_config.set_scratch_size(exec_plans[idx_]->getWorkspaceSize());
|
||||
if (idx_no_scratch_ != -1) {
|
||||
ExecutionPlanDesc(exec_plans[idx]->getTag(),
|
||||
exec_plans[idx]->get_raw_desc()));
|
||||
exec_plan_config.set_scratch_size(exec_plans[idx]->getWorkspaceSize());
|
||||
if (idx_no_scratch != -1) {
|
||||
exec_plan_config.set_plan_no_scratch(
|
||||
ExecutionPlanDesc(exec_plans[idx_no_scratch_]->getTag(),
|
||||
exec_plans[idx_no_scratch_]->get_raw_desc()));
|
||||
ExecutionPlanDesc(exec_plans[idx_no_scratch]->getTag(),
|
||||
exec_plans[idx_no_scratch]->get_raw_desc()));
|
||||
}
|
||||
selected_exec_plans.push_back(std::move(exec_plans[idx_]));
|
||||
if (idx_no_scratch_ != idx_ and idx_no_scratch_ != -1) {
|
||||
selected_exec_plans.push_back(std::move(exec_plans[idx_no_scratch_]));
|
||||
selected_exec_plans.push_back(std::move(exec_plans[idx]));
|
||||
if (idx_no_scratch != idx and idx_no_scratch != -1) {
|
||||
selected_exec_plans.push_back(std::move(exec_plans[idx_no_scratch]));
|
||||
}
|
||||
AutoTuneConvBwdData::GetInstance()->Insert(conv_parameters,
|
||||
selected_exec_plans);
|
||||
|
||||
@@ -1510,21 +1510,21 @@ class Conv3DBackpropInputOp<GPUDevice, T> : public OpKernel {
|
||||
se::dnn::ToDataType<T>::value, in_backprop_ptr, filter_ptr,
|
||||
out_backprop_ptr, input_desc, filter_desc, output_desc, conv_desc,
|
||||
stream->parent(), results);
|
||||
int idx_, idx_no_scratch_;
|
||||
int idx, idx_no_scratch;
|
||||
OP_REQUIRES_OK(context,
|
||||
BestCudnnConvExecutionPlan(results, &idx_, &idx_no_scratch_));
|
||||
BestCudnnConvExecutionPlan(results, &idx, &idx_no_scratch));
|
||||
exec_plan_config.set_plan(
|
||||
ExecutionPlanDesc(exec_plans[idx_]->getTag(),
|
||||
exec_plans[idx_]->get_raw_desc()));
|
||||
exec_plan_config.set_scratch_size(exec_plans[idx_]->getWorkspaceSize());
|
||||
if (idx_no_scratch_ != -1) {
|
||||
ExecutionPlanDesc(exec_plans[idx]->getTag(),
|
||||
exec_plans[idx]->get_raw_desc()));
|
||||
exec_plan_config.set_scratch_size(exec_plans[idx]->getWorkspaceSize());
|
||||
if (idx_no_scratch != -1) {
|
||||
exec_plan_config.set_plan_no_scratch(
|
||||
ExecutionPlanDesc(exec_plans[idx_no_scratch_]->getTag(),
|
||||
exec_plans[idx_no_scratch_]->get_raw_desc()));
|
||||
ExecutionPlanDesc(exec_plans[idx_no_scratch]->getTag(),
|
||||
exec_plans[idx_no_scratch]->get_raw_desc()));
|
||||
}
|
||||
selected_exec_plans.push_back(std::move(exec_plans[idx_]));
|
||||
if (idx_no_scratch_ != idx_ and idx_no_scratch_ != -1) {
|
||||
selected_exec_plans.push_back(std::move(exec_plans[idx_no_scratch_]));
|
||||
selected_exec_plans.push_back(std::move(exec_plans[idx]));
|
||||
if (idx_no_scratch != idx and idx_no_scratch != -1) {
|
||||
selected_exec_plans.push_back(std::move(exec_plans[idx_no_scratch]));
|
||||
}
|
||||
AutoTuneConv3dBwdData::GetInstance()->Insert(conv_parameters,
|
||||
selected_exec_plans);
|
||||
@@ -2106,21 +2106,21 @@ class Conv3DBackpropFilterOp<GPUDevice, T> : public OpKernel {
|
||||
filter_backprop_ptr, out_backprop_ptr, input_desc,
|
||||
filter_desc, output_desc, conv_desc,
|
||||
stream->parent(), results);
|
||||
int idx_, idx_no_scratch_;
|
||||
int idx, idx_no_scratch;
|
||||
OP_REQUIRES_OK(context,
|
||||
BestCudnnConvExecutionPlan(results, &idx_, &idx_no_scratch_));
|
||||
BestCudnnConvExecutionPlan(results, &idx, &idx_no_scratch));
|
||||
exec_plan_config.set_plan(
|
||||
ExecutionPlanDesc(exec_plans[idx_]->getTag(),
|
||||
exec_plans[idx_]->get_raw_desc()));
|
||||
exec_plan_config.set_scratch_size(exec_plans[idx_]->getWorkspaceSize());
|
||||
if (idx_no_scratch_ != -1) {
|
||||
ExecutionPlanDesc(exec_plans[idx]->getTag(),
|
||||
exec_plans[idx]->get_raw_desc()));
|
||||
exec_plan_config.set_scratch_size(exec_plans[idx]->getWorkspaceSize());
|
||||
if (idx_no_scratch != -1) {
|
||||
exec_plan_config.set_plan_no_scratch(
|
||||
ExecutionPlanDesc(exec_plans[idx_no_scratch_]->getTag(),
|
||||
exec_plans[idx_no_scratch_]->get_raw_desc()));
|
||||
ExecutionPlanDesc(exec_plans[idx_no_scratch]->getTag(),
|
||||
exec_plans[idx_no_scratch]->get_raw_desc()));
|
||||
}
|
||||
selected_exec_plans.push_back(std::move(exec_plans[idx_]));
|
||||
if (idx_no_scratch_ != idx_ and idx_no_scratch_ != -1) {
|
||||
selected_exec_plans.push_back(std::move(exec_plans[idx_no_scratch_]));
|
||||
selected_exec_plans.push_back(std::move(exec_plans[idx]));
|
||||
if (idx_no_scratch != idx and idx_no_scratch != -1) {
|
||||
selected_exec_plans.push_back(std::move(exec_plans[idx_no_scratch]));
|
||||
}
|
||||
AutoTuneConv3dBwdFilter::GetInstance()->Insert(conv_parameters,
|
||||
selected_exec_plans);
|
||||
|
||||
@@ -1077,21 +1077,21 @@ void LaunchConv2DOp<GPUDevice, T>::operator()(
|
||||
se::dnn::ToDataType<T>::value, input_ptr, filter_ptr,
|
||||
output_tensor, input_desc, filter_desc, output_desc,
|
||||
conv_desc, stream->parent(), results);
|
||||
int idx_, idx_no_scratch_;
|
||||
int idx, idx_no_scratch;
|
||||
OP_REQUIRES_OK(ctx,
|
||||
BestCudnnConvExecutionPlan(results, &idx_, &idx_no_scratch_));
|
||||
BestCudnnConvExecutionPlan(results, &idx, &idx_no_scratch));
|
||||
exec_plan_config.set_plan(
|
||||
ExecutionPlanDesc(exec_plans[idx_]->getTag(),
|
||||
exec_plans[idx_]->get_raw_desc()));
|
||||
exec_plan_config.set_scratch_size(exec_plans[idx_]->getWorkspaceSize());
|
||||
if (idx_no_scratch_ != -1) {
|
||||
ExecutionPlanDesc(exec_plans[idx]->getTag(),
|
||||
exec_plans[idx]->get_raw_desc()));
|
||||
exec_plan_config.set_scratch_size(exec_plans[idx]->getWorkspaceSize());
|
||||
if (idx_no_scratch != -1) {
|
||||
exec_plan_config.set_plan_no_scratch(
|
||||
ExecutionPlanDesc(exec_plans[idx_no_scratch_]->getTag(),
|
||||
exec_plans[idx_no_scratch_]->get_raw_desc()));
|
||||
ExecutionPlanDesc(exec_plans[idx_no_scratch]->getTag(),
|
||||
exec_plans[idx_no_scratch]->get_raw_desc()));
|
||||
}
|
||||
selected_exec_plans.push_back(std::move(exec_plans[idx_]));
|
||||
if (idx_no_scratch_ != idx_ and idx_no_scratch_ != -1) {
|
||||
selected_exec_plans.push_back(std::move(exec_plans[idx_no_scratch_]));
|
||||
selected_exec_plans.push_back(std::move(exec_plans[idx]));
|
||||
if (idx_no_scratch != idx and idx_no_scratch != -1) {
|
||||
selected_exec_plans.push_back(std::move(exec_plans[idx_no_scratch]));
|
||||
}
|
||||
AutoTuneConv::GetInstance()->Insert(conv_parameters, selected_exec_plans);
|
||||
}
|
||||
|
||||
@@ -588,21 +588,21 @@ struct LaunchConvOp<GPUDevice, T> {
|
||||
se::dnn::ToDataType<T>::value, input_ptr, filter_ptr, output_ptr_rz,
|
||||
input_desc, filter_desc, output_desc, conv_desc, stream->parent(),
|
||||
results);
|
||||
int idx_, idx_no_scratch_;
|
||||
int idx, idx_no_scratch;
|
||||
OP_REQUIRES_OK(ctx,
|
||||
BestCudnnConvExecutionPlan(results, &idx_, &idx_no_scratch_));
|
||||
BestCudnnConvExecutionPlan(results, &idx, &idx_no_scratch));
|
||||
exec_plan_config.set_plan(
|
||||
ExecutionPlanDesc(exec_plans[idx_]->getTag(),
|
||||
exec_plans[idx_]->get_raw_desc()));
|
||||
exec_plan_config.set_scratch_size(exec_plans[idx_]->getWorkspaceSize());
|
||||
if (idx_no_scratch_ != -1) {
|
||||
ExecutionPlanDesc(exec_plans[idx]->getTag(),
|
||||
exec_plans[idx]->get_raw_desc()));
|
||||
exec_plan_config.set_scratch_size(exec_plans[idx]->getWorkspaceSize());
|
||||
if (idx_no_scratch != -1) {
|
||||
exec_plan_config.set_plan_no_scratch(
|
||||
ExecutionPlanDesc(exec_plans[idx_no_scratch_]->getTag(),
|
||||
exec_plans[idx_no_scratch_]->get_raw_desc()));
|
||||
ExecutionPlanDesc(exec_plans[idx_no_scratch]->getTag(),
|
||||
exec_plans[idx_no_scratch]->get_raw_desc()));
|
||||
}
|
||||
selected_exec_plans.push_back(std::move(exec_plans[idx_]));
|
||||
if (idx_no_scratch_ != idx_ and idx_no_scratch_ != -1) {
|
||||
selected_exec_plans.push_back(std::move(exec_plans[idx_no_scratch_]));
|
||||
selected_exec_plans.push_back(std::move(exec_plans[idx]));
|
||||
if (idx_no_scratch != idx and idx_no_scratch != -1) {
|
||||
selected_exec_plans.push_back(std::move(exec_plans[idx_no_scratch]));
|
||||
}
|
||||
AutoTuneConv3d::GetInstance()->Insert(conv_parameters,
|
||||
selected_exec_plans);
|
||||
|
||||
@@ -3170,31 +3170,31 @@ struct RnnDoFP32ComputationFP16Input {
|
||||
|
||||
namespace {
|
||||
#if CUDNN_VERSION >= 8100
|
||||
bool isNonDeterministic(cudnnBackendDescriptor_t engine_config) {
|
||||
bool IsNonDeterministic(cudnnBackendDescriptor_t engine_config) {
|
||||
return cudnn_frontend::hasNumericalNote<
|
||||
CUDNN_NUMERICAL_NOTE_NONDETERMINISTIC>(engine_config);
|
||||
}
|
||||
|
||||
bool isWinograd(cudnnBackendDescriptor_t engine_config) {
|
||||
bool IsWinograd(cudnnBackendDescriptor_t engine_config) {
|
||||
return cudnn_frontend::hasNumericalNote<
|
||||
CUDNN_NUMERICAL_NOTE_WINOGRAD>(engine_config);
|
||||
}
|
||||
|
||||
bool isDownConvertingInputs(cudnnBackendDescriptor_t engine_config) {
|
||||
bool IsDownConvertingInputs(cudnnBackendDescriptor_t engine_config) {
|
||||
if (CudnnEnvVar<WinogradNonfused>::IsEnabled()) {
|
||||
return cudnn_frontend::hasNumericalNote<
|
||||
CUDNN_NUMERICAL_NOTE_DOWN_CONVERT_INPUTS>(engine_config);
|
||||
} else {
|
||||
return isWinograd(engine_config) ||
|
||||
return IsWinograd(engine_config) ||
|
||||
cudnn_frontend::hasNumericalNote<
|
||||
CUDNN_NUMERICAL_NOTE_DOWN_CONVERT_INPUTS>(engine_config);
|
||||
}
|
||||
}
|
||||
|
||||
bool isNonDeterministicOrIsDownConverting(
|
||||
bool IsNonDeterministicOrIsDownConverting(
|
||||
cudnnBackendDescriptor_t engine_config) {
|
||||
return isNonDeterministic(engine_config) ||
|
||||
isDownConvertingInputs(engine_config);
|
||||
return IsNonDeterministic(engine_config) ||
|
||||
IsDownConvertingInputs(engine_config);
|
||||
}
|
||||
|
||||
#endif // CUDNN_VERSION >= 8100
|
||||
@@ -3665,14 +3665,14 @@ port::Status CudnnSupport::DoConvolve(
|
||||
cudnn_frontend::EngineConfigList filtered_configs;
|
||||
if (RequireCudnnDeterminism()) {
|
||||
cudnn_frontend::filter(engine_config, filtered_configs,
|
||||
isNonDeterministicOrIsDownConverting);
|
||||
IsNonDeterministicOrIsDownConverting);
|
||||
cudnn_frontend::filter(fallback_list, filtered_configs,
|
||||
isNonDeterministicOrIsDownConverting);
|
||||
IsNonDeterministicOrIsDownConverting);
|
||||
} else {
|
||||
cudnn_frontend::filter(engine_config, filtered_configs,
|
||||
isDownConvertingInputs);
|
||||
IsDownConvertingInputs);
|
||||
cudnn_frontend::filter(fallback_list, filtered_configs,
|
||||
isDownConvertingInputs);
|
||||
IsDownConvertingInputs);
|
||||
}
|
||||
for (int i = 0; i < filtered_configs.size(); i++) {
|
||||
auto plan = cudnn_frontend::ExecutionPlanBuilder()
|
||||
@@ -3939,14 +3939,14 @@ bool CudnnSupport::GetConvolveExecutionPlans(
|
||||
cudnn_frontend::EngineConfigList filtered_configs;
|
||||
if (RequireCudnnDeterminism()) {
|
||||
cudnn_frontend::filter(heur_configs, filtered_configs,
|
||||
isNonDeterministicOrIsDownConverting);
|
||||
IsNonDeterministicOrIsDownConverting);
|
||||
cudnn_frontend::filter(fallback_configs, filtered_configs,
|
||||
isNonDeterministicOrIsDownConverting);
|
||||
IsNonDeterministicOrIsDownConverting);
|
||||
} else {
|
||||
cudnn_frontend::filter(heur_configs, filtered_configs,
|
||||
isDownConvertingInputs);
|
||||
IsDownConvertingInputs);
|
||||
cudnn_frontend::filter(fallback_configs, filtered_configs,
|
||||
isDownConvertingInputs);
|
||||
IsDownConvertingInputs);
|
||||
}
|
||||
|
||||
VLOG(4) << "\nFiltered engine configs size: " << filtered_configs.size();
|
||||
|
||||
@@ -779,7 +779,7 @@ class AlgorithmDesc {
|
||||
AlgorithmProto proto_;
|
||||
};
|
||||
|
||||
// Collects parameters for DNN execution plans
|
||||
// Collects parameters for DNN execution plans.
|
||||
class ExecutionPlanDesc {
|
||||
public:
|
||||
typedef std::string Index;
|
||||
|
||||
Reference in New Issue
Block a user