// Header guards #ifndef UTILS_HEADER #define UTILS_HEADER #include "tensor.h" #include <vector> #include <stdlib.h> 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* weightsTensor = new struct Tensor; return weightsTensor; } struct Tensor *readInputBatch(const char *file_name, long data_type, long start, long end, long dim2_size, long dim3_size, long dim4_size) { struct Tensor* inputTensor = new struct Tensor; return inputTensor; } uint8_t *readLabels(const char *labels_file, int num_labels) { uint8_t* dummyLabels = (uint8_t*) malloc(sizeof(uint8_t) * num_labels); return dummyLabels; } uint32_t *readLabels3(const char *labels_file, int num_labels) { uint32_t* dummyLabels = (uint32_t*) malloc(sizeof(uint32_t) * num_labels); return dummyLabels; } uint32_t *readLabelsBatch3(const char *labels_file, int start, int end) { long int num_labels = end - start; uint32_t* dummyLabels = (uint32_t*) malloc(sizeof(uint32_t) * num_labels); return dummyLabels; } float computeAccuracy3(uint32_t *labels, void *result_ptr) { return 100.0; // dummy return } // tensor_runtime.h empty definitions - for NVDLA-based compilation to work (functions not actually used) void *create4DTensor(int data_type, int data_format, size_t dim1_size, size_t dim2_size, size_t dim3_size, size_t dim4_size){ struct Tensor* weightsTensor = new struct Tensor; return weightsTensor; } void startMemTracking(){ } void freeBatchMemory(){ } void hpvm_request_tensor(void *tensor, int destination){ } void llvm_hpvm_initializeRuntimeController(const char *){ } void llvm_hpvm_invokeRtControl(void *result, const char *str, int start, int end){ } #endif