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