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