diff --git a/llvm/test/VISC/parboil/benchmarks/sgemm/src/opencl_base/main.cc b/llvm/test/VISC/parboil/benchmarks/sgemm/src/opencl_base/main.cc index 6360dfb6433c8ff93b5eea70d24221b74ca7d1e9..4d199149e29953b834253881faa60202fa29a7fb 100644 --- a/llvm/test/VISC/parboil/benchmarks/sgemm/src/opencl_base/main.cc +++ b/llvm/test/VISC/parboil/benchmarks/sgemm/src/opencl_base/main.cc @@ -102,6 +102,7 @@ int main (int argc, char *argv[]) { exit(-1); } + pb_SwitchToTimer(&timers, visc_TimerID_SETUP); cl_int clStatus; cl_platform_id clPlatform; clStatus = clGetPlatformIDs(1,&clPlatform,NULL); @@ -139,14 +140,13 @@ int main (int argc, char *argv[]) { // load A readColMajorMatrixFile(params->inpFiles[0], matArow, matAcol, matA); - // copy A to device memory - A_sz = matArow*matAcol*sizeof(float); - // load B^T readColMajorMatrixFile(params->inpFiles[2], matBcol, matBrow, matBT); pb_SwitchToTimer( &timers, pb_TimerID_COMPUTE ); + // copy A to device memory + A_sz = matArow*matAcol*sizeof(float); B_sz = matBrow*matBcol*sizeof(float); // allocate space for C @@ -154,6 +154,8 @@ int main (int argc, char *argv[]) { // OpenCL memory allocation std::vector<float> matC(matArow*matBcol); + + pb_SwitchToTimer( &timers, pb_TimerID_COPY ); cl_mem dA = clCreateBuffer(clContext,CL_MEM_READ_ONLY,A_sz,NULL,&clStatus); CHECK_ERROR("clCreateBuffer") cl_mem dB = clCreateBuffer(clContext,CL_MEM_READ_ONLY,B_sz,NULL,&clStatus); @@ -174,6 +176,7 @@ int main (int argc, char *argv[]) { clStatus = clEnqueueWriteBuffer(clCommandQueue,dC,CL_TRUE,0,C_sz,&matC.front(),0,NULL,NULL); CHECK_ERROR("clEnqueueWriteBuffer") + pb_SwitchToTimer( &timers, pb_TimerID_COMPUTE ); pb_SwitchToTimer( &timers, pb_TimerID_KERNEL ); // Use standard sgemm interface diff --git a/llvm/test/VISC/parboil/benchmarks/sgemm/src/visc/main.cc b/llvm/test/VISC/parboil/benchmarks/sgemm/src/visc/main.cc index 81d791568b45f1f2befc7c0636ee239a98928621..23d89aeb1626ce25bf387d9f17125e4d203dbbb0 100644 --- a/llvm/test/VISC/parboil/benchmarks/sgemm/src/visc/main.cc +++ b/llvm/test/VISC/parboil/benchmarks/sgemm/src/visc/main.cc @@ -108,14 +108,14 @@ int main (int argc, char *argv[]) { // load A readColMajorMatrixFile(params->inpFiles[0], matArow, matAcol, matA); - // copy A to device memory - A_sz = matArow*matAcol*sizeof(float); // load B^T readColMajorMatrixFile(params->inpFiles[2], matBcol, matBrow, matBT); pb_SwitchToTimer( &timers, pb_TimerID_COMPUTE ); + // copy A to device memory + A_sz = matArow*matAcol*sizeof(float); B_sz = matBrow*matBcol*sizeof(float); // allocate space for C @@ -133,7 +133,7 @@ int main (int argc, char *argv[]) { for(size_t i=0; i<matC.size(); i++) matC[i] = 0.0f; - pb_SwitchToTimer( &timers, pb_TimerID_KERNEL ); + pb_SwitchToTimer( &timers, pb_TimerID_NONE ); // Use standard sgemm interface basicSgemm('N', 'T', matArow, matBcol, matAcol, 1.0f, \ @@ -149,6 +149,7 @@ int main (int argc, char *argv[]) { matArow, matBcol, matC); } + pb_SwitchToTimer( &timers, visc_TimerID_MEM_UNTRACK ); llvm_visc_untrack_mem(&matA.front()); llvm_visc_untrack_mem(&matBT.front()); llvm_visc_untrack_mem(&matC.front()); diff --git a/llvm/test/VISC/parboil/benchmarks/spmv/src/visc/main.c b/llvm/test/VISC/parboil/benchmarks/spmv/src/visc/main.c index 78cef8f7af9fc73944add96b31b2f1af32e3cff6..cf153ac4d47cb09f51b18d1b484e4d778a1ea88f 100644 --- a/llvm/test/VISC/parboil/benchmarks/spmv/src/visc/main.c +++ b/llvm/test/VISC/parboil/benchmarks/spmv/src/visc/main.c @@ -99,7 +99,6 @@ void spmv_jds(float *dst_vector, float *d_data, } int main(int argc, char** argv) { - __visc__init(); struct pb_TimerSet timers; struct pb_Parameters *parameters; @@ -114,6 +113,7 @@ int main(int argc, char** argv) { } pb_InitializeTimerSet(&timers); + __visc__init(); pb_SwitchToTimer(&timers, pb_TimerID_COMPUTE); //parameters declaration