Skip to content

Commit 2498e32

Browse files
pfultz2saadrahim
authored andcommitted
Cmake fixes for tensile. (ROCm#621)
* Install cmake files for tensileconfig * Add package data * Add module paths * Handle the correct package variables for a find module * Set Tensile_ROOT * Try to use absolute path
1 parent b4fd8a7 commit 2498e32

File tree

4 files changed

+21
-10
lines changed

4 files changed

+21
-10
lines changed

Diff for: Jenkinsfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ import java.nio.file.Path;
2929
tensileCI:
3030
{
3131
def tensile = new rocProject('Tensile')
32-
tensile.paths.build_command = 'cmake -D CMAKE_BUILD_TYPE=Debug -D CMAKE_CXX_COMPILER=hcc -DCMAKE_CXX_FLAGS=-Werror ../HostLibraryTests'
32+
tensile.paths.build_command = 'cmake -D CMAKE_BUILD_TYPE=Debug -D CMAKE_CXX_COMPILER=hcc -DCMAKE_CXX_FLAGS=-Werror -DTensile_ROOT=$(pwd)/../Tensile ../HostLibraryTests'
3333
// Define test architectures, optional rocm version argument is available
3434
def nodes = new dockerNodes(['gfx900','gfx906'], tensile)
3535

Diff for: Tensile/Source/cmake/FindROCmSMI.cmake

+5
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,14 @@ find_path(ROCM_SMI_ROOT "include/rocm_smi/rocm_smi.h"
1313
PATHS "${ROCM_ROOT}" "${HIP_DIR}/../../../.." "${HIP_DIR}/../../.."
1414
PATH_SUFFIXES "rocm_smi"
1515
)
16+
mark_as_advanced(ROCM_SMI_ROOT)
1617

1718
find_library(ROCM_SMI_LIBRARY rocm_smi64
1819
PATHS "${ROCM_SMI_ROOT}/lib")
20+
mark_as_advanced(ROCM_SMI_LIBRARY)
21+
22+
include( FindPackageHandleStandardArgs )
23+
find_package_handle_standard_args( ROCmSMI DEFAULT_MSG ROCM_SMI_LIBRARY ROCM_SMI_ROOT )
1924

2025
add_library(rocm_smi SHARED IMPORTED)
2126

Diff for: Tensile/cmake/TensileConfig.cmake

+13-9
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,16 @@
2121

2222
include(CMakeParseArguments)
2323

24+
if(NOT DEFINED Tensile_ROOT)
25+
# Compute the installation prefix relative to this file.
26+
get_filename_component(Tensile_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
27+
get_filename_component(Tensile_PREFIX "${Tensile_PREFIX}" PATH)
28+
29+
execute_process(COMMAND "${Tensile_PREFIX}/bin/TensileGetPath" OUTPUT_VARIABLE Tensile_ROOT)
30+
endif()
31+
list(APPEND CMAKE_MODULE_PATH "${Tensile_ROOT}/Source/cmake/")
32+
list(APPEND CMAKE_MODULE_PATH "${Tensile_ROOT}/Source/")
33+
2434
if("HIP" IN_LIST Tensile_FIND_COMPONENTS)
2535
set(TENSILE_USE_HIP ON CACHE BOOL "Use HIP")
2636
else()
@@ -52,8 +62,8 @@ else()
5262
set(TENSILE_STATIC_ONLY OFF CACHE BOOL "Disable exporting symbols from shared library.")
5363
endif()
5464

55-
add_subdirectory("${Tensile_DIR}/../Source" "Tensile")
56-
include("${Tensile_DIR}/../Source/TensileCreateLibrary.cmake")
65+
add_subdirectory("${Tensile_ROOT}/Source" "Tensile")
66+
include("${Tensile_ROOT}/Source/TensileCreateLibrary.cmake")
5767

5868
function(TensileCreateLibraryFiles
5969
Tensile_LOGIC_PATH Tensile_OUTPUT_PATH)
@@ -64,13 +74,7 @@ function(TensileCreateLibraryFiles
6474
set(multiValueArgs "")
6575
cmake_parse_arguments(Tensile "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
6676

67-
if(Tensile_DIR)
68-
# python not pre-installed, use scripts downloaded to extern/Tensile
69-
#include(FindPythonInterp)
70-
set(Script "${Tensile_DIR}/../bin/TensileCreateLibrary")
71-
else()
72-
set(Script tensileCreateLibrary)
73-
endif()
77+
set(Script "${Tensile_ROOT}/bin/TensileCreateLibrary")
7478
message(STATUS "Tensile script: ${Script}")
7579

7680
set(Options "")

Diff for: setup.py

+2
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ def readVersionFromInit():
3030
install_requires=readRequirementsFromTxt(),
3131
python_requires='>=3.5',
3232
packages=["Tensile"],
33+
package_data={ "Tensile": ["Tensile/cmake/*"] },
34+
data_files=[ ("cmake", ["Tensile/cmake/TensileConfig.cmake", "Tensile/cmake/TensileConfigVersion.cmake"]) ],
3335
include_package_data=True,
3436
entry_points={"console_scripts": [
3537
# user runs a benchmark

0 commit comments

Comments
 (0)