From c71a2a3d2d420ba1bfc7d830a8c8bcad46f086a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ole=20Sch=C3=BCtt?= Date: Tue, 24 Sep 2013 11:36:02 +0000 Subject: [PATCH] DBCSR: Add some more timers svn-origin-rev: 13162 --- src/dbcsr_lib/dbcsr_block_operations.F | 4 ++-- src/dbcsr_lib/dbcsr_data_methods_low.F | 4 +++- src/dbcsr_lib/dbcsr_mm_cudadrv.F | 10 ++++++++-- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/dbcsr_lib/dbcsr_block_operations.F b/src/dbcsr_lib/dbcsr_block_operations.F index 0926827f65..6b1ba8bba9 100644 --- a/src/dbcsr_lib/dbcsr_block_operations.F +++ b/src/dbcsr_lib/dbcsr_block_operations.F @@ -1115,7 +1115,7 @@ CONTAINS ! --------------------------------------------------------------------------- - IF (careful_mod) CALL dbcsr_error_set(routineN, error_handler, error) + CALL dbcsr_error_set(routineN, error_handler, error) CALL dbcsr_assert (ASSOCIATED(area%d),& dbcsr_fatal_level, dbcsr_caller_error, routineN,& @@ -1329,7 +1329,7 @@ CONTAINS routineN, "Invalid or unsupported data type.",__LINE__,error) END SELECT - IF (careful_mod) CALL dbcsr_error_stop(error_handler, error) + CALL dbcsr_error_stop(error_handler, error) END SUBROUTINE dbcsr_data_clear0 diff --git a/src/dbcsr_lib/dbcsr_data_methods_low.F b/src/dbcsr_lib/dbcsr_data_methods_low.F index b9fefebcdb..9859693ce8 100644 --- a/src/dbcsr_lib/dbcsr_data_methods_low.F +++ b/src/dbcsr_lib/dbcsr_data_methods_low.F @@ -326,7 +326,7 @@ MODULE dbcsr_data_methods_low CHARACTER(len=*), PARAMETER :: routineN = 'internal_data_deallocate', & routineP = moduleN//':'//routineN - INTEGER :: error_handler + INTEGER :: error_handler, error_handler2 ! --------------------------------------------------------------------------- @@ -365,9 +365,11 @@ MODULE dbcsr_data_methods_low END SELECT IF(area%memory_type%cuda_devalloc) THEN + CALL dbcsr_error_set (routineN//"_cuda", error_handler2, error) CALL dbcsr_cuda_devmem_deallocate(area%cuda_devmem, error) CALL dbcsr_cuda_event_destroy(area%cuda_ready, error) CALL dbcsr_cuda_stream_destroy(area%cuda_stream, error) + CALL dbcsr_error_stop(error_handler2, error) ENDIF CALL dbcsr_error_stop(error_handler, error) diff --git a/src/dbcsr_lib/dbcsr_mm_cudadrv.F b/src/dbcsr_lib/dbcsr_mm_cudadrv.F index 1d913e7e56..545fec1703 100644 --- a/src/dbcsr_lib/dbcsr_mm_cudadrv.F +++ b/src/dbcsr_lib/dbcsr_mm_cudadrv.F @@ -160,11 +160,16 @@ MODULE dbcsr_mm_cudadrv TYPE(dbcsr_work_type), POINTER :: product_wm TYPE(dbcsr_error_type), INTENT(INOUT) :: error + CHARACTER(len=*), PARAMETER :: routineN = 'dbcsr_mm_cudadrv_init', & + routineP = moduleN//':'//routineN + CHARACTER(len=default_string_length) :: poolname - INTEGER :: i, ithread, n_stack_buffers, & - nthreads + INTEGER :: error_handler, i, ithread, & + n_stack_buffers, nthreads TYPE(dbcsr_data_obj) :: c_area + CALL dbcsr_error_set(routineN, error_handler, error) + nthreads = 1; ithread = 0 !$ nthreads = OMP_GET_NUM_THREADS () ; ithread = OMP_GET_THREAD_NUM () @@ -211,6 +216,7 @@ MODULE dbcsr_mm_cudadrv CALL dbcsr_cuda_event_record(this%c_buffer%d%cuda_ready,& stream=this%c_buffer%d%cuda_stream, error=error) + CALL dbcsr_error_stop(error_handler, error) END SUBROUTINE dbcsr_mm_cudadrv_init