From 1ef87ac5f2dcb4e9983bb01993ae190b60cda2f3 Mon Sep 17 00:00:00 2001 From: Ben Sander Date: Mon, 29 Aug 2016 22:03:00 -0500 Subject: [PATCH] enable hc_am example in hcc_ddialects example Change-Id: Iec2f9eb05f95cb025c157fee8fd284aab844d1a2 [ROCm/hip commit: cd3a0a2d61a5e96d298dd9b93ec2005633fbc59f] --- .../hip/samples/0_Intro/hcc_dialects/Makefile | 9 +++++---- .../samples/0_Intro/hcc_dialects/vadd_hc_am.cpp | 15 +++++++++++---- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/projects/hip/samples/0_Intro/hcc_dialects/Makefile b/projects/hip/samples/0_Intro/hcc_dialects/Makefile index fb8fcc0c32..3b5ceca7f0 100644 --- a/projects/hip/samples/0_Intro/hcc_dialects/Makefile +++ b/projects/hip/samples/0_Intro/hcc_dialects/Makefile @@ -1,8 +1,9 @@ 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` +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 @@ -19,7 +20,7 @@ $(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 +TARGETS=vadd_hc_arrayview vadd_hc_array vadd_hc_am vadd_amp_arrayview vadd_hip all: $(TARGETS) @@ -51,7 +52,7 @@ vadd_hc_array: vadd_hc_array.o vadd_hc_am.o: vadd_hc_am.cpp $(HCC) $(HCC_CFLAGS) -c $< -o $@ vadd_hc_am: vadd_hc_am.o - $(HCC) $(HCC_LDFLAGS) $< -o $@ + $(HCC) $(HCC_LDFLAGS) -lhc_am $< -o $@ diff --git a/projects/hip/samples/0_Intro/hcc_dialects/vadd_hc_am.cpp b/projects/hip/samples/0_Intro/hcc_dialects/vadd_hc_am.cpp index 5cb2e8c98f..3685e688cd 100644 --- a/projects/hip/samples/0_Intro/hcc_dialects/vadd_hc_am.cpp +++ b/projects/hip/samples/0_Intro/hcc_dialects/vadd_hc_am.cpp @@ -32,23 +32,30 @@ int main(int argc, char *argv[]) for (int i=0; i (sizeElements), [&] (hc::index<1> idx) [[hc]] { int i = idx[0]; - C_d[i] = A_d[i] + B_d[i]; + //C_d[i] = A_d[i] + B_d[i]; + C_d[0] = A_d[1] + B_d[2]; }); + cf.wait(); +#endif + // This copy is in same AV as the kernel and thus will wait for the kernel to finish before executing. - av.copy(C_d, C_h); // C++ copy D2H + av.copy(C_d, C_h, sizeBytes); // C++ copy D2H for (int i=0; i