From 643387cc27d9a3d71abffc1507902911081ec0a9 Mon Sep 17 00:00:00 2001 From: Prakalp Srivastava <psrivas2@illinois.edu> Date: Fri, 11 Mar 2016 16:14:43 -0600 Subject: [PATCH] Fixed bugs in reading command line args in tpacf opencl versions --- .../benchmarks/tpacf/src/opencl_base/main.cc | 19 +++++++++++------- .../tpacf/src/opencl_nvidia/main.cc | 20 ++++++++++++------- 2 files changed, 25 insertions(+), 14 deletions(-) diff --git a/llvm/test/VISC/parboil/benchmarks/tpacf/src/opencl_base/main.cc b/llvm/test/VISC/parboil/benchmarks/tpacf/src/opencl_base/main.cc index ce3484dd5f..d080a28db3 100644 --- a/llvm/test/VISC/parboil/benchmarks/tpacf/src/opencl_base/main.cc +++ b/llvm/test/VISC/parboil/benchmarks/tpacf/src/opencl_base/main.cc @@ -65,10 +65,8 @@ int main( int argc, char** argv) { struct pb_TimerSet timers; - struct pb_Parameters *params; pb_InitializeTimerSet( &timers ); - params = pb_ReadParameters( &argc, argv ); options args; parse_args(argc, argv, &args); @@ -83,6 +81,8 @@ main( int argc, char** argv) printf("Max distance: %f arcmin\n", max_arcmin); printf("Bins per dec: %i\n", bins_per_dec); printf("Total bins : %i\n", NUM_BINS); + printf("Total elements : %i\n", NUM_ELEMENTS); + printf("Total sets : %i\n", NUM_SETS); //read in files unsigned mem_size = (1+NUM_SETS)*num_elements*sizeof(struct cartesian); @@ -98,7 +98,8 @@ main( int argc, char** argv) // go through and read all data and random points into h_all_data pb_SwitchToTimer( &timers, pb_TimerID_IO ); - readdatafile(params->inpFiles[0], working, num_elements); + strcat(args.data_name, ".1"); + readdatafile(args.data_name, working, num_elements); pb_SwitchToTimer( &timers, pb_TimerID_COMPUTE ); working += num_elements; @@ -106,7 +107,12 @@ main( int argc, char** argv) { pb_SwitchToTimer( &timers, pb_TimerID_IO ); char fileName[50]; - readdatafile(params->inpFiles[i+1], working, num_elements); + char suffix[10]; + sprintf(suffix, ".%d", i+1); + strcpy(fileName, args.random_name); + strcat(fileName, suffix); + //printf("Read random data from: %s\n", fileName); + readdatafile(fileName, working, num_elements); pb_SwitchToTimer( &timers, pb_TimerID_COMPUTE ); working += num_elements; @@ -235,10 +241,10 @@ main( int argc, char** argv) } FILE *outfile; - if ((outfile = fopen(params->outFile, "w")) == NULL) + if ((outfile = fopen(args.output_name, "w")) == NULL) { fprintf(stderr, "Unable to open output file %s for writing, " - "assuming stdout\n", params->outFile); + "assuming stdout\n", args.output_name); outfile = stdout; } @@ -271,6 +277,5 @@ main( int argc, char** argv) pb_SwitchToTimer(&timers, pb_TimerID_NONE); pb_PrintTimerSet(&timers); - pb_FreeParameters(params); } diff --git a/llvm/test/VISC/parboil/benchmarks/tpacf/src/opencl_nvidia/main.cc b/llvm/test/VISC/parboil/benchmarks/tpacf/src/opencl_nvidia/main.cc index 36e879c527..c931d9e8f3 100644 --- a/llvm/test/VISC/parboil/benchmarks/tpacf/src/opencl_nvidia/main.cc +++ b/llvm/test/VISC/parboil/benchmarks/tpacf/src/opencl_nvidia/main.cc @@ -65,10 +65,8 @@ int main( int argc, char** argv) { struct pb_TimerSet timers; - struct pb_Parameters *params; pb_InitializeTimerSet( &timers ); - params = pb_ReadParameters( &argc, argv ); options args; parse_args(argc, argv, &args); @@ -83,6 +81,8 @@ main( int argc, char** argv) printf("Max distance: %f arcmin\n", max_arcmin); printf("Bins per dec: %i\n", bins_per_dec); printf("Total bins : %i\n", NUM_BINS); + printf("Total elements : %i\n", NUM_ELEMENTS); + printf("Total sets : %i\n", NUM_SETS); //read in files unsigned mem_size = (1+NUM_SETS)*num_elements*sizeof(struct cartesian); @@ -98,7 +98,8 @@ main( int argc, char** argv) // go through and read all data and random points into h_all_data pb_SwitchToTimer( &timers, pb_TimerID_IO ); - readdatafile(params->inpFiles[0], working, num_elements); + strcat(args.data_name, ".1"); + readdatafile(args.data_name, working, num_elements); pb_SwitchToTimer( &timers, pb_TimerID_COMPUTE ); working += num_elements; @@ -106,13 +107,19 @@ main( int argc, char** argv) { pb_SwitchToTimer( &timers, pb_TimerID_IO ); char fileName[50]; - readdatafile(params->inpFiles[i+1], working, num_elements); + char suffix[10]; + sprintf(suffix, ".%d", i+1); + strcpy(fileName, args.random_name); + strcat(fileName, suffix); + //printf("Read random data from: %s\n", fileName); + readdatafile(fileName, working, num_elements); pb_SwitchToTimer( &timers, pb_TimerID_COMPUTE ); working += num_elements; } // split into x, y, and z arrays + // AOS to SOA transformation float * h_x_data = (float*) malloc (3*f_mem_size); float * h_y_data = h_x_data + NUM_ELEMENTS*(NUM_SETS+1); float * h_z_data = h_y_data + NUM_ELEMENTS*(NUM_SETS+1); @@ -235,10 +242,10 @@ main( int argc, char** argv) } FILE *outfile; - if ((outfile = fopen(params->outFile, "w")) == NULL) + if ((outfile = fopen(args.output_name, "w")) == NULL) { fprintf(stderr, "Unable to open output file %s for writing, " - "assuming stdout\n", params->outFile); + "assuming stdout\n", args.output_name); outfile = stdout; } @@ -271,6 +278,5 @@ main( int argc, char** argv) pb_SwitchToTimer(&timers, pb_TimerID_NONE); pb_PrintTimerSet(&timers); - pb_FreeParameters(params); } -- GitLab