cd3a0a2d61
Change-Id: Iec2f9eb05f95cb025c157fee8fd284aab844d1a2
71 строка
1.7 KiB
Makefile
71 строка
1.7 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= -std=c++amp -stdlib=libc++ -I$(HCC_HOME)/include
|
|
CPPAMP_LDFLAGS= -std=c++amp -L$(HCC_HOME)/lib -Wl,--rpath=$(HCC_HOME)/lib -lc++ -lc++abi -ldl -lpthread -Wl,--whole-archive -lmcwamp -Wl,--no-whole-archive
|
|
|
|
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 $@
|