From e73b509795cb5d4273ebb8560040e67480630f51 Mon Sep 17 00:00:00 2001
From: Hashim Sharif <hsharif3@tyler.cs.illinois.edu>
Date: Wed, 18 Nov 2020 03:21:20 -0600
Subject: [PATCH] Fixing LeNet_mnist build

---
 .../benchmarks/lenet_mnist/Makefile           | 20 +++++++++----------
 .../lenet_mnist/data/tuner_confs_base.txt     |  9 +++++++++
 .../src/{lenet.cpp => lenet_mnist.cpp}        |  0
 .../{lenet_loop.cpp => lenet_mnist_loop.cpp}  |  0
 ...et_promise.cpp => lenet_mnist_promise.cpp} |  0
 5 files changed, 19 insertions(+), 10 deletions(-)
 create mode 100644 llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet_mnist/data/tuner_confs_base.txt
 rename llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet_mnist/src/{lenet.cpp => lenet_mnist.cpp} (100%)
 rename llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet_mnist/src/{lenet_loop.cpp => lenet_mnist_loop.cpp} (100%)
 rename llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet_mnist/src/{lenet_promise.cpp => lenet_mnist_promise.cpp} (100%)

diff --git a/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet_mnist/Makefile b/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet_mnist/Makefile
index 92d8ddbf63..d59730dadd 100644
--- a/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet_mnist/Makefile
+++ b/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet_mnist/Makefile
@@ -1,5 +1,4 @@
 DNN_BENCHMARK_ROOT = $(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks
-# NOTE: can configure build directory
 #HPVM_BUILD_DIR = $(LLVM_SRC_ROOT)/../build_hpvm/
 HPVM_BUILD_DIR = $(LLVM_BUILD_ROOT)
 
@@ -11,7 +10,7 @@ LLVM_INCLUDE_DIR = $(LLVM_SRC_ROOT)/include
 
 SRC_DIR = src
 BUILD_DIR = build
-APP = lenet
+APP = lenet_mnist
 
 TENSOR_INCLUDE_DIR = $(DNN_BENCHMARK_ROOT)/common/include
 TENSOR_RT_INCLUDE_DIR = $(LLVM_SRC_ROOT)/projects/hpvm-tensor-rt/tensor_runtime/include
@@ -22,15 +21,15 @@ TENSOR_AUTOTUNER_DIR = $(LLVM_SRC_ROOT)/projects/hpvm-tensor-rt/lib/libtensor_au
 
 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
 CCFLAGS += -DDEVICE=CUDNN_TARGET
-LINKER_FLAGS = -lpthread -lcudart -lcurand -lcudnn -lcublas -lOpenCL
+LINKER_FLAGS = -lpthread -lcudart -lcurand -lcudnn -lcublas -lcufft -lOpenCL -lstdc++fs
 
 HPVM_LIB_DIR = $(HPVM_BUILD_DIR)/lib
 
 
 VISC_OPTFLAGS = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_CUDNN.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so -inplace -dfg2llvm-cudnn -dfg2llvm-x86 -clearDFG
 
-
-PROMISE_QUANT_FILE_PATH=$(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks/benchmarks/$(APP)/data/quant_ranges.txt
+#$(APP)
+PROMISE_QUANT_FILE_PATH=$(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks/benchmarks/lenet_mnist/data/quant_ranges.txt
 
 VISC_OPTFLAGS2 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_PROMISE.so  -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_CUDNN.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-promise  -quantization-levels-filename=$(PROMISE_QUANT_FILE_PATH) -dfg2llvm-cudnn  -dfg2llvm-x86 -clearDFG
 
@@ -38,6 +37,7 @@ WRAPPER_API_QUANT_FILE_PATH=$(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks/benchmarks
 
 CONF_FILE_PATH=$(LLVM_SRC_ROOT)/test/VISC/DNN_Benchmarks/benchmarks/$(APP)/data/tuner_confs_base.txt
 
+
 VISC_OPTFLAGS3 = -load  $(HPVM_LIB_DIR)/LLVMBuildDFG.so -load $(HPVM_LIB_DIR)/LLVMInPlaceDFGAnalysis.so -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_WrapperAPI.so    -load  $(HPVM_LIB_DIR)/LLVMDFG2LLVM_X86.so -load  $(HPVM_LIB_DIR)/LLVMFuseHPVMTensorNodes.so  -load  $(HPVM_LIB_DIR)/LLVMClearDFG.so   -inplace -hpvm-fuse -dfg2llvm-wrapperapi -quantization-levels-filename=$(WRAPPER_API_QUANT_FILE_PATH) -configuration-inputs-filename=$(CONF_FILE_PATH) -dfg2llvm-x86 -clearDFG
 
 
@@ -52,25 +52,25 @@ default: $(BUILD_DIR) $(TARGET)
 
 $(BUILD_DIR)/%.ll: $(SRC_DIR)/%.cpp
 	$(CC) $(CC_FLAGS) -emit-llvm src/$(APP).cpp -S -o  $(BUILD_DIR)/$(APP).ll  
-	$(CC) $(CC_FLAGS) -emit-llvm src/$(APP)_promise.cpp -S -o $(BUILD_DIR)/$(APP)_promise.ll
+	#$(CC) $(CC_FLAGS) -emit-llvm src/$(APP)_promise.cpp -S -o $(BUILD_DIR)/$(APP)_promise.ll
 	$(CC) $(CC_FLAGS) -emit-llvm src/$(APP)_loop.cpp -S -o  $(BUILD_DIR)/$(APP)_loop.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)_promise.ll -S -o  $(BUILD_DIR)/$(APP)_promise.visc.ll
+	#$(OPT) -load LLVMGenVISC.so -genvisc -globaldce  $(BUILD_DIR)/$(APP)_promise.ll -S -o  $(BUILD_DIR)/$(APP)_promise.visc.ll
 	$(OPT) -load LLVMGenVISC.so -genvisc -globaldce  $(BUILD_DIR)/$(APP)_loop.ll -S -o  $(BUILD_DIR)/$(APP)_loop.visc.ll
 	$(OPT) $(VISC_OPTFLAGS)  $(BUILD_DIR)/$(APP).visc.ll  -o  $(BUILD_DIR)/$(APP)_cudnn.bc
 	#$(OPT) $(VISC_OPTFLAGS2) $(BUILD_DIR)/$(APP)_promise.visc.ll  -o  $(BUILD_DIR)/$(APP)_promise.bc
-	$(OPT) $(VISC_OPTFLAGS3) $(BUILD_DIR)/$(APP)_promise.visc.ll  -o  $(BUILD_DIR)/$(APP)_wrapperapi.bc
+	#$(OPT) $(VISC_OPTFLAGS3) $(BUILD_DIR)/$(APP)_promise.visc.ll  -o  $(BUILD_DIR)/$(APP)_wrapperapi.bc
 	$(OPT) $(VISC_OPTFLAGS3) $(BUILD_DIR)/$(APP)_loop.visc.ll  -o  $(BUILD_DIR)/$(APP)_loop_wrapperapi.bc
 	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_cudnn.bc $(VISC_RT_PATH) -o $(BUILD_DIR)/$(APP)_cudnn_linked.bc
 	#$(LLVM_LINK) $(BUILD_DIR)/$(APP)_promise.bc $(VISC_RT_PATH) -o $(BUILD_DIR)/$(APP)_promise_linked.bc
-	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_wrapperapi.bc $(VISC_RT_PATH) -o $(BUILD_DIR)/$(APP)_wrapperapi_linked.bc
+	#$(LLVM_LINK) $(BUILD_DIR)/$(APP)_wrapperapi.bc $(VISC_RT_PATH) -o $(BUILD_DIR)/$(APP)_wrapperapi_linked.bc
 	$(LLVM_LINK) $(BUILD_DIR)/$(APP)_loop_wrapperapi.bc $(VISC_RT_PATH) -o $(BUILD_DIR)/$(APP)_loop_wrapperapi_linked.bc
 	$(CC) $(BUILD_DIR)/$(APP)_cudnn_linked.bc $(TENSOR_LIB_DIR) $(PROFILER_LIB_DIR) $(SOC_SIMULATOR_LIB_DIR) -o $(BUILD_DIR)/$(APP)_cudnn_linked $(LINKER_FLAGS)
 	#$(CC) $(BUILD_DIR)/$(APP)_promise_linked.bc $(TENSOR_LIB_DIR) $(PROFILER_LIB_DIR) $(SOC_SIMULATOR_LIB_DIR) -o $(BUILD_DIR)/$(APP)_promise_linked $(LINKER_FLAGS)
-	$(CC) $(BUILD_DIR)/$(APP)_wrapperapi_linked.bc $(TENSOR_LIB_DIR) $(PROFILER_LIB_DIR) $(SOC_SIMULATOR_LIB_DIR) -o $(BUILD_DIR)/$(APP)_wrapperapi_linked $(LINKER_FLAGS)
+	#$(CC) $(BUILD_DIR)/$(APP)_wrapperapi_linked.bc $(TENSOR_LIB_DIR) $(PROFILER_LIB_DIR) $(SOC_SIMULATOR_LIB_DIR) -o $(BUILD_DIR)/$(APP)_wrapperapi_linked $(LINKER_FLAGS)
 	$(CC) $(BUILD_DIR)/$(APP)_loop_wrapperapi_linked.bc $(TENSOR_LIB_DIR) $(PROFILER_LIB_DIR) $(SOC_SIMULATOR_LIB_DIR) -o $(BUILD_DIR)/$(APP)_loop_wrapperapi_linked $(LINKER_FLAGS)
 
 $(BUILD_DIR):
diff --git a/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet_mnist/data/tuner_confs_base.txt b/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet_mnist/data/tuner_confs_base.txt
new file mode 100644
index 0000000000..f2a85f352f
--- /dev/null
+++ b/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet_mnist/data/tuner_confs_base.txt
@@ -0,0 +1,9 @@
+2000
++++++
+conf1 1 0 99.69 0
+1 gpu conv fp32 1 add fp32 1 tanh fp32 1 pool_max fp32 1 
+2 gpu conv fp32 1 add fp32 1 tanh fp32 1 pool_max fp32 1 
+3 gpu mul fp32 1 add fp32 1 tanh fp32 1 
+4 gpu mul fp32 1 add fp32 1 tanh fp32 1 
+5 gpu softmax fp32 1
+-----
diff --git a/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet_mnist/src/lenet.cpp b/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet_mnist/src/lenet_mnist.cpp
similarity index 100%
rename from llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet_mnist/src/lenet.cpp
rename to llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet_mnist/src/lenet_mnist.cpp
diff --git a/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet_mnist/src/lenet_loop.cpp b/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet_mnist/src/lenet_mnist_loop.cpp
similarity index 100%
rename from llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet_mnist/src/lenet_loop.cpp
rename to llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet_mnist/src/lenet_mnist_loop.cpp
diff --git a/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet_mnist/src/lenet_promise.cpp b/llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet_mnist/src/lenet_mnist_promise.cpp
similarity index 100%
rename from llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet_mnist/src/lenet_promise.cpp
rename to llvm/test/VISC/DNN_Benchmarks/benchmarks/lenet_mnist/src/lenet_mnist_promise.cpp
-- 
GitLab