xref: /aosp_15_r20/external/pytorch/cmake/Modules/FindMAGMA.cmake (revision da0073e96a02ea20f0ac840b70461e3646d07c45)
1*da0073e9SAndroid Build Coastguard Worker# - Find MAGMA library
2*da0073e9SAndroid Build Coastguard Worker# This module finds an installed MAGMA library, a matrix algebra library
3*da0073e9SAndroid Build Coastguard Worker# similar to LAPACK for GPU and multicore systems
4*da0073e9SAndroid Build Coastguard Worker# (see http://icl.cs.utk.edu/magma/).
5*da0073e9SAndroid Build Coastguard Worker#
6*da0073e9SAndroid Build Coastguard Worker# This module will look for MAGMA library under /usr/local/magma by
7*da0073e9SAndroid Build Coastguard Worker# default. To use a different installed version of the library set
8*da0073e9SAndroid Build Coastguard Worker# environment variable MAGMA_HOME before running cmake (e.g.
9*da0073e9SAndroid Build Coastguard Worker# MAGMA_HOME=${HOME}/lib/magma instead of default /usr/local/magma)
10*da0073e9SAndroid Build Coastguard Worker#
11*da0073e9SAndroid Build Coastguard Worker# This module sets the following variables:
12*da0073e9SAndroid Build Coastguard Worker#  MAGMA_FOUND - set to true if the MAGMA library is found.
13*da0073e9SAndroid Build Coastguard Worker#  MAGMA_LIBRARIES - list of libraries to link against to use MAGMA
14*da0073e9SAndroid Build Coastguard Worker#  MAGMA_INCLUDE_DIR - include directory
15*da0073e9SAndroid Build Coastguard Worker
16*da0073e9SAndroid Build Coastguard Workerif(MAGMA_FOUND)
17*da0073e9SAndroid Build Coastguard Worker  return()
18*da0073e9SAndroid Build Coastguard Workerendif()
19*da0073e9SAndroid Build Coastguard Worker
20*da0073e9SAndroid Build Coastguard Workerinclude(FindPackageHandleStandardArgs)
21*da0073e9SAndroid Build Coastguard Worker
22*da0073e9SAndroid Build Coastguard WorkerSET(MAGMA_LIBRARIES)
23*da0073e9SAndroid Build Coastguard WorkerSET(MAGMA_INCLUDE_DIR)
24*da0073e9SAndroid Build Coastguard Worker
25*da0073e9SAndroid Build Coastguard WorkerFIND_LIBRARY(MAGMA_LIBRARIES magma
26*da0073e9SAndroid Build Coastguard Worker  HINTS $ENV{MAGMA_HOME} /usr/local/magma
27*da0073e9SAndroid Build Coastguard Worker  PATH_SUFFIXES lib)
28*da0073e9SAndroid Build Coastguard Worker
29*da0073e9SAndroid Build Coastguard WorkerFIND_PATH(MAGMA_INCLUDE_DIR magma.h
30*da0073e9SAndroid Build Coastguard Worker  HINTS $ENV{MAGMA_HOME} /usr/local/magma
31*da0073e9SAndroid Build Coastguard Worker  PATH_SUFFIXES include)
32*da0073e9SAndroid Build Coastguard Worker
33*da0073e9SAndroid Build Coastguard WorkerIF (MAGMA_LIBRARIES)
34*da0073e9SAndroid Build Coastguard Worker  SET(MAGMA_FOUND TRUE)
35*da0073e9SAndroid Build Coastguard WorkerELSE (MAGMA_LIBRARIES)
36*da0073e9SAndroid Build Coastguard Worker  SET(MAGMA_FOUND FALSE)
37*da0073e9SAndroid Build Coastguard WorkerENDIF (MAGMA_LIBRARIES)
38*da0073e9SAndroid Build Coastguard Worker
39*da0073e9SAndroid Build Coastguard Workeradd_library(torch::magma INTERFACE IMPORTED)
40*da0073e9SAndroid Build Coastguard Workerset_property(TARGET torch::magma
41*da0073e9SAndroid Build Coastguard Worker             PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${MAGMA_INCLUDE_DIR}")
42*da0073e9SAndroid Build Coastguard Workerset_property(TARGET torch::magma
43*da0073e9SAndroid Build Coastguard Worker             PROPERTY INTERFACE_LINK_LIBRARIES "${MAGMA_LIBRARIES}")
44*da0073e9SAndroid Build Coastguard Worker
45*da0073e9SAndroid Build Coastguard Worker# Check for Magma V2
46*da0073e9SAndroid Build Coastguard Workerinclude(CheckPrototypeDefinition)
47*da0073e9SAndroid Build Coastguard Workercheck_prototype_definition(magma_get_sgeqrf_nb
48*da0073e9SAndroid Build Coastguard Worker  "magma_int_t magma_get_sgeqrf_nb( magma_int_t m, magma_int_t n );"
49*da0073e9SAndroid Build Coastguard Worker  "0"
50*da0073e9SAndroid Build Coastguard Worker  "magma.h"
51*da0073e9SAndroid Build Coastguard Worker  MAGMA_V2)
52*da0073e9SAndroid Build Coastguard Workerif(MAGMA_V2)
53*da0073e9SAndroid Build Coastguard Worker  set_property(TARGET torch::magma
54*da0073e9SAndroid Build Coastguard Worker               PROPERTY INTERFACE_COMPILE_DEFINITIONS "MAGMA_V2")
55*da0073e9SAndroid Build Coastguard Workerendif(MAGMA_V2)
56