git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@15248 f3b2605a-c512-4ea7-a41b-209d697bcdaa
This commit is contained in:
@ -17,7 +17,7 @@
|
||||
/* -----------------------------------------------------------------------
|
||||
Copyright (2010) Sandia Corporation. Under the terms of Contract
|
||||
DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
|
||||
certain rights in this software. This software is distributed under
|
||||
certain rights in this software. This software is distributed under
|
||||
the Simplified BSD License.
|
||||
----------------------------------------------------------------------- */
|
||||
|
||||
@ -41,7 +41,7 @@ class UCL_Timer {
|
||||
/// Clear any data associated with timer
|
||||
/** \note init() must be called to reuse timer after a clear() **/
|
||||
inline void clear() {
|
||||
if (_initialized) {
|
||||
if (_initialized) {
|
||||
CU_DESTRUCT_CALL(cuEventDestroy(start_event));
|
||||
CU_DESTRUCT_CALL(cuEventDestroy(stop_event));
|
||||
_initialized=false;
|
||||
@ -63,16 +63,16 @@ class UCL_Timer {
|
||||
|
||||
/// Start timing on command queue
|
||||
inline void start() { CU_SAFE_CALL(cuEventRecord(start_event,_cq)); }
|
||||
|
||||
|
||||
/// Stop timing on command queue
|
||||
inline void stop() { CU_SAFE_CALL(cuEventRecord(stop_event,_cq)); }
|
||||
|
||||
|
||||
/// Block until the start event has been reached on device
|
||||
inline void sync_start()
|
||||
inline void sync_start()
|
||||
{ CU_SAFE_CALL(cuEventSynchronize(start_event)); }
|
||||
|
||||
/// Block until the stop event has been reached on device
|
||||
inline void sync_stop()
|
||||
inline void sync_stop()
|
||||
{ CU_SAFE_CALL(cuEventSynchronize(stop_event)); }
|
||||
|
||||
/// Set the time elapsed to zero (not the total_time)
|
||||
@ -80,29 +80,29 @@ class UCL_Timer {
|
||||
CU_SAFE_CALL(cuEventRecord(start_event,_cq));
|
||||
CU_SAFE_CALL(cuEventRecord(stop_event,_cq));
|
||||
}
|
||||
|
||||
|
||||
/// Set the total time to zero
|
||||
inline void zero_total() { _total_time=0.0; }
|
||||
|
||||
|
||||
/// Add time from previous start and stop to total
|
||||
/** Forces synchronization **/
|
||||
inline double add_to_total()
|
||||
inline double add_to_total()
|
||||
{ double t=time(); _total_time+=t; return t/1000.0; }
|
||||
|
||||
|
||||
/// Add a user specified time to the total (ms)
|
||||
inline void add_time_to_total(const double t) { _total_time+=t; }
|
||||
|
||||
|
||||
/// Return the time (ms) of last start to stop - Forces synchronization
|
||||
inline double time() {
|
||||
inline double time() {
|
||||
float timer;
|
||||
CU_SAFE_CALL(cuEventSynchronize(stop_event));
|
||||
CU_SAFE_CALL( cuEventElapsedTime(&timer,start_event,stop_event) );
|
||||
return timer;
|
||||
return timer;
|
||||
}
|
||||
|
||||
|
||||
/// Return the time (s) of last start to stop - Forces synchronization
|
||||
inline double seconds() { return time()/1000.0; }
|
||||
|
||||
|
||||
/// Return the total time in ms
|
||||
inline double total_time() { return _total_time; }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user