36024deb3a
Change-Id: I86df82f75b75125825e22d0545209a19386d9936
71 строка
1.6 KiB
Makefile
71 строка
1.6 KiB
Makefile
HCC_HOME?=/opt/rocm/hcc
|
|
HCC = $(HCC_HOME)/bin/hcc
|
|
|
|
OPT=-O2
|
|
HCC_CFLAGS= `$(HCC_HOME)/bin/hcc-config --cxxflags` ${OPT}
|
|
HCC_LDFLAGS= `$(HCC_HOME)/bin/hcc-config --ldflags` ${OPT}
|
|
|
|
CPPAMP_CFLAGS= `$(HCC_HOME)/bin/clamp-config --cxxflags`
|
|
CPPAMP_LDFLAGS= `$(HCC_HOME)/bin/clamp-config --ldflags`
|
|
|
|
HIP_PATH?= $(wildcard /opt/rocm/hip)
|
|
ifeq (,$(HIP_PATH))
|
|
HIP_PATH=../../..
|
|
endif
|
|
HIPCC=$(HIP_PATH)/bin/hipcc
|
|
HIP_PLATFORM=$(shell $(HIP_PATH)/bin/hipconfig --platform)
|
|
|
|
ifneq (${HIP_PLATFORM}, hcc)
|
|
$(error hcc_dialects requires hcc compiler and only runs on hcc platform)
|
|
endif
|
|
|
|
|
|
TARGETS=vadd_hc_arrayview vadd_hc_array vadd_hc_am vadd_amp_arrayview vadd_hip
|
|
|
|
all: $(TARGETS)
|
|
|
|
clean:
|
|
rm -f $(TARGETS) *.o
|
|
|
|
run: $(TARGETS)
|
|
@for t in $(TARGETS); do\
|
|
echo "Running $$t"; \
|
|
./$$t; \
|
|
done
|
|
|
|
|
|
# HCC version:
|
|
vadd_hc_arrayview.o: vadd_hc_arrayview.cpp
|
|
$(HCC) $(HCC_CFLAGS) -c $< -o $@
|
|
vadd_hc_arrayview: vadd_hc_arrayview.o
|
|
$(HCC) $(HCC_LDFLAGS) $< -o $@
|
|
|
|
|
|
# HCC version, using explicit arrays:
|
|
vadd_hc_array.o: vadd_hc_array.cpp
|
|
$(HCC) $(HCC_CFLAGS) -c $< -o $@
|
|
vadd_hc_array: vadd_hc_array.o
|
|
$(HCC) $(HCC_LDFLAGS) $< -o $@
|
|
|
|
|
|
# HCC version, using AM (accelerator memory) pointer
|
|
vadd_hc_am.o: vadd_hc_am.cpp
|
|
$(HCC) $(HCC_CFLAGS) -c $< -o $@
|
|
vadd_hc_am: vadd_hc_am.o
|
|
$(HCC) $(HCC_LDFLAGS) -lhc_am $< -o $@
|
|
|
|
|
|
|
|
# HIP version:
|
|
vadd_hip.o: vadd_hip.cpp
|
|
$(HIPCC) -c $< -o $@
|
|
vadd_hip: vadd_hip.o
|
|
$(HIPCC) $< -o $@
|
|
|
|
|
|
# AMP version:
|
|
vadd_amp_arrayview.o: vadd_amp_arrayview.cpp
|
|
$(HCC) $(CPPAMP_CFLAGS) -c $< -o $@
|
|
vadd_amp_arrayview: vadd_amp_arrayview.o
|
|
$(HCC) $(CPPAMP_LDFLAGS) $< -o $@
|