From bd3cbd187ac51a9b292667c2bc0ee333ed457985 Mon Sep 17 00:00:00 2001 From: Prakalp Srivastava <prakalps@gmail.com> Date: Wed, 3 Jun 2015 19:10:51 -0500 Subject: [PATCH] Fixed timers in lbm --- .../parboil/benchmarks/lbm/src/opencl_nvidia/main.c | 7 ++++--- .../test/VISC/parboil/benchmarks/lbm/src/visc/main.c | 12 ++++++++---- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/llvm/test/VISC/parboil/benchmarks/lbm/src/opencl_nvidia/main.c b/llvm/test/VISC/parboil/benchmarks/lbm/src/opencl_nvidia/main.c index 0270bc6914..433a17c299 100644 --- a/llvm/test/VISC/parboil/benchmarks/lbm/src/opencl_nvidia/main.c +++ b/llvm/test/VISC/parboil/benchmarks/lbm/src/opencl_nvidia/main.c @@ -147,13 +147,13 @@ void MAIN_initialize( const MAIN_Param* param, const OpenCL_Param* prm ) { LBM_initializeSpecialCellsForLDC( TEMP_srcGrid ); LBM_initializeSpecialCellsForLDC( TEMP_dstGrid ); - pb_SwitchToTimer(&timers, pb_TimerID_COPY); - + pb_SwitchToTimer(&timers, visc_TimerID_SETUP); //Setup DEVICE datastructures OpenCL_LBM_allocateGrid( prm, &OpenCL_srcGrid ); OpenCL_LBM_allocateGrid( prm, &OpenCL_dstGrid ); //Initialize DEVICE datastructures + pb_SwitchToTimer(&timers, pb_TimerID_COPY); OpenCL_LBM_initializeGrid( prm, OpenCL_srcGrid, TEMP_srcGrid ); OpenCL_LBM_initializeGrid( prm, OpenCL_dstGrid, TEMP_dstGrid ); @@ -182,6 +182,8 @@ void MAIN_finalize( const MAIN_Param* param, const OpenCL_Param* prm ) { LBM_storeVelocityField( TEMP_srcGrid, param->resultFilename, TRUE ); LBM_freeGrid( (float**) &TEMP_srcGrid ); + + pb_SwitchToTimer(&timers, visc_TimerID_SETUP); OpenCL_LBM_freeGrid( OpenCL_srcGrid ); OpenCL_LBM_freeGrid( OpenCL_dstGrid ); @@ -189,7 +191,6 @@ void MAIN_finalize( const MAIN_Param* param, const OpenCL_Param* prm ) { clReleaseKernel(prm->clKernel); clReleaseCommandQueue(prm->clCommandQueue); clReleaseContext(prm->clContext); - } void OpenCL_initialize(OpenCL_Param* prm) diff --git a/llvm/test/VISC/parboil/benchmarks/lbm/src/visc/main.c b/llvm/test/VISC/parboil/benchmarks/lbm/src/visc/main.c index cec7935291..0a9d87c708 100644 --- a/llvm/test/VISC/parboil/benchmarks/lbm/src/visc/main.c +++ b/llvm/test/VISC/parboil/benchmarks/lbm/src/visc/main.c @@ -29,11 +29,11 @@ static LBM_Grid srcGrid, dstGrid; struct pb_TimerSet timers; int main( int nArgs, char* arg[] ) { - __visc__init(); MAIN_Param param; int t; pb_InitializeTimerSet(&timers); + __visc__init(); struct pb_Parameters* params; params = pb_ReadParameters(&nArgs, arg); @@ -47,13 +47,16 @@ int main( int nArgs, char* arg[] ) { MAIN_initialize( ¶m ); size_t size = TOTAL_PADDED_CELLS*N_CELL_ENTRIES*sizeof( float ); + pb_SwitchToTimer(&timers, visc_TimerID_MEM_TRACK); llvm_visc_track_mem(srcGrid-MARGIN, size); llvm_visc_track_mem(dstGrid-MARGIN, size); + pb_SwitchToTimer(&timers, pb_TimerID_COMPUTE); for( t = 1; t <= param.nTimeSteps; t++ ) { - pb_SwitchToTimer(&timers, pb_TimerID_KERNEL); + pb_SwitchToTimer(&timers, pb_TimerID_NONE); MAIN_performStreamCollide( srcGrid, dstGrid ); + pb_SwitchToTimer(&timers, pb_TimerID_COMPUTE); LBM_swapGrids( &srcGrid, &dstGrid ); @@ -65,8 +68,11 @@ int main( int nArgs, char* arg[] ) { #endif } } + + pb_SwitchToTimer(&timers, pb_TimerID_COPY); llvm_visc_request_mem(srcGrid-MARGIN, size); + pb_SwitchToTimer(&timers, pb_TimerID_COMPUTE); MAIN_finalize( ¶m ); pb_SwitchToTimer(&timers, visc_TimerID_MEM_UNTRACK); @@ -319,7 +325,6 @@ __attribute__((noinline)) void MAIN_performStreamCollide( LBM_Grid src, LBM_Grid unsigned dimBlock[3] = {SIZE_X,1,1}; unsigned dimGrid[3] = {SIZE_X*SIZE_Y,SIZE_Z,1}; size_t size = TOTAL_PADDED_CELLS*N_CELL_ENTRIES*sizeof( float ); - unsigned lbmDFG = __visc__node(performStreamCollide_kernel, 2, 3, dimBlock[0], dimBlock[1], dimBlock[2], dimGrid[0]/dimBlock[0], dimGrid[1]/dimBlock[1], dimGrid[2]/dimBlock[2], 4, src-MARGIN, size, dst-MARGIN, size, 0); __visc__wait(lbmDFG); @@ -356,7 +361,6 @@ void MAIN_finalize( const MAIN_Param* param ) { //Setup TEMP datastructures - pb_SwitchToTimer(&timers, pb_TimerID_COMPUTE); LBM_showGridStatistics( srcGrid ); LBM_storeVelocityField( srcGrid, param->resultFilename, TRUE ); -- GitLab