PR #13462: [ROCM][NFC] gpublas-lt refactoring after adding workspace and scratch allocator
PR #13462: [ROCM][NFC] gpublas-lt refactoring after adding workspace and scratch allocator

Imported from GitHub PR https://github.com/openxla/xla/pull/13462

This PR https://github.com/openxla/xla/pull/11514 added workspace allocation to cublas-lt. Basically, it doubled the implementation of a number of functions in gpu/cu/hipblas-lt, i.e. now we have:

```
DoMatmul(..., std::optional<DeviceMemoryBase> workspace)
DoMatmul(..., std::optional<ScratchAllocator*> scratch_allocator)
DoMatmul(..., std::optional<DeviceMemoryBase> workspace, std::optional<ScratchAllocator*> scratch_allocator)
```
and the same holds for ```ExecuteOnStream```. This makes gpublas_lt interface barely readable.  The first two functions outlined above are just forwarding calls to the 3rd most generic one. Therefore, I do not see any need to implement these inside the derived classes, i.e. hip_blas_lt.h and cuda_blas_lt.h. Instead, forwarding can be handled in gpu_blas_lt.h interface.

@xla-rotation: could you please have a look?


Copybara import of the project:

--
6d3700a7b4141dee82a3b3f4d6be492a0a67d92b by Pavel Emeliyanenko <pavel.emeliyanenko@amd.com>:

refactoring

--
495b2cc7b5a4e944804acddc9abc9442d9cce32a by Pavel Emeliyanenko <pavel.emeliyanenko@amd.com>:

cuda side adaptions

--
4078221daebb8cb88faebe9423e87a1a781a765b by Pavel Emeliyanenko <pavel.emeliyanenko@amd.com>:

parameter fix

Merging this change closes #13462

FUTURE_COPYBARA_INTEGRATE_REVIEW=https://github.com/openxla/xla/pull/13462 from ROCm:ci_gpublas_lt_workspace_refactor 4078221daebb8cb88faebe9423e87a1a781a765b
