xref: /aosp_15_r20/external/pytorch/cmake/Modules/FindBLIS.cmake (revision da0073e96a02ea20f0ac840b70461e3646d07c45)
1# - Find BLIS library
2#
3# This module sets the following variables:
4#  BLIS_FOUND - set to true if a library implementing CBLAS interface is found.
5#  BLIS_INCLUDE_DIR - path to include dir.
6#  BLIS_LIB - list of libraries for BLIS.
7#
8# CPU only Dockerfile to build with AMD BLIS is available at the location
9# pytorch/docker/pytorch/cpu-blis/Dockerfile
10#
11
12
13SET(BLIS_INCLUDE_SEARCH_PATHS
14  /usr/include/blis
15  /usr/local/include
16  /usr/local/include/blis
17  /opt/blis/include
18  $ENV{BLIS_HOME}
19  $ENV{BLIS_HOME}/include
20  $ENV{BLIS_HOME}/include/blis
21)
22
23SET(BLIS_LIB_SEARCH_PATHS
24  /lib/blis
25  /lib64/blis
26  /usr/lib/blis
27  /usr/lib64/blis
28  /usr/local/blis/lib
29  /opt/blis/lib
30  $ENV{BLIS_HOME}
31  $ENV{BLIS_HOME}/lib
32)
33
34FIND_PATH(BLIS_INCLUDE_DIR NAMES cblas.h blis.h
35          PATHS ${BLIS_INCLUDE_SEARCH_PATHS})
36#    Check include files
37IF(NOT BLIS_INCLUDE_DIR)
38        SET(BLIS_FOUND OFF)
39        MESSAGE(WARNING "Could not find BLIS include. Turning BLIS_FOUND off")
40        RETURN()
41ENDIF()
42
43
44FIND_LIBRARY(BLIS_LIB NAMES blis PATHS ${BLIS_LIB_SEARCH_PATHS})
45#    Check libraries
46IF(NOT BLIS_LIB)
47        SET(BLIS_FOUND OFF)
48        MESSAGE(WARNING "Could not find BLIS lib. Turning BLIS_FOUND off")
49        RETURN()
50ENDIF()
51
52SET(BLIS_FOUND ON)
53
54IF(BLIS_FOUND)
55        IF(NOT BLIS_FIND_QUIETLY)
56                MESSAGE(STATUS "Found BLIS libraries: ${BLIS_LIB}")
57                MESSAGE(STATUS "Found BLIS include: ${BLIS_INCLUDE_DIR}")
58        ENDIF()
59ELSE()
60        MESSAGE(FATAL_ERROR "Could not find BLIS")
61ENDIF()
62
63INCLUDE(FindPackageHandleStandardArgs)
64FIND_PACKAGE_HANDLE_STANDARD_ARGS(BLIS DEFAULT_MSG BLIS_INCLUDE_DIR BLIS_LIB)
65
66MARK_AS_ADVANCED(
67        BLIS_INCLUDE_DIR
68        BLIS_LIB
69        blis
70)
71