Skip to content
Snippets Groups Projects
Commit 75a2e622 authored by Hashim Sharif's avatar Hashim Sharif
Browse files

Adding new target for HPVM leaf Node modules

parent a2d9d366
No related branches found
No related tags found
No related merge requests found
......@@ -12,25 +12,25 @@ SRC_DIR = src
BUILD_DIR = build
APP = lenet
TENSOR_INCLUDE_DIR = $(DNN_BENCHMARK_ROOT)/common/include
COMMON_INCLUDE_DIR = $(DNN_BENCHMARK_ROOT)/common/include
DNN_INCLUDE_DIR = $(LLVM_SRC_ROOT)/projects/hpvm-tensor-rt/dnn_sources/include
TENSOR_RT_INCLUDE_DIR = $(LLVM_SRC_ROOT)/projects/hpvm-tensor-rt/tensor_runtime/include
TENSOR_RT_SRC_DIR = $(LLVM_SRC_ROOT)/projects/hpvm-tensor-rt/tensor_runtime/src
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
# -I $(TENSOR_INCLUDE_DIR)
CC_FLAGS = -I $(LLVM_INCLUDE_DIR) -I $(DNN_INCLUDE_DIR) -I $(COMMON_INCLUDE_DIR) -I $(TENSOR_RT_INCLUDE_DIR) -I $(CUDA_INCLUDE_PATH) -fno-exceptions -ffast-math -std=c++11 -O3
LINKER_FLAGS = -lpthread -lOpenCL
HPVM_LIB_DIR = $(HPVM_BUILD_DIR)/lib
OPTFLAGS1 = -load $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load $(HPVM_LIB_DIR)/ReplaceIntrinsics.so -load $(HPVM_LIB_DIR)/DFG2LLVM_X86_dsoc.so -load $(HPVM_LIB_DIR)/ExtractHPVMLeafNodes.so -load $(HPVM_LIB_DIR)/LLVMClearDFG.so -inplace -replace-intrinsics -dfg2llvm-x86-dsoc -hpvm-extract-leaf-gen -clearDFG
OPTFLAGS1 = -load $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load $(HPVM_LIB_DIR)/ReplaceIntrinsics.so -load $(HPVM_LIB_DIR)/DFG2LLVM_X86_dsoc.so -load $(HPVM_LIB_DIR)/ExtractHPVMLeafNodes.so -load $(HPVM_LIB_DIR)/LLVMClearDFG.so -inplace -replace-intrinsics -dfg2llvm-x86-dsoc -hpvm-extract-leaf-gen -clearDFG
#OPTFLAGS2 = -load $(HPVM_LIB_DIR)/InlineTensorCalls.so -inline-tensor-calls
#-hpvm-extract-leaf-gen
#OPTFLAGS3 = -load $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/ExtractHPVMLeafNodes.so -load $(HPVM_LIB_DIR)/LLVMClearDFG.so -clearDFG
TARGET = $(BUILD_DIR)/$(APP).opt.bc
#TARGET = $(BUILD_DIR)/$(APP).opt.bc
TARGET = $(BUILD_DIR)/$(APP).opt.bc $(BUILD_DIR)/$(wilcard *_module.bc)
SOURCES = $(SRC_DIR)/$(APP).cpp
VISC_RT_PATH = $(LLVM_SRC_ROOT)/../build/projects/visc-rt/visc-rt.ll
......@@ -39,7 +39,7 @@ VISC_RT_PATH = $(LLVM_SRC_ROOT)/../build/projects/visc-rt/visc-rt.ll
default: $(BUILD_DIR) $(TARGET)
$(BUILD_DIR)/%.ll: $(SRC_DIR)/%.cpp
$(BUILD_DIR)/%.ll: $(SRC_DIR)/%.cpp
$(CC) $(CC_FLAGS) -emit-llvm -S -o $@ $<
#-visc-timers-gen
......@@ -54,11 +54,17 @@ $(BUILD_DIR)/%.opt.bc: $(BUILD_DIR)/%.visc.ll
$(OPT) -always-inline $(BUILD_DIR)/tensor_cpu_runtime.bc -o $(BUILD_DIR)/tensor_cpu_runtime.bc
#$(OPT) $(OPTFLAGS3) $@ #-o $(BUILD_DIR)/lenet_extract.bc
#$(LLVM_LINK) $@ $(BUILD_DIR)/lenet_extract.bc $(VISC_RT_PATH) -o $(BUILD_DIR)/lenet_tensor_rt.bc
#$(LLVM_LINK) $@ $(BUILD_DIR)/tensor_cpu_runtime.bc $(VISC_RT_PATH) -o $(BUILD_DIR)/lenet_tensor_rt.bc
$(LLVM_LINK) $@ $(wildcard *module.ll) $(BUILD_DIR)/tensor_cpu_runtime.bc $(VISC_RT_PATH) -o $(BUILD_DIR)/lenet_tensor_rt.bc
$(CC) $(BUILD_DIR)/lenet_tensor_rt.bc -o $(BUILD_DIR)/lenet_final $(LINKER_FLAGS)
#$(OPT) $(OPTFLAGS2) $(BUILD_DIR)/lenet_tensor_rt.bc -o $(BUILD_DIR)/lenet_inline.bc
#$(LLVM_LINK) $@ $(VISC_RT_PATH) -o $(BUILD_DIR)/lenet_linked.bc
#$(CC) $(BUILD_DIR)/lenet_inline.bc -o $(BUILD_DIR)/lenet_linked $(LINKER_FLAGS)
$(BUILD_DIR)/%.bc: $(BUILD_DIR)/%_module.ll
echo $<
$(BUILD_DIR):
mkdir -p $@
......
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