From 02f526c02390a4aa4f02b66028fa66a68335256f Mon Sep 17 00:00:00 2001
From: Hashim Sharif <hsharif3@miranda.cs.illinois.edu>
Date: Wed, 9 Jun 2021 03:04:38 -0500
Subject: [PATCH] Adding dummy tensorUtils.h and tensor.h for NVDLA compilation

---
 hpvm/include/nvdla/tensor.h          | 27 +++++++++++++++
 hpvm/include/nvdla/tensorUtils.h     | 51 ++++++++++++++++++++++++++++
 hpvm/tools/hpvm-clang/CMakeLists.txt |  2 ++
 3 files changed, 80 insertions(+)
 create mode 100644 hpvm/include/nvdla/tensor.h
 create mode 100644 hpvm/include/nvdla/tensorUtils.h

diff --git a/hpvm/include/nvdla/tensor.h b/hpvm/include/nvdla/tensor.h
new file mode 100644
index 0000000000..3a566ffdfc
--- /dev/null
+++ b/hpvm/include/nvdla/tensor.h
@@ -0,0 +1,27 @@
+
+
+#ifndef TENSOR_HEADER
+#define TENSOR_HEADER
+
+struct Dimension {
+  int num_dims;
+  size_t *dim_sizes;
+};
+
+enum data_location_t { HOST, DEVICE };
+
+struct Tensor {
+  int data_type;
+  int cur_type;
+  int data_format;
+  data_location_t  data_placement; // Maintains the location of the tensor {host, device...}
+  void *host_data;
+  void *gpu_data;       // Pointer to GPU FP32 data
+  void *gpu_half_data;  // Pointer to GPU FP16 data
+  size_t num_elems;     // Total elements
+  size_t size_in_bytes; // Total size in bytes
+  struct Dimension dims;
+};
+
+
+#endif
diff --git a/hpvm/include/nvdla/tensorUtils.h b/hpvm/include/nvdla/tensorUtils.h
new file mode 100644
index 0000000000..ea36e1d2fb
--- /dev/null
+++ b/hpvm/include/nvdla/tensorUtils.h
@@ -0,0 +1,51 @@
+
+// Header guards
+#ifndef UTILS_HEADER
+#define UTILS_HEADER
+
+
+
+#include "tensor.h"
+#include <vector>
+
+
+std::vector<float> run_accuracies;
+std::string model_params_path = "../../test/dnn_benchmarks/model_params/";
+
+
+
+struct Tensor *readTrainedWeights(const char *file_name, int data_type,
+                                  long int dim1_size, long int dim2_size,
+                                  long int dim3_size, long int dim4_size) {
+
+}
+
+
+struct Tensor *readInputBatch(const char *file_name, long data_type,
+			      long start, long end,
+			      long dim2_size, long dim3_size, long dim4_size) {
+
+}
+
+uint8_t *readLabels(const char *labels_file, int num_labels) {
+
+}
+
+uint32_t *readLabels3(const char *labels_file, int num_labels) {
+
+
+}
+
+
+uint32_t *readLabelsBatch3(const char *labels_file, int start, int end) {
+
+}
+
+
+
+float computeAccuracy3(uint32_t *labels, void *result_ptr) {
+
+}
+
+
+#endif
diff --git a/hpvm/tools/hpvm-clang/CMakeLists.txt b/hpvm/tools/hpvm-clang/CMakeLists.txt
index cf387e5642..7d7e774418 100644
--- a/hpvm/tools/hpvm-clang/CMakeLists.txt
+++ b/hpvm/tools/hpvm-clang/CMakeLists.txt
@@ -31,6 +31,8 @@ else()
 endif()
 
 list(APPEND INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/../../include)
+list(APPEND INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/../../include/nvdla/)
+
 
 if(${HPVM_USE_OPENCL})
   # We need to link to OpenCL libs when hpvm uses opencl
-- 
GitLab