diff --git a/llvm/projects/hpvm-tensor-rt/dnn_sources/src/alexnet2_cifar10.cc b/llvm/projects/hpvm-tensor-rt/dnn_sources/src/alexnet2_cifar10.cc index c0ca3207132a54f1160e990ff93f37d8112ab5ed..5918f4f18ebdb7d4f2fa3e37c0982b8ed8d10932 100644 --- a/llvm/projects/hpvm-tensor-rt/dnn_sources/src/alexnet2_cifar10.cc +++ b/llvm/projects/hpvm-tensor-rt/dnn_sources/src/alexnet2_cifar10.cc @@ -19,7 +19,7 @@ void testCifarNet(){ printf("********* Alexnet2 CIFAR-10 DNN ********** \n"); - std::string dir_prefix = std::string("../model_params/alexnet2_cifar10_test/"); + std::string dir_prefix = std::string("../model_params/alexnet2_cifar10/"); std::string input_path = dir_prefix + std::string("input.bin"); std::string labels_path = dir_prefix + std::string("labels.bin"); std::string labels32_path = dir_prefix + std::string("labels32.bin"); diff --git a/llvm/projects/hpvm-tensor-rt/dnn_sources/src/half/alexnet2_cifar10_half.cc b/llvm/projects/hpvm-tensor-rt/dnn_sources/src/half/alexnet2_cifar10_half.cc index 1ad4ba0aaf0cee655a304a7134553821c0885202..161cdd249cc1e94f0a739772e0b9b9ea86993be8 100644 --- a/llvm/projects/hpvm-tensor-rt/dnn_sources/src/half/alexnet2_cifar10_half.cc +++ b/llvm/projects/hpvm-tensor-rt/dnn_sources/src/half/alexnet2_cifar10_half.cc @@ -18,7 +18,7 @@ void testCifarNet(){ printf("********* Alexnet2 CIFAR-10 DNN ********** \n"); - std::string dir_prefix = std::string("../model_params/alexnet2_cifar10_test/"); + std::string dir_prefix = std::string("../model_params/alexnet2_cifar10/"); std::string input_path = dir_prefix + std::string("input.bin"); std::string labels_path = dir_prefix + std::string("labels.bin"); std::string labels32_path = dir_prefix + std::string("labels32.bin"); diff --git a/llvm/projects/hpvm-tensor-rt/dnn_sources/src/promise/alexnet2_promise.cc b/llvm/projects/hpvm-tensor-rt/dnn_sources/src/promise/alexnet2_promise.cc index 78cc8217273de6cdfcd9b3d08038a619c40ead02..ab3a20dfafbd636b03e2f3496eb6d016cd57a394 100644 --- a/llvm/projects/hpvm-tensor-rt/dnn_sources/src/promise/alexnet2_promise.cc +++ b/llvm/projects/hpvm-tensor-rt/dnn_sources/src/promise/alexnet2_promise.cc @@ -71,7 +71,7 @@ int main(int argc, char* argv[]){ float final_accuracy = 0.0; - std::string dir_prefix = std::string("../model_params/alexnet2_cifar10_test/"); + std::string dir_prefix = std::string("../model_params/alexnet2_cifar10/"); std::string input_path = dir_prefix + std::string("input.bin"); std::string labels_path = dir_prefix + std::string("labels.bin"); std::string labels32_path = dir_prefix + std::string("labels32.bin"); diff --git a/llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/approxhpvm_src.cc b/llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/approxhpvm_src.cc similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/approxhpvm_src.cc rename to llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/approxhpvm_src.cc diff --git a/llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/conv2d_1_b.bin b/llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/conv2d_1_b.bin similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/conv2d_1_b.bin rename to llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/conv2d_1_b.bin diff --git a/llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/conv2d_1_w.bin b/llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/conv2d_1_w.bin similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/conv2d_1_w.bin rename to llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/conv2d_1_w.bin diff --git a/llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/conv2d_2_b.bin b/llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/conv2d_2_b.bin similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/conv2d_2_b.bin rename to llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/conv2d_2_b.bin diff --git a/llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/conv2d_2_w.bin b/llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/conv2d_2_w.bin similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/conv2d_2_w.bin rename to llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/conv2d_2_w.bin diff --git a/llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/conv2d_3_b.bin b/llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/conv2d_3_b.bin similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/conv2d_3_b.bin rename to llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/conv2d_3_b.bin diff --git a/llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/conv2d_3_w.bin b/llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/conv2d_3_w.bin similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/conv2d_3_w.bin rename to llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/conv2d_3_w.bin diff --git a/llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/conv2d_4_b.bin b/llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/conv2d_4_b.bin similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/conv2d_4_b.bin rename to llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/conv2d_4_b.bin diff --git a/llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/conv2d_4_w.bin b/llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/conv2d_4_w.bin similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/conv2d_4_w.bin rename to llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/conv2d_4_w.bin diff --git a/llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/conv2d_5_b.bin b/llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/conv2d_5_b.bin similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/conv2d_5_b.bin rename to llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/conv2d_5_b.bin diff --git a/llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/conv2d_5_w.bin b/llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/conv2d_5_w.bin similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/conv2d_5_w.bin rename to llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/conv2d_5_w.bin diff --git a/llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/conv2d_6_b.bin b/llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/conv2d_6_b.bin similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/conv2d_6_b.bin rename to llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/conv2d_6_b.bin diff --git a/llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/conv2d_6_w.bin b/llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/conv2d_6_w.bin similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/conv2d_6_w.bin rename to llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/conv2d_6_w.bin diff --git a/llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/dense_1_b.bin b/llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/dense_1_b.bin similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/dense_1_b.bin rename to llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/dense_1_b.bin diff --git a/llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/dense_1_w.bin b/llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/dense_1_w.bin similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/dense_1_w.bin rename to llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/dense_1_w.bin diff --git a/llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/input.bin b/llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/input.bin similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/input.bin rename to llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/input.bin diff --git a/llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/labels.bin b/llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/labels.bin similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/labels.bin rename to llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/labels.bin diff --git a/llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/labels32.bin b/llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/labels32.bin similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/labels32.bin rename to llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/labels32.bin diff --git a/llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/layer_composition.txt b/llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/layer_composition.txt similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/layer_composition.txt rename to llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/layer_composition.txt diff --git a/llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/layers.txt b/llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/layers.txt similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/layers.txt rename to llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/layers.txt diff --git a/llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/promise_src.cc b/llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/promise_src.cc similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/promise_src.cc rename to llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/promise_src.cc diff --git a/llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/src.cc b/llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/src.cc similarity index 100% rename from llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/src.cc rename to llvm/projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/src.cc diff --git a/llvm/test/VISC/DNN_Benchmarks/benchmarks/alexnet2/src/alexnet2.cpp b/llvm/test/VISC/DNN_Benchmarks/benchmarks/alexnet2/src/alexnet2.cpp index 6e6b20e708c778e08cbf3ad1e5607dd64eac0eba..4ef1f0ac332973765f9bf36ff1f3f6c2434afef1 100644 --- a/llvm/test/VISC/DNN_Benchmarks/benchmarks/alexnet2/src/alexnet2.cpp +++ b/llvm/test/VISC/DNN_Benchmarks/benchmarks/alexnet2/src/alexnet2.cpp @@ -418,10 +418,9 @@ RootIn; int main(){ - std::string dir_prefix = std::string("../../../../../../projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/"); + std::string dir_prefix = std::string("../../../../../../projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/"); - std::string input_path = dir_prefix + std::string("input.bin"); - std::string labels_path = dir_prefix + std::string("labels.bin"); + std::string labels_path = dir_prefix + std::string("labels32.bin"); std::string conv2d_1_w_path = dir_prefix + std::string("conv2d_1_w.bin"); void* conv2d_1_w = readTrainedWeights(conv2d_1_w_path.c_str(), 0,32,3,3,3); std::string conv2d_1_b_path = dir_prefix + std::string("conv2d_1_b.bin"); @@ -450,14 +449,11 @@ int main(){ void* dense_1_w = readTrainedWeights(dense_1_w_path.c_str(), 0,1,1,2048,10); std::string dense_1_b_path = dir_prefix + std::string("dense_1_b.bin"); void* dense_1_b = readTrainedWeights(dense_1_b_path.c_str(), 0,1,10,1,1); - void* input = readTrainedWeights(input_path.c_str(), 0,10000,3,32,32); - uint8_t* labels = readLabels(labels_path.c_str(),10000); + __visc__init(); RootIn* args = static_cast<RootIn*>(malloc(sizeof(RootIn))); - args->input = input; - args->input_bytes = 0; args->conv2d_1_w = conv2d_1_w; args->conv2d_1_w_bytes = 0; args->conv2d_1_b = conv2d_1_b; @@ -487,15 +483,46 @@ int main(){ args->dense_1_b = dense_1_b; args->dense_1_b_bytes = 0; - void* dfg = __visc__launch(0, root, (void*) args); - __visc__wait(dfg); + int batch_size = 500; + int test_input_size = 10000; + int batch_count = test_input_size / batch_size; + + std::string input_path = dir_prefix + std::string("input.bin"); + void* input = create4DTensor(0,nchw,batch_size,3,32,32); + + + startMemTracking(); + for (int i = 0; i < batch_count; i++){ + + int start = i * batch_size; + int end = (i + 1) * batch_size; + + copyInputBatch(input_path.c_str(),start,end,3,32,32, input); + + args->input = input; + args->input_bytes = 0; + + void* dfg = __visc__launch(0, root, (void*) args); - void *result = static_cast<RootIn*>(args)->input; - hpvm_request_tensor(result, 0); + __visc__wait(dfg); + void *result = static_cast<RootIn*>(args)->input; + hpvm_request_tensor(result, 0); + + + uint32_t* labels = readLabelsBatch3(labels_path.c_str(),start,end); + + computeAccuracy3(labels, result); + + //llvm_hpvm_invokeRtControl2(result, labels); + + freeBatchMemory(); + } + + __visc__cleanup(); - computeAccuracy2(labels, 10000, result); - return 0; + + return 0; } diff --git a/llvm/test/VISC/DNN_Benchmarks/benchmarks/alexnet2/src/alexnet2_loop.cpp b/llvm/test/VISC/DNN_Benchmarks/benchmarks/alexnet2/src/alexnet2_loop.cpp index 956f8fbe8be788a9e387a9ff8937775a8bcf8707..77a5fde7f8d448f8b9c14b959696f65a574205b2 100644 --- a/llvm/test/VISC/DNN_Benchmarks/benchmarks/alexnet2/src/alexnet2_loop.cpp +++ b/llvm/test/VISC/DNN_Benchmarks/benchmarks/alexnet2/src/alexnet2_loop.cpp @@ -418,7 +418,7 @@ RootIn; int main(){ - std::string dir_prefix = std::string("../../../../../../projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/"); + std::string dir_prefix = std::string("../../../../../../projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/"); std::string labels_path = dir_prefix + std::string("labels32.bin"); std::string conv2d_1_w_path = dir_prefix + std::string("conv2d_1_w.bin"); diff --git a/llvm/test/VISC/DNN_Benchmarks/benchmarks/alexnet2/src/alexnet2_promise.cpp b/llvm/test/VISC/DNN_Benchmarks/benchmarks/alexnet2/src/alexnet2_promise.cpp index e6a1b26a1fd0a377a06e90424371f80011255889..769182c419182fd8d6155fa665354af5d31f1fe1 100644 --- a/llvm/test/VISC/DNN_Benchmarks/benchmarks/alexnet2/src/alexnet2_promise.cpp +++ b/llvm/test/VISC/DNN_Benchmarks/benchmarks/alexnet2/src/alexnet2_promise.cpp @@ -419,7 +419,7 @@ RootIn; int main(){ - std::string dir_prefix = std::string("../../../../../../projects/hpvm-tensor-rt/model_params/alexnet2_cifar10_test/"); + std::string dir_prefix = std::string("../../../../../../projects/hpvm-tensor-rt/model_params/alexnet2_cifar10/"); std::string input_path = dir_prefix + std::string("input.bin");