From 637c1c3c28ec57af6e0da72c6a9fff48c3c8b4ea Mon Sep 17 00:00:00 2001 From: Prakalp Srivastava <prakalps@gmail.com> Date: Mon, 20 Jul 2015 14:18:01 -0500 Subject: [PATCH] Fixed writing output to file in opencl version --- .../benchmarks/kmeans/src/opencl/read_input.c | 3 +-- .../parboil/benchmarks/kmeans/tools/compare-output | 14 +++++++------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/llvm/test/VISC/parboil/benchmarks/kmeans/src/opencl/read_input.c b/llvm/test/VISC/parboil/benchmarks/kmeans/src/opencl/read_input.c index e29032cc9c..018eb77ccf 100644 --- a/llvm/test/VISC/parboil/benchmarks/kmeans/src/opencl/read_input.c +++ b/llvm/test/VISC/parboil/benchmarks/kmeans/src/opencl/read_input.c @@ -278,7 +278,7 @@ int setup(int argc, char **argv) { } fwrite(&max_nclusters, sizeof(int), 1, outfile); fwrite(&nfeatures, sizeof(int), 1, outfile); - fwrite(cluster_centres, sizeof(float), max_nclusters*nfeatures, outfile); + fwrite(&cluster_centres[0][0], sizeof(float), max_nclusters*nfeatures, outfile); fclose(outfile); //printf("\n================= Centroid Coordinates =================\n"); //for(i = 0; i < max_nclusters; i++) { @@ -292,7 +292,6 @@ int setup(int argc, char **argv) { len = (float) ((max_nclusters - min_nclusters + 1)*nloops); - printf("Number of Iteration: %d\n", nloops); //printf("Time for I/O: %.5fsec\n", io_timing); //printf("Time for Entire Clustering: %.5fsec\n", cluster_timing); diff --git a/llvm/test/VISC/parboil/benchmarks/kmeans/tools/compare-output b/llvm/test/VISC/parboil/benchmarks/kmeans/tools/compare-output index bec108bbc3..54e9f69609 100755 --- a/llvm/test/VISC/parboil/benchmarks/kmeans/tools/compare-output +++ b/llvm/test/VISC/parboil/benchmarks/kmeans/tools/compare-output @@ -33,7 +33,7 @@ def Run(): fy = struct.unpack("i", dy[4:8])[0] except: Exit(False) - + data_r = hx.read() data_c = hy.read() @@ -50,13 +50,13 @@ def Run(): print "Compare: sanity check failed" Exit(False) - for i in range(0, lx*fx*4, 4): - r = struct.unpack('f', data_r[i:i+4])[0] - c = struct.unpack('f', data_c[i:i+4])[0] + r = struct.unpack('<'+'f'*(lx*fx), data_r) + c = struct.unpack('<'+'f'*(lx*fx), data_c) + for i in range(0, lx*fx): - diff = abs(r - c) - if not (diff <= tol_diff or diff < tol_ratio * abs(r)): - print r, c, "at" , (i/4)/fx, (i/4)%fx + diff = abs(r[i] - c[i]) + if not (diff <= tol_diff or diff < tol_ratio * abs(r[i])): + print i/fx, i%fx, ":" , r[i] , c[i] Exit(False) Exit(True) -- GitLab