add hcc dialects sample
Dieser Commit ist enthalten in:
@@ -0,0 +1,66 @@
|
||||
HCC_HOME?=/opt/rocm/hcc
|
||||
HCC = $(HCC_HOME)/bin/hcc
|
||||
|
||||
HCC_CFLAGS= `$(HCC_HOME)/bin/hcc-config --cxxflags`
|
||||
HCC_LDFLAGS= `$(HCC_HOME)/bin/hcc-config --ldflags`
|
||||
|
||||
CPPAMP_CFLAGS= -std=c++amp -stdlib=libc++ -I/opt/hcc/include
|
||||
CPPAMP_LDFLAGS= -std=c++amp -L/opt/hcc/lib -Wl,--rpath=/opt/hcc/lib -lc++ -lc++abi -ldl -lpthread -Wl,--whole-archive -lmcwamp -Wl,--no-whole-archive
|
||||
|
||||
HIP_PATH?=/opt/rocm/hip
|
||||
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_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) $< -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 $@
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren