Quick example - ROCm/Tensile GitHub Wiki
Quick Example (Ubuntu):
sudo apt-get install python3 python3-yaml libomp-dev libboost-program-options-dev libmsgpack-dev llvm-6.0-dev
mkdir Tensile
cd Tensile
git clone https://github.com/ROCmSoftwarePlatform/Tensile repo
cd repo
git checkout master
You are now ready to run benchmarks using Tensile. A sample tuning file can be found in ./Tensile/Configs/rocblas_sgemm_example.yaml
. This file generates a library for gfx1030. If you are running on a different architecture, you will first need to edit the line that says ArchitectureName: "gfx1030"
at the bottom of the file. Then, you can run the benchmark as follows:
mkdir build
cd build
../Tensile/bin/Tensile ../Tensile/Configs/rocblas_sgemm_example.yaml ./
After about 1 minute of benchmarking, Tensile will output a yaml file with the winning kernels. This file contains the results of the winning kernels in the 3_LibraryLogic directory. Spreadsheets and yaml files with the Benchmark Data for all kernels are available in the 2_BenchmarkData directory. The client is built at the very beginning of the build, and is cached for future builds provided the output directory and client build files are unchanged. To use the client, do the following:
./0_Build/client/tensile_client -h
./0_Build/client/tensile_client --config-file=1_BenchmarkProblems/Cijk_Ailk_Bljk_SB_00/00_Final/source/ClientParameters.ini