diff --git a/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/alexnet2_cifar10/alexnet2_cifar10.cpp b/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/alexnet2_cifar10/alexnet2_cifar10.cpp index 35f8188f785d023264c31a20480f661f066fb9f5..ebbfec271686292ced4cf830ae8787303e8cda68 100644 --- a/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/alexnet2_cifar10/alexnet2_cifar10.cpp +++ b/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/alexnet2_cifar10/alexnet2_cifar10.cpp @@ -405,10 +405,30 @@ typedef struct __attribute__((__packed__)) { struct ret_t r; } RootIn; +void printUsage(const std::string &bin_name) { + std::cerr << "Usage: " << bin_name << " [-c CONF_FILE]\n"; +} + const int batch_size = 500, input_size = 5000, batch_count = input_size / batch_size; -int main() { +int main(int argc, char *argv[]) { + std::string config_path = ""; + int flag; + while ((flag = getopt(argc, argv, "hc:")) != -1) { + switch (flag) { + case 'c': + config_path = std::string(optarg); + break; + case 'h': + printUsage(argv[0]); + return 0; + default: + printUsage(argv[0]); + return 1; + } + } + std::string dir_prefix = std::string(MODEL_PARAMS_DIR) + "/alexnet2_cifar10/"; std::string input_path = dir_prefix + std::string("test_input.bin"); std::string labels_path = dir_prefix + std::string("test_labels.bin"); @@ -488,6 +508,14 @@ int main() { args->dense_1_b_bytes = 0; __hpvm__init(); + if (config_path != "") { + llvm_hpvm_initializeRuntimeController(config_path.c_str()); + } + + if (config_path != "") { + llvm_hpvm_initializeRuntimeController(config_path.c_str()); + } + startMemTracking(); #pragma clang loop unroll(disable) for (int i = 0; i < batch_count; i++) { diff --git a/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/alexnet2_cifar10/alexnet2_cifar10_cudnn.cpp b/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/alexnet2_cifar10/alexnet2_cifar10_cudnn.cpp index 5bcc5b627b546d714404c89d9a775856c647e7bc..44b8e0b37d9e774b939608a0aa5988b9f2ba9565 100644 --- a/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/alexnet2_cifar10/alexnet2_cifar10_cudnn.cpp +++ b/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/alexnet2_cifar10/alexnet2_cifar10_cudnn.cpp @@ -410,10 +410,30 @@ void write_accuracy(float accuracy) { fout << std::fixed << accuracy; } +void printUsage(const std::string &bin_name) { + std::cerr << "Usage: " << bin_name << " [-c CONF_FILE]\n"; +} + const int batch_size = 500, input_size = 5000, batch_count = input_size / batch_size; -int main() { +int main(int argc, char *argv[]) { + std::string config_path = ""; + int flag; + while ((flag = getopt(argc, argv, "hc:")) != -1) { + switch (flag) { + case 'c': + config_path = std::string(optarg); + break; + case 'h': + printUsage(argv[0]); + return 0; + default: + printUsage(argv[0]); + return 1; + } + } + std::string dir_prefix = std::string(MODEL_PARAMS_DIR) + "/alexnet2_cifar10/"; std::string input_path = dir_prefix + std::string("test_input.bin"); std::string labels_path = dir_prefix + std::string("test_labels.bin"); @@ -493,6 +513,14 @@ int main() { args->dense_1_b_bytes = 0; __hpvm__init(); + if (config_path != "") { + llvm_hpvm_initializeRuntimeController(config_path.c_str()); + } + + if (config_path != "") { + llvm_hpvm_initializeRuntimeController(config_path.c_str()); + } + float total_accuracy = 0; startMemTracking(); #pragma clang loop unroll(disable) diff --git a/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/alexnet_cifar10/alexnet_cifar10.cpp b/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/alexnet_cifar10/alexnet_cifar10.cpp index 51e0dd137db1cd835412bc6ee5694795718e739d..fad49161eb2b6a6c248ba2531bd1c31fe00023b8 100644 --- a/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/alexnet_cifar10/alexnet_cifar10.cpp +++ b/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/alexnet_cifar10/alexnet_cifar10.cpp @@ -356,10 +356,30 @@ typedef struct __attribute__((__packed__)) { struct ret_t r; } RootIn; +void printUsage(const std::string &bin_name) { + std::cerr << "Usage: " << bin_name << " [-c CONF_FILE]\n"; +} + const int batch_size = 500, input_size = 5000, batch_count = input_size / batch_size; -int main() { +int main(int argc, char *argv[]) { + std::string config_path = ""; + int flag; + while ((flag = getopt(argc, argv, "hc:")) != -1) { + switch (flag) { + case 'c': + config_path = std::string(optarg); + break; + case 'h': + printUsage(argv[0]); + return 0; + default: + printUsage(argv[0]); + return 1; + } + } + std::string dir_prefix = std::string(MODEL_PARAMS_DIR) + "/alexnet_cifar10/"; std::string input_path = dir_prefix + std::string("test_input.bin"); std::string labels_path = dir_prefix + std::string("test_labels.bin"); @@ -430,6 +450,14 @@ int main() { args->dense_1_b_bytes = 0; __hpvm__init(); + if (config_path != "") { + llvm_hpvm_initializeRuntimeController(config_path.c_str()); + } + + if (config_path != "") { + llvm_hpvm_initializeRuntimeController(config_path.c_str()); + } + startMemTracking(); #pragma clang loop unroll(disable) for (int i = 0; i < batch_count; i++) { diff --git a/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/alexnet_cifar10/alexnet_cifar10_cudnn.cpp b/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/alexnet_cifar10/alexnet_cifar10_cudnn.cpp index 74c5420fd9b77aa2deab656204e43b164a241304..1fe72045f0ca22925c6e395ee5a7a2d0d9beef9b 100644 --- a/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/alexnet_cifar10/alexnet_cifar10_cudnn.cpp +++ b/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/alexnet_cifar10/alexnet_cifar10_cudnn.cpp @@ -362,10 +362,30 @@ void write_accuracy(float accuracy) { fout << std::fixed << accuracy; } +void printUsage(const std::string &bin_name) { + std::cerr << "Usage: " << bin_name << " [-c CONF_FILE]\n"; +} + const int batch_size = 500, input_size = 5000, batch_count = input_size / batch_size; -int main() { +int main(int argc, char *argv[]) { + std::string config_path = ""; + int flag; + while ((flag = getopt(argc, argv, "hc:")) != -1) { + switch (flag) { + case 'c': + config_path = std::string(optarg); + break; + case 'h': + printUsage(argv[0]); + return 0; + default: + printUsage(argv[0]); + return 1; + } + } + std::string dir_prefix = std::string(MODEL_PARAMS_DIR) + "/alexnet_cifar10/"; std::string input_path = dir_prefix + std::string("test_input.bin"); std::string labels_path = dir_prefix + std::string("test_labels.bin"); @@ -436,6 +456,14 @@ int main() { args->dense_1_b_bytes = 0; __hpvm__init(); + if (config_path != "") { + llvm_hpvm_initializeRuntimeController(config_path.c_str()); + } + + if (config_path != "") { + llvm_hpvm_initializeRuntimeController(config_path.c_str()); + } + float total_accuracy = 0; startMemTracking(); #pragma clang loop unroll(disable) diff --git a/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/alexnet_imagenet/alexnet_imagenet.cpp b/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/alexnet_imagenet/alexnet_imagenet.cpp index 16bcecf939051ef7490d58a196a12786b0d4f465..dcb8b4faf825e0814bdaf38a83a2683763fa8cd4 100644 --- a/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/alexnet_imagenet/alexnet_imagenet.cpp +++ b/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/alexnet_imagenet/alexnet_imagenet.cpp @@ -454,10 +454,30 @@ typedef struct __attribute__((__packed__)) { struct ret_t r; } RootIn; +void printUsage(const std::string &bin_name) { + std::cerr << "Usage: " << bin_name << " [-c CONF_FILE]\n"; +} + const int batch_size = 100, input_size = 5000, batch_count = input_size / batch_size; -int main() { +int main(int argc, char *argv[]) { + std::string config_path = ""; + int flag; + while ((flag = getopt(argc, argv, "hc:")) != -1) { + switch (flag) { + case 'c': + config_path = std::string(optarg); + break; + case 'h': + printUsage(argv[0]); + return 0; + default: + printUsage(argv[0]); + return 1; + } + } + std::string dir_prefix = std::string(MODEL_PARAMS_DIR) + "/alexnet_imagenet/"; std::string input_path = dir_prefix + std::string("test_input.bin"); std::string labels_path = dir_prefix + std::string("test_labels.bin"); @@ -548,6 +568,14 @@ int main() { args->dense_3_b_bytes = 0; __hpvm__init(); + if (config_path != "") { + llvm_hpvm_initializeRuntimeController(config_path.c_str()); + } + + if (config_path != "") { + llvm_hpvm_initializeRuntimeController(config_path.c_str()); + } + startMemTracking(); #pragma clang loop unroll(disable) for (int i = 0; i < batch_count; i++) { diff --git a/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/alexnet_imagenet/alexnet_imagenet_cudnn.cpp b/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/alexnet_imagenet/alexnet_imagenet_cudnn.cpp index 5ddd9694328db6d892c8c23b44b2e165afe77953..64a781102a6f7545a573016df5a49b7b04ca8fd6 100644 --- a/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/alexnet_imagenet/alexnet_imagenet_cudnn.cpp +++ b/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/alexnet_imagenet/alexnet_imagenet_cudnn.cpp @@ -459,10 +459,30 @@ void write_accuracy(float accuracy) { fout << std::fixed << accuracy; } +void printUsage(const std::string &bin_name) { + std::cerr << "Usage: " << bin_name << " [-c CONF_FILE]\n"; +} + const int batch_size = 100, input_size = 5000, batch_count = input_size / batch_size; -int main() { +int main(int argc, char *argv[]) { + std::string config_path = ""; + int flag; + while ((flag = getopt(argc, argv, "hc:")) != -1) { + switch (flag) { + case 'c': + config_path = std::string(optarg); + break; + case 'h': + printUsage(argv[0]); + return 0; + default: + printUsage(argv[0]); + return 1; + } + } + std::string dir_prefix = std::string(MODEL_PARAMS_DIR) + "/alexnet_imagenet/"; std::string input_path = dir_prefix + std::string("test_input.bin"); std::string labels_path = dir_prefix + std::string("test_labels.bin"); @@ -553,6 +573,14 @@ int main() { args->dense_3_b_bytes = 0; __hpvm__init(); + if (config_path != "") { + llvm_hpvm_initializeRuntimeController(config_path.c_str()); + } + + if (config_path != "") { + llvm_hpvm_initializeRuntimeController(config_path.c_str()); + } + float total_accuracy = 0; startMemTracking(); #pragma clang loop unroll(disable) diff --git a/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/lenet_mnist/lenet_mnist.cpp b/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/lenet_mnist/lenet_mnist.cpp index ee81665ec94a4c9cc634c16bdda5bbea96e120df..63d8bd1cc735f9d9dbfd52ac4ec56aebbb06ceeb 100644 --- a/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/lenet_mnist/lenet_mnist.cpp +++ b/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/lenet_mnist/lenet_mnist.cpp @@ -258,10 +258,30 @@ typedef struct __attribute__((__packed__)) { struct ret_t r; } RootIn; +void printUsage(const std::string &bin_name) { + std::cerr << "Usage: " << bin_name << " [-c CONF_FILE]\n"; +} + const int batch_size = 1000, input_size = 5000, batch_count = input_size / batch_size; -int main() { +int main(int argc, char *argv[]) { + std::string config_path = ""; + int flag; + while ((flag = getopt(argc, argv, "hc:")) != -1) { + switch (flag) { + case 'c': + config_path = std::string(optarg); + break; + case 'h': + printUsage(argv[0]); + return 0; + default: + printUsage(argv[0]); + return 1; + } + } + std::string dir_prefix = std::string(MODEL_PARAMS_DIR) + "/lenet_mnist/"; std::string input_path = dir_prefix + std::string("test_input.bin"); std::string labels_path = dir_prefix + std::string("test_labels.bin"); @@ -311,6 +331,14 @@ int main() { args->dense_2_b_bytes = 0; __hpvm__init(); + if (config_path != "") { + llvm_hpvm_initializeRuntimeController(config_path.c_str()); + } + + if (config_path != "") { + llvm_hpvm_initializeRuntimeController(config_path.c_str()); + } + startMemTracking(); #pragma clang loop unroll(disable) for (int i = 0; i < batch_count; i++) { diff --git a/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/lenet_mnist/lenet_mnist_cudnn.cpp b/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/lenet_mnist/lenet_mnist_cudnn.cpp index eecc7f5d60cf63b10ea5af098156a0dfa2890f80..558e7effa1cf0d3395e9fc21b26441210a15b033 100644 --- a/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/lenet_mnist/lenet_mnist_cudnn.cpp +++ b/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/lenet_mnist/lenet_mnist_cudnn.cpp @@ -263,10 +263,30 @@ void write_accuracy(float accuracy) { fout << std::fixed << accuracy; } +void printUsage(const std::string &bin_name) { + std::cerr << "Usage: " << bin_name << " [-c CONF_FILE]\n"; +} + const int batch_size = 1000, input_size = 5000, batch_count = input_size / batch_size; -int main() { +int main(int argc, char *argv[]) { + std::string config_path = ""; + int flag; + while ((flag = getopt(argc, argv, "hc:")) != -1) { + switch (flag) { + case 'c': + config_path = std::string(optarg); + break; + case 'h': + printUsage(argv[0]); + return 0; + default: + printUsage(argv[0]); + return 1; + } + } + std::string dir_prefix = std::string(MODEL_PARAMS_DIR) + "/lenet_mnist/"; std::string input_path = dir_prefix + std::string("test_input.bin"); std::string labels_path = dir_prefix + std::string("test_labels.bin"); @@ -316,6 +336,14 @@ int main() { args->dense_2_b_bytes = 0; __hpvm__init(); + if (config_path != "") { + llvm_hpvm_initializeRuntimeController(config_path.c_str()); + } + + if (config_path != "") { + llvm_hpvm_initializeRuntimeController(config_path.c_str()); + } + float total_accuracy = 0; startMemTracking(); #pragma clang loop unroll(disable) diff --git a/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/mobilenet_cifar10/mobilenet_cifar10.cpp b/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/mobilenet_cifar10/mobilenet_cifar10.cpp index 58051e0993e8b8893a398eee3a0358556a18c2f4..fc7835dedd4967a1fd03b3f878b944173974dd21 100644 --- a/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/mobilenet_cifar10/mobilenet_cifar10.cpp +++ b/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/mobilenet_cifar10/mobilenet_cifar10.cpp @@ -1959,10 +1959,30 @@ typedef struct __attribute__((__packed__)) { struct ret_t r; } RootIn; +void printUsage(const std::string &bin_name) { + std::cerr << "Usage: " << bin_name << " [-c CONF_FILE]\n"; +} + const int batch_size = 500, input_size = 5000, batch_count = input_size / batch_size; -int main() { +int main(int argc, char *argv[]) { + std::string config_path = ""; + int flag; + while ((flag = getopt(argc, argv, "hc:")) != -1) { + switch (flag) { + case 'c': + config_path = std::string(optarg); + break; + case 'h': + printUsage(argv[0]); + return 0; + default: + printUsage(argv[0]); + return 1; + } + } + std::string dir_prefix = std::string(MODEL_PARAMS_DIR) + "/mobilenet_cifar10/"; @@ -2780,6 +2800,14 @@ int main() { args->dense_1_b_bytes = 0; __hpvm__init(); + if (config_path != "") { + llvm_hpvm_initializeRuntimeController(config_path.c_str()); + } + + if (config_path != "") { + llvm_hpvm_initializeRuntimeController(config_path.c_str()); + } + startMemTracking(); #pragma clang loop unroll(disable) for (int i = 0; i < batch_count; i++) { diff --git a/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/mobilenet_cifar10/mobilenet_cifar10_cudnn.cpp b/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/mobilenet_cifar10/mobilenet_cifar10_cudnn.cpp index 482a37d4c4be22eda1079b0a900c762fdb4d1001..70083420c2af4eacee3f8e68b6a96b63c75563ba 100644 --- a/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/mobilenet_cifar10/mobilenet_cifar10_cudnn.cpp +++ b/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/mobilenet_cifar10/mobilenet_cifar10_cudnn.cpp @@ -1964,10 +1964,30 @@ void write_accuracy(float accuracy) { fout << std::fixed << accuracy; } +void printUsage(const std::string &bin_name) { + std::cerr << "Usage: " << bin_name << " [-c CONF_FILE]\n"; +} + const int batch_size = 500, input_size = 5000, batch_count = input_size / batch_size; -int main() { +int main(int argc, char *argv[]) { + std::string config_path = ""; + int flag; + while ((flag = getopt(argc, argv, "hc:")) != -1) { + switch (flag) { + case 'c': + config_path = std::string(optarg); + break; + case 'h': + printUsage(argv[0]); + return 0; + default: + printUsage(argv[0]); + return 1; + } + } + std::string dir_prefix = std::string(MODEL_PARAMS_DIR) + "/mobilenet_cifar10/"; std::string input_path = dir_prefix + std::string("test_input.bin"); @@ -2785,6 +2805,14 @@ int main() { args->dense_1_b_bytes = 0; __hpvm__init(); + if (config_path != "") { + llvm_hpvm_initializeRuntimeController(config_path.c_str()); + } + + if (config_path != "") { + llvm_hpvm_initializeRuntimeController(config_path.c_str()); + } + float total_accuracy = 0; startMemTracking(); #pragma clang loop unroll(disable) diff --git a/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/resnet18_cifar10/resnet18_cifar10.cpp b/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/resnet18_cifar10/resnet18_cifar10.cpp index a254a625709f13ec08b403c26eac126a09df6daa..4aa288f18e4720ab22de1ead1b91115689cdba8b 100644 --- a/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/resnet18_cifar10/resnet18_cifar10.cpp +++ b/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/resnet18_cifar10/resnet18_cifar10.cpp @@ -1294,10 +1294,30 @@ typedef struct __attribute__((__packed__)) { struct ret_t r; } RootIn; +void printUsage(const std::string &bin_name) { + std::cerr << "Usage: " << bin_name << " [-c CONF_FILE]\n"; +} + const int batch_size = 500, input_size = 5000, batch_count = input_size / batch_size; -int main() { +int main(int argc, char *argv[]) { + std::string config_path = ""; + int flag; + while ((flag = getopt(argc, argv, "hc:")) != -1) { + switch (flag) { + case 'c': + config_path = std::string(optarg); + break; + case 'h': + printUsage(argv[0]); + return 0; + default: + printUsage(argv[0]); + return 1; + } + } + std::string dir_prefix = std::string(MODEL_PARAMS_DIR) + "/resnet18_cifar10/"; std::string input_path = dir_prefix + std::string("test_input.bin"); std::string labels_path = dir_prefix + std::string("test_labels.bin"); @@ -1526,6 +1546,14 @@ int main() { args->dense_1_b_bytes = 0; __hpvm__init(); + if (config_path != "") { + llvm_hpvm_initializeRuntimeController(config_path.c_str()); + } + + if (config_path != "") { + llvm_hpvm_initializeRuntimeController(config_path.c_str()); + } + startMemTracking(); #pragma clang loop unroll(disable) for (int i = 0; i < batch_count; i++) { diff --git a/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/resnet18_cifar10/resnet18_cifar10_cudnn.cpp b/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/resnet18_cifar10/resnet18_cifar10_cudnn.cpp index da1ce91ba3fdb4dc7d74e6b854dad7fc1c2d412e..064834b707300962250040a29c0dccfb801f8412 100644 --- a/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/resnet18_cifar10/resnet18_cifar10_cudnn.cpp +++ b/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/resnet18_cifar10/resnet18_cifar10_cudnn.cpp @@ -1225,10 +1225,30 @@ void write_accuracy(float accuracy) { fout << std::fixed << accuracy; } +void printUsage(const std::string &bin_name) { + std::cerr << "Usage: " << bin_name << " [-c CONF_FILE]\n"; +} + const int batch_size = 500, input_size = 5000, batch_count = input_size / batch_size; -int main() { +int main(int argc, char *argv[]) { + std::string config_path = ""; + int flag; + while ((flag = getopt(argc, argv, "hc:")) != -1) { + switch (flag) { + case 'c': + config_path = std::string(optarg); + break; + case 'h': + printUsage(argv[0]); + return 0; + default: + printUsage(argv[0]); + return 1; + } + } + std::string dir_prefix = std::string(MODEL_PARAMS_DIR) + "/resnet18_cifar10/"; std::string input_path = dir_prefix + std::string("test_input.bin"); std::string labels_path = dir_prefix + std::string("test_labels.bin"); @@ -1458,6 +1478,14 @@ int main() { args->dense_1_b_bytes = 0; __hpvm__init(); + if (config_path != "") { + llvm_hpvm_initializeRuntimeController(config_path.c_str()); + } + + if (config_path != "") { + llvm_hpvm_initializeRuntimeController(config_path.c_str()); + } + float total_accuracy = 0; startMemTracking(); #pragma clang loop unroll(disable) diff --git a/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/resnet50_imagenet/resnet50_imagenet.cpp b/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/resnet50_imagenet/resnet50_imagenet.cpp index a3ece5fedec57a73537d870199b6b4270b541b42..28447c6b401c90baf06de3bd8e7f77503623b6d9 100644 --- a/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/resnet50_imagenet/resnet50_imagenet.cpp +++ b/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/resnet50_imagenet/resnet50_imagenet.cpp @@ -5126,10 +5126,30 @@ typedef struct __attribute__((__packed__)) { struct ret_t r; } RootIn; +void printUsage(const std::string &bin_name) { + std::cerr << "Usage: " << bin_name << " [-c CONF_FILE]\n"; +} + const int batch_size = 25, input_size = 5000, batch_count = input_size / batch_size; -int main() { +int main(int argc, char *argv[]) { + std::string config_path = ""; + int flag; + while ((flag = getopt(argc, argv, "hc:")) != -1) { + switch (flag) { + case 'c': + config_path = std::string(optarg); + break; + case 'h': + printUsage(argv[0]); + return 0; + default: + printUsage(argv[0]); + return 1; + } + } + std::string dir_prefix = std::string(MODEL_PARAMS_DIR) + "/resnet50_imagenet/"; std::string input_path = dir_prefix + std::string("test_input.bin"); @@ -6953,6 +6973,14 @@ int main() { args->dense_1_b_bytes = 0; __hpvm__init(); + if (config_path != "") { + llvm_hpvm_initializeRuntimeController(config_path.c_str()); + } + + if (config_path != "") { + llvm_hpvm_initializeRuntimeController(config_path.c_str()); + } + startMemTracking(); #pragma clang loop unroll(disable) for (int i = 0; i < batch_count; i++) { diff --git a/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/resnet50_imagenet/resnet50_imagenet_cudnn.cpp b/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/resnet50_imagenet/resnet50_imagenet_cudnn.cpp index 03674b50a5b6b9dcde87fd1e32b0520362ca8ca3..1f2903754dd8ed52302990aa05af2fad0e09dabc 100644 --- a/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/resnet50_imagenet/resnet50_imagenet_cudnn.cpp +++ b/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/resnet50_imagenet/resnet50_imagenet_cudnn.cpp @@ -4902,10 +4902,30 @@ void write_accuracy(float accuracy) { fout << std::fixed << accuracy; } +void printUsage(const std::string &bin_name) { + std::cerr << "Usage: " << bin_name << " [-c CONF_FILE]\n"; +} + const int batch_size = 50, input_size = 5000, batch_count = input_size / batch_size; -int main() { +int main(int argc, char *argv[]) { + std::string config_path = ""; + int flag; + while ((flag = getopt(argc, argv, "hc:")) != -1) { + switch (flag) { + case 'c': + config_path = std::string(optarg); + break; + case 'h': + printUsage(argv[0]); + return 0; + default: + printUsage(argv[0]); + return 1; + } + } + std::string dir_prefix = std::string(MODEL_PARAMS_DIR) + "/resnet50_imagenet/"; std::string input_path = dir_prefix + std::string("test_input.bin"); @@ -6730,6 +6750,14 @@ int main() { args->dense_1_b_bytes = 0; __hpvm__init(); + if (config_path != "") { + llvm_hpvm_initializeRuntimeController(config_path.c_str()); + } + + if (config_path != "") { + llvm_hpvm_initializeRuntimeController(config_path.c_str()); + } + float total_accuracy = 0; startMemTracking(); #pragma clang loop unroll(disable) diff --git a/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/vgg16_cifar10/vgg16_cifar10.cpp b/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/vgg16_cifar10/vgg16_cifar10.cpp index cad22649fdfe4fd6271f5202aa524cea2f3f1383..3651eb176ea947882569cb5409706989289d103c 100644 --- a/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/vgg16_cifar10/vgg16_cifar10.cpp +++ b/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/vgg16_cifar10/vgg16_cifar10.cpp @@ -821,10 +821,30 @@ typedef struct __attribute__((__packed__)) { struct ret_t r; } RootIn; +void printUsage(const std::string &bin_name) { + std::cerr << "Usage: " << bin_name << " [-c CONF_FILE]\n"; +} + const int batch_size = 500, input_size = 5000, batch_count = input_size / batch_size; -int main() { +int main(int argc, char *argv[]) { + std::string config_path = ""; + int flag; + while ((flag = getopt(argc, argv, "hc:")) != -1) { + switch (flag) { + case 'c': + config_path = std::string(optarg); + break; + case 'h': + printUsage(argv[0]); + return 0; + default: + printUsage(argv[0]); + return 1; + } + } + std::string dir_prefix = std::string(MODEL_PARAMS_DIR) + "/vgg16_cifar10/"; std::string input_path = dir_prefix + std::string("test_input.bin"); std::string labels_path = dir_prefix + std::string("test_labels.bin"); @@ -983,6 +1003,14 @@ int main() { args->dense_2_b_bytes = 0; __hpvm__init(); + if (config_path != "") { + llvm_hpvm_initializeRuntimeController(config_path.c_str()); + } + + if (config_path != "") { + llvm_hpvm_initializeRuntimeController(config_path.c_str()); + } + startMemTracking(); #pragma clang loop unroll(disable) for (int i = 0; i < batch_count; i++) { diff --git a/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/vgg16_cifar10/vgg16_cifar10_cudnn.cpp b/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/vgg16_cifar10/vgg16_cifar10_cudnn.cpp index 662520282892f852fd8f634061cc0f6f72e465f9..f2f6557614fceb32f205287cd1490fbad3ed004a 100644 --- a/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/vgg16_cifar10/vgg16_cifar10_cudnn.cpp +++ b/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/vgg16_cifar10/vgg16_cifar10_cudnn.cpp @@ -826,10 +826,30 @@ void write_accuracy(float accuracy) { fout << std::fixed << accuracy; } +void printUsage(const std::string &bin_name) { + std::cerr << "Usage: " << bin_name << " [-c CONF_FILE]\n"; +} + const int batch_size = 500, input_size = 5000, batch_count = input_size / batch_size; -int main() { +int main(int argc, char *argv[]) { + std::string config_path = ""; + int flag; + while ((flag = getopt(argc, argv, "hc:")) != -1) { + switch (flag) { + case 'c': + config_path = std::string(optarg); + break; + case 'h': + printUsage(argv[0]); + return 0; + default: + printUsage(argv[0]); + return 1; + } + } + std::string dir_prefix = std::string(MODEL_PARAMS_DIR) + "/vgg16_cifar10/"; std::string input_path = dir_prefix + std::string("test_input.bin"); std::string labels_path = dir_prefix + std::string("test_labels.bin"); @@ -989,6 +1009,14 @@ int main() { args->dense_2_b_bytes = 0; __hpvm__init(); + if (config_path != "") { + llvm_hpvm_initializeRuntimeController(config_path.c_str()); + } + + if (config_path != "") { + llvm_hpvm_initializeRuntimeController(config_path.c_str()); + } + float total_accuracy = 0; startMemTracking(); #pragma clang loop unroll(disable) diff --git a/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/vgg16_cifar100/vgg16_cifar100.cpp b/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/vgg16_cifar100/vgg16_cifar100.cpp index 54417171fbcda003e27d7662a11f35499f7c0cc8..2315433e100db05ef6f2a209ba41d22aeac3f656 100644 --- a/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/vgg16_cifar100/vgg16_cifar100.cpp +++ b/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/vgg16_cifar100/vgg16_cifar100.cpp @@ -821,10 +821,30 @@ typedef struct __attribute__((__packed__)) { struct ret_t r; } RootIn; +void printUsage(const std::string &bin_name) { + std::cerr << "Usage: " << bin_name << " [-c CONF_FILE]\n"; +} + const int batch_size = 500, input_size = 5000, batch_count = input_size / batch_size; -int main() { +int main(int argc, char *argv[]) { + std::string config_path = ""; + int flag; + while ((flag = getopt(argc, argv, "hc:")) != -1) { + switch (flag) { + case 'c': + config_path = std::string(optarg); + break; + case 'h': + printUsage(argv[0]); + return 0; + default: + printUsage(argv[0]); + return 1; + } + } + std::string dir_prefix = std::string(MODEL_PARAMS_DIR) + "/vgg16_cifar100/"; std::string input_path = dir_prefix + std::string("test_input.bin"); std::string labels_path = dir_prefix + std::string("test_labels.bin"); @@ -983,6 +1003,14 @@ int main() { args->dense_2_b_bytes = 0; __hpvm__init(); + if (config_path != "") { + llvm_hpvm_initializeRuntimeController(config_path.c_str()); + } + + if (config_path != "") { + llvm_hpvm_initializeRuntimeController(config_path.c_str()); + } + startMemTracking(); #pragma clang loop unroll(disable) for (int i = 0; i < batch_count; i++) { diff --git a/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/vgg16_cifar100/vgg16_cifar100_cudnn.cpp b/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/vgg16_cifar100/vgg16_cifar100_cudnn.cpp index 9f989e361051a8623657d11224cbb898f061032e..6d5957bb5318694bacfe51ecfbb76436a5d310bd 100644 --- a/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/vgg16_cifar100/vgg16_cifar100_cudnn.cpp +++ b/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/vgg16_cifar100/vgg16_cifar100_cudnn.cpp @@ -826,10 +826,30 @@ void write_accuracy(float accuracy) { fout << std::fixed << accuracy; } +void printUsage(const std::string &bin_name) { + std::cerr << "Usage: " << bin_name << " [-c CONF_FILE]\n"; +} + const int batch_size = 500, input_size = 5000, batch_count = input_size / batch_size; -int main() { +int main(int argc, char *argv[]) { + std::string config_path = ""; + int flag; + while ((flag = getopt(argc, argv, "hc:")) != -1) { + switch (flag) { + case 'c': + config_path = std::string(optarg); + break; + case 'h': + printUsage(argv[0]); + return 0; + default: + printUsage(argv[0]); + return 1; + } + } + std::string dir_prefix = std::string(MODEL_PARAMS_DIR) + "/vgg16_cifar100/"; std::string input_path = dir_prefix + std::string("test_input.bin"); std::string labels_path = dir_prefix + std::string("test_labels.bin"); @@ -988,6 +1008,14 @@ int main() { args->dense_2_b_bytes = 0; __hpvm__init(); + if (config_path != "") { + llvm_hpvm_initializeRuntimeController(config_path.c_str()); + } + + if (config_path != "") { + llvm_hpvm_initializeRuntimeController(config_path.c_str()); + } + float total_accuracy = 0; startMemTracking(); #pragma clang loop unroll(disable) diff --git a/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/vgg16_imagenet/vgg16_imagenet.cpp b/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/vgg16_imagenet/vgg16_imagenet.cpp index 12f7870a152d8f42fa01b90429bc1102059861ae..7a9534b7fed94cfd6652bd9a972767dd0ba76bfe 100644 --- a/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/vgg16_imagenet/vgg16_imagenet.cpp +++ b/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/vgg16_imagenet/vgg16_imagenet.cpp @@ -869,10 +869,30 @@ typedef struct __attribute__((__packed__)) { struct ret_t r; } RootIn; +void printUsage(const std::string &bin_name) { + std::cerr << "Usage: " << bin_name << " [-c CONF_FILE]\n"; +} + const int batch_size = 10, input_size = 5000, batch_count = input_size / batch_size; -int main() { +int main(int argc, char *argv[]) { + std::string config_path = ""; + int flag; + while ((flag = getopt(argc, argv, "hc:")) != -1) { + switch (flag) { + case 'c': + config_path = std::string(optarg); + break; + case 'h': + printUsage(argv[0]); + return 0; + default: + printUsage(argv[0]); + return 1; + } + } + std::string dir_prefix = std::string(MODEL_PARAMS_DIR) + "/vgg16_imagenet/"; std::string input_path = dir_prefix + std::string("test_input.bin"); std::string labels_path = dir_prefix + std::string("test_labels.bin"); @@ -1043,6 +1063,14 @@ int main() { args->dense_3_b_bytes = 0; __hpvm__init(); + if (config_path != "") { + llvm_hpvm_initializeRuntimeController(config_path.c_str()); + } + + if (config_path != "") { + llvm_hpvm_initializeRuntimeController(config_path.c_str()); + } + startMemTracking(); #pragma clang loop unroll(disable) for (int i = 0; i < batch_count; i++) { diff --git a/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/vgg16_imagenet/vgg16_imagenet_cudnn.cpp b/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/vgg16_imagenet/vgg16_imagenet_cudnn.cpp index 189460c928d65ed989201dc715df5cbe0ccd5bde..40bac1f901985099dd73103f9a6589a862b84ade 100644 --- a/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/vgg16_imagenet/vgg16_imagenet_cudnn.cpp +++ b/hpvm/test/dnn_benchmarks/hpvm-c/benchmarks/vgg16_imagenet/vgg16_imagenet_cudnn.cpp @@ -874,10 +874,30 @@ void write_accuracy(float accuracy) { fout << std::fixed << accuracy; } +void printUsage(const std::string &bin_name) { + std::cerr << "Usage: " << bin_name << " [-c CONF_FILE]\n"; +} + const int batch_size = 25, input_size = 5000, batch_count = input_size / batch_size; -int main() { +int main(int argc, char *argv[]) { + std::string config_path = ""; + int flag; + while ((flag = getopt(argc, argv, "hc:")) != -1) { + switch (flag) { + case 'c': + config_path = std::string(optarg); + break; + case 'h': + printUsage(argv[0]); + return 0; + default: + printUsage(argv[0]); + return 1; + } + } + std::string dir_prefix = std::string(MODEL_PARAMS_DIR) + "/vgg16_imagenet/"; std::string input_path = dir_prefix + std::string("test_input.bin"); std::string labels_path = dir_prefix + std::string("test_labels.bin"); @@ -1049,6 +1069,14 @@ int main() { args->dense_3_b_bytes = 0; __hpvm__init(); + if (config_path != "") { + llvm_hpvm_initializeRuntimeController(config_path.c_str()); + } + + if (config_path != "") { + llvm_hpvm_initializeRuntimeController(config_path.c_str()); + } + float total_accuracy = 0; startMemTracking(); #pragma clang loop unroll(disable)