Skip to content
Snippets Groups Projects
Commit ad0fbba6 authored by Yifan Zhao's avatar Yifan Zhao
Browse files

Modified test case; compile succeeded

parent 0b9c8684
No related branches found
No related tags found
No related merge requests found
...@@ -34,3 +34,5 @@ llvm/test/VISC/parboil/benchmarks/*/run ...@@ -34,3 +34,5 @@ llvm/test/VISC/parboil/benchmarks/*/run
llvm/test/VISC/parboil/benchmarks/*/build llvm/test/VISC/parboil/benchmarks/*/build
llvm/build llvm/build
llvm/install llvm/install
build/
install/
# NOTE: $LLVM_SRC_ROOT and $HPVM_BUILD_ROOT have to be set # NOTE: $LLVM_SRC_ROOT and $CUDA_TOOLKIT_ROOT_DIR have to be set
DNN_BENCHMARK_ROOT = $(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks DNN_BENCHMARK_ROOT = $(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks
HPVM_BUILD_DIR = $(LLVM_SRC_ROOT)/build HPVM_BUILD_DIR = $(LLVM_SRC_ROOT)/../build
CC = $(HPVM_BUILD_DIR)/bin/clang++ CC = $(HPVM_BUILD_DIR)/bin/clang++
OPT = $(HPVM_BUILD_DIR)/bin/opt OPT = $(HPVM_BUILD_DIR)/bin/opt
...@@ -15,11 +15,11 @@ APP = canny_test ...@@ -15,11 +15,11 @@ APP = canny_test
TENSOR_INCLUDE_DIR = $(DNN_BENCHMARK_ROOT)/common/include TENSOR_INCLUDE_DIR = $(DNN_BENCHMARK_ROOT)/common/include
TENSOR_RT_INCLUDE_DIR = $(LLVM_SRC_ROOT)/projects/hpvm-tensor-rt/tensor_runtime/include TENSOR_RT_INCLUDE_DIR = $(LLVM_SRC_ROOT)/projects/hpvm-tensor-rt/tensor_runtime/include
TENSOR_LIB_PATH = $(LLVM_SRC_ROOT)/projects/hpvm-tensor-rt/lib/libtensor_runtime.a CUSTOM_LIB_PATHS = $(HPVM_BUILD_DIR)/lib/libtensor_runtime.a $(HPVM_BUILD_DIR)/lib/libgpu_profiler.a $(HPVM_BUILD_DIR)/lib/libpromise_profiler.a
CC_FLAGS = -I $(LLVM_INCLUDE_DIR) -I $(TENSOR_INCLUDE_DIR) -I $(TENSOR_RT_INCLUDE_DIR) -I $(CUDA_INCLUDE_PATH) -fno-exceptions -ffast-math -std=c++11 -O3 CC_FLAGS = -I $(LLVM_INCLUDE_DIR) -I $(TENSOR_INCLUDE_DIR) -I $(TENSOR_RT_INCLUDE_DIR) -I $(CUDA_TOOLKIT_ROOT_DIR)/include -fno-exceptions -ffast-math -std=c++11 -O3
CCFLAGS += -DDEVICE=CUDNN_TARGET CCFLAGS += -DDEVICE=CUDNN_TARGET
LINKER_FLAGS = -lpthread -lcudart -lcurand -lcudnn -lcublas -lOpenCL LINKER_FLAGS = -L $(CUDA_TOOLKIT_ROOT_DIR)/lib64 -lpthread -lcudart -lcurand -lcudnn -lcublas -lOpenCL -lcufft
HPVM_LIB_DIR = $(HPVM_BUILD_DIR)/lib HPVM_LIB_DIR = $(HPVM_BUILD_DIR)/lib
...@@ -44,13 +44,13 @@ default: $(BUILD_DIR) $(TARGET) ...@@ -44,13 +44,13 @@ default: $(BUILD_DIR) $(TARGET)
$(BUILD_DIR)/%.ll: $(SRC_DIR)/%.cpp $(BUILD_DIR)/%.ll: $(SRC_DIR)/%.cpp
$(CC) $(CC_FLAGS) -emit-llvm src/$(APP).cpp -c -o $(BUILD_DIR)/$(APP).ll $(CC) $(CC_FLAGS) -emit-llvm src/$(APP).cpp -S -o $(BUILD_DIR)/$(APP).ll
$(BUILD_DIR)/%.opt.bc: $(BUILD_DIR)/%.ll $(BUILD_DIR)/%.opt.bc: $(BUILD_DIR)/%.ll
$(OPT) -load LLVMGenVISC.so -genvisc -globaldce $(BUILD_DIR)/$(APP).ll -S -o $(BUILD_DIR)/$(APP).visc.ll $(OPT) -load LLVMGenVISC.so -genvisc -globaldce $(BUILD_DIR)/$(APP).ll -S -o $(BUILD_DIR)/$(APP).visc.ll
$(OPT) $(VISC_OPTFLAGS) $(BUILD_DIR)/$(APP).visc.ll -o $(BUILD_DIR)/$(APP)_wrapper.bc $(OPT) $(VISC_OPTFLAGS) $(BUILD_DIR)/$(APP).visc.ll -o $(BUILD_DIR)/$(APP)_wrapper.bc
$(LLVM_LINK) $(BUILD_DIR)/$(APP)_wrapper.bc $(VISC_RT_PATH) -o $(BUILD_DIR)/$(APP)_wrapper_linked.bc $(LLVM_LINK) $(BUILD_DIR)/$(APP)_wrapper.bc $(VISC_RT_PATH) -o $(BUILD_DIR)/$(APP)_wrapper_linked.bc
$(CC) $(BUILD_DIR)/$(APP)_wrapper_linked.bc $(TENSOR_LIB_PATH) -o $(BUILD_DIR)/$(APP)_final $(LINKER_FLAGS) $(CC) $(BUILD_DIR)/$(APP)_wrapper_linked.bc $(CUSTOM_LIB_PATHS) $(PROMISE_PROFILER_LIB_PATH) -o $(BUILD_DIR)/$(APP)_final $(LINKER_FLAGS)
$(BUILD_DIR): $(BUILD_DIR):
mkdir -p $@ mkdir -p $@
......
...@@ -39,7 +39,7 @@ void var_2_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2) { ...@@ -39,7 +39,7 @@ void var_2_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2) {
__visc__hint(visc::PROMISE_TARGET); __visc__hint(visc::PROMISE_TARGET);
__visc__attributes(2, t1, t2, 0); __visc__attributes(2, t1, t2, 0);
void* r = __visc__tensor_convolution(t1, t2, 2, 2, 1, 1, 1, 0); void* r = __visc__tensor_convolution(t1, t2, 2, 2, 1, 1);
__visc__return(2, r, (size_t) 0); __visc__return(2, r, (size_t) 0);
} }
...@@ -49,7 +49,7 @@ void var_3_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2) { ...@@ -49,7 +49,7 @@ void var_3_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2) {
__visc__hint(visc::PROMISE_TARGET); __visc__hint(visc::PROMISE_TARGET);
__visc__attributes(2, t1, t2, 0); __visc__attributes(2, t1, t2, 0);
void* r = __visc__tensor_convolution(t1, t2, 2, 2, 1, 1, 1, 0); void* r = __visc__tensor_convolution(t1, t2, 2, 2, 1, 1);
__visc__return(2, r, (size_t) 0); __visc__return(2, r, (size_t) 0);
} }
...@@ -57,7 +57,7 @@ void var_4_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2) { ...@@ -57,7 +57,7 @@ void var_4_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2) {
__visc__hint(visc::PROMISE_TARGET); __visc__hint(visc::PROMISE_TARGET);
__visc__attributes(2, t1, t2, 0); __visc__attributes(2, t1, t2, 0);
void* r = __visc__tensor_convolution(t1, t2, 2, 2, 1, 1, 1, 0); void* r = __visc__tensor_convolution(t1, t2, 2, 2, 1, 1);
__visc__return(2, r, (size_t) 0); __visc__return(2, r, (size_t) 0);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment