# - Find MAGMA library # This module finds an installed MAGMA library, a matrix algebra library # similar to LAPACK for GPU and multicore systems # (see http://icl.cs.utk.edu/magma/). # # This module will look for MAGMA library under /usr/local/magma by # default. To use a different installed version of the library set # environment variable MAGMA_HOME before running cmake (e.g. # MAGMA_HOME=${HOME}/lib/magma instead of default /usr/local/magma) # # This module sets the following variables: # MAGMA_FOUND - set to true if the MAGMA library is found. # MAGMA_LIBRARIES - list of libraries to link against to use MAGMA # MAGMA_INCLUDE_DIR - include directory if(MAGMA_FOUND) return() endif() include(FindPackageHandleStandardArgs) SET(MAGMA_LIBRARIES) SET(MAGMA_INCLUDE_DIR) FIND_LIBRARY(MAGMA_LIBRARIES magma HINTS $ENV{MAGMA_HOME} /usr/local/magma PATH_SUFFIXES lib) FIND_PATH(MAGMA_INCLUDE_DIR magma.h HINTS $ENV{MAGMA_HOME} /usr/local/magma PATH_SUFFIXES include) IF (MAGMA_LIBRARIES) SET(MAGMA_FOUND TRUE) ELSE (MAGMA_LIBRARIES) SET(MAGMA_FOUND FALSE) ENDIF (MAGMA_LIBRARIES) add_library(torch::magma INTERFACE IMPORTED) set_property(TARGET torch::magma PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${MAGMA_INCLUDE_DIR}") set_property(TARGET torch::magma PROPERTY INTERFACE_LINK_LIBRARIES "${MAGMA_LIBRARIES}") # Check for Magma V2 include(CheckPrototypeDefinition) check_prototype_definition(magma_get_sgeqrf_nb "magma_int_t magma_get_sgeqrf_nb( magma_int_t m, magma_int_t n );" "0" "magma.h" MAGMA_V2) if(MAGMA_V2) set_property(TARGET torch::magma PROPERTY INTERFACE_COMPILE_DEFINITIONS "MAGMA_V2") endif(MAGMA_V2)