File: make.inc.openblas-debug

package info (click to toggle)
magma 2.9.0%2Bds-2
  • links: PTS, VCS
  • area: contrib
  • in suites: trixie
  • size: 83,212 kB
  • sloc: cpp: 709,115; fortran: 121,916; ansic: 32,343; python: 25,603; f90: 15,208; makefile: 942; xml: 253; csh: 232; sh: 203; perl: 104
file content (76 lines) | stat: -rw-r--r-- 2,362 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#//////////////////////////////////////////////////////////////////////////////
#   -- MAGMA (version 2.x) --
#      Univ. of Tennessee, Knoxville
#      Univ. of California, Berkeley
#      Univ. of Colorado, Denver
#      @date January 2025
#//////////////////////////////////////////////////////////////////////////////

# GPU_TARGET contains one or more of the architectures below
# to specify for which GPUs you want to compile MAGMA:
#     Fermi                - NVIDIA compute capability 2.x cards
#     Kepler               - NVIDIA compute capability 3.x cards
#     Maxwell              - NVIDIA compute capability 5.x cards
#     Pascal               - NVIDIA compute capability 6.x cards
#     Volta/Turing         - NVIDIA compute capability 7.x cards
#     Ampere/Ada-Lovelace  - NVIDIA compute capability 8.x cards
#     Hopper               - NVIDIA compute capability 9.x cards
# The default is "Volta Turing Ampere".
# Note that depending on the CUDA version, some compute capabilities may not be supported
# See http://developer.nvidia.com/cuda-gpus
#
GPU_TARGET ?= Volta Turing Ampere

# --------------------
# programs

CC        = gcc
CXX       = g++
NVCC      = nvcc
FORT      = gfortran

ARCH      = ar
ARCHFLAGS = cr
RANLIB    = ranlib


# --------------------
# flags

# Use -fPIC to make shared (.so) and static (.a) library;
# can be commented out if making only static library.
FPIC      = -fPIC

CFLAGS    = -O3 $(FPIC) -DADD_ -Wall -fopenmp -DDEBUG_MEMORY
FFLAGS    = -O3 $(FPIC) -DADD_ -Wall -Wno-unused-dummy-argument
F90FLAGS  = -O3 $(FPIC) -DADD_ -Wall -Wno-unused-dummy-argument -x f95-cpp-input
NVCCFLAGS = -O3         -DADD_       -Xcompiler "$(FPIC)" -std=c++11
LDFLAGS   =     $(FPIC)              -fopenmp

# C++11 (gcc >= 4.7) is not required, but has benefits like atomic operations
CXXFLAGS := $(CFLAGS) -std=c++11
CFLAGS   += -std=c99


# --------------------
# libraries

# gcc with OpenBLAS (includes LAPACK)
LIB       = -lopenblas

LIB      += -lcublas -lcusparse -lcudart -lcudadevrt


# --------------------
# directories

# define library directories preferably in your environment, or here.
#OPENBLASDIR ?= /usr/local/openblas
#CUDADIR ?= /usr/local/cuda
-include make.check-openblas
-include make.check-cuda

LIBDIR    = -L$(CUDADIR)/lib64 \
            -L$(OPENBLASDIR)/lib

INC       = -I$(CUDADIR)/include