Makefile 538 Bytes
Newer Older
1
GPU_ARCH ?= gfx936
2
3
CXX ?= hipcc
CXX_FLAGS ?= -std=c++17 -O3
4
5
HIPCC_FLAGS = --offload-arch=$(GPU_ARCH)
NVCC_FLAGS = -arch=$(GPU_ARCH) -x cu
6
7
8
9
10
11
12
13
14
15

TARGET := gemv_bench
SRC := main.cpp
DEP := gemv_bf16.h gemv_utils.h hip_compat.h

.PHONY: all clean

all: $(TARGET)

# 根据 CXX 变量判断编译器类型
16
17
ifneq (,$(findstring hipcc,$(CXX)))
# HIPCC 编译
18
$(TARGET): $(SRC) $(DEP)
19
	$(CXX) $(CXX_FLAGS) $(HIPCC_FLAGS) $< -o $@
20
else
21
# NVCC 编译
22
$(TARGET): $(SRC) $(DEP)
23
	$(CXX) $(CXX_FLAGS) $(NVCC_FLAGS) $< -o $@
24
25
26
27
endif

clean:
	rm -f $(TARGET)