diff --git a/tensorflow/stream_executor/cuda/cuda_blas.cc b/tensorflow/stream_executor/cuda/cuda_blas.cc index 8b9d9174f22..afea6790187 100644 --- a/tensorflow/stream_executor/cuda/cuda_blas.cc +++ b/tensorflow/stream_executor/cuda/cuda_blas.cc @@ -3493,13 +3493,6 @@ bool CUDABlas::DoBlasLtMatmulInternal( "epilogue for the given bias pointer."; return false; } - if (bias != nullptr) { - if (!cuda_plan.SetBiasPointer(bias.opaque())) { - VLOG(2) << "DoBlasLtMatmul returning false because setting the bias " - "pointer failed."; - return false; - } - } const void *alpha_ptr = alpha.is_pointer() ? alpha.opaque_pointer().opaque() : alpha.opaque_value(); const void *beta_ptr = @@ -3524,6 +3517,14 @@ bool CUDABlas::DoBlasLtMatmulInternal( absl::MutexLock lock(&mu_); + if (bias != nullptr) { + if (!cuda_plan.SetBiasPointer(bias.opaque())) { + VLOG(2) << "DoBlasLtMatmul returning false because setting the bias " + "pointer failed."; + return false; + } + } + CHECK(blasLt_ != nullptr); gpu::ScopedActivateExecutorContext sac{parent_};