diff options
author | Cory Bloor <Cordell.Bloor@amd.com> | 2022-07-18 13:21:40 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-18 12:21:40 -0700 |
commit | 5c59e9746a08eb6bbcac5543f1e00c6a624be415 (patch) | |
tree | a2cda33951de58c30927f5508294e636b9735f7f /bin | |
parent | b065d69136023693ace8e4d35d9fdad817d63d93 (diff) | |
download | spack-5c59e9746a08eb6bbcac5543f1e00c6a624be415.tar.gz spack-5c59e9746a08eb6bbcac5543f1e00c6a624be415.tar.bz2 spack-5c59e9746a08eb6bbcac5543f1e00c6a624be415.tar.xz spack-5c59e9746a08eb6bbcac5543f1e00c6a624be415.zip |
rocblas: tighten tensile dependencies (#31414)
* rocblas: make tensile dependencies conditional
* Remove rocm-smi from the rocblas dependency list
rocm-smi was added to the rocblas dependency list because Tensile was a
dependency of rocBLAS and rocm-smi was a dependency of Tensile. However,
that reasoning was not correct.
Tensile is composed of three components:
1. A command-line tool for generating kernels, benchmarking them, and
saving the parameters used for generating the best kernels
(a.k.a. "Solutions") in YAML files.
2. A build system component that reads YAML solution files, generates
kernel source files, and invokes the compiler to compile then into
code object files (*.co, *.hsco). An index of the kernels and their
associated parameters is also generated and stored in either YAML
or MessagePack format (TensileLibrary.yaml or TensileLibrary.dat).
3. A runtime library that will load the TensileLibrary and code object
files when asked to execute a GEMM and choose the ideal kernel for
your specific input parameters.
rocBLAS developers use (1) during rocBLAS development. This is when
Tensile depends on rocm-smi. The GPU clock speed and temperature must be
controlled to ensure consistency when doing the solution benchmarking.
That control is provided by rocm-smi. When building rocBLAS, Tensile is
used for (2). However, there is no need for control of the GPU at that
point and rocm-smi is not a dependency. At runtime, the rocBLAS library
uses Tensile for (3), but there is again no dependency on rocm-smi.
tl;dr: rocm-smi is a dependency of the tensile benchmarking tool,
which is not a build dependency or runtime dependency of rocblas.
Diffstat (limited to 'bin')
0 files changed, 0 insertions, 0 deletions