diff options
| author | boyealkim <[email protected]> | 2019-07-26 11:55:45 +0900 |
|---|---|---|
| committer | boyealkim <[email protected]> | 2019-07-26 11:55:45 +0900 |
| commit | b13557baa4ea6d1084bdcc9b28b9eb660c394427 (patch) | |
| tree | 7449fad69416a28321c66190192bea6fb2b0cd97 /src/stream_manager.cc | |
| parent | 8e9f0375a6a8bed217b0634a08f7f1f0cd149744 (diff) | |
fix indentation
Diffstat (limited to 'src/stream_manager.cc')
| -rw-r--r-- | src/stream_manager.cc | 58 |
1 files changed, 28 insertions, 30 deletions
diff --git a/src/stream_manager.cc b/src/stream_manager.cc index 6e02dcd..d0eecdd 100644 --- a/src/stream_manager.cc +++ b/src/stream_manager.cc @@ -198,13 +198,13 @@ bool stream_operation::do_operation( gpgpu_sim *gpu ) //only allows next op to go if event is done //otherwise stays in the stream queue printf("stream wait event processing...\n"); - if(m_event->done()){ + if(m_event->done()){ printf("stream wait event done\n"); m_stream->record_next_done(); } - else{ - return false; - } + else{ + return false; + } break; default: abort(); @@ -235,7 +235,7 @@ stream_manager::stream_manager( gpgpu_sim *gpu, bool cuda_launch_blocking ) m_service_stream_zero = false; m_cuda_launch_blocking = cuda_launch_blocking; pthread_mutex_init(&m_lock,NULL); - m_last_stream = m_streams.begin(); + m_last_stream = m_streams.begin(); } bool stream_manager::operation( bool * sim) @@ -336,29 +336,25 @@ stream_operation stream_manager::front() } if(!m_service_stream_zero) { - std::list<struct CUstream_st*>::iterator s = m_last_stream; - if(m_last_stream == m_streams.end()){ - s = m_streams.begin(); - } - else{ - s++; - } - for(size_t ii = 0 ; ii < m_streams.size(); ii++, s++) { - if(s == m_streams.end()){ - s = m_streams.begin(); - } - m_last_stream = s; - CUstream_st *stream = *s; - if( !stream->busy() && !stream->empty() ) { - result = stream->next(); - if( result.is_kernel() ) { - unsigned grid_id = result.get_kernel()->get_uid(); - m_grid_id_to_stream[grid_id] = stream; - } - break; - } - } - } + std::list<struct CUstream_st*>::iterator s = m_last_stream; + if(m_last_stream == m_streams.end()){ s = m_streams.begin(); } + else{ s++; } + for(size_t ii = 0 ; ii < m_streams.size(); ii++, s++) { + if(s == m_streams.end()){ + s = m_streams.begin(); + } + m_last_stream = s; + CUstream_st *stream = *s; + if( !stream->busy() && !stream->empty() ) { + result = stream->next(); + if( result.is_kernel() ) { + unsigned grid_id = result.get_kernel()->get_uid(); + m_grid_id_to_stream[grid_id] = stream; + } + break; + } + } + } return result; } @@ -383,8 +379,8 @@ void stream_manager::destroy_stream( CUstream_st *stream ) break; } } - delete stream; - m_last_stream = m_streams.begin(); + delete stream; + m_last_stream = m_streams.begin(); pthread_mutex_unlock(&m_lock); } @@ -398,6 +394,7 @@ bool stream_manager::concurrent_streams_empty() for( s=m_streams.begin(); s!=m_streams.end();++s ) { struct CUstream_st *stream = *s; if( !stream->empty() ) { + //stream->print(stdout); result = false; break; } @@ -450,6 +447,7 @@ void stream_manager::print_impl( FILE *fp) void stream_manager::push( stream_operation op ) { struct CUstream_st *stream = op.get_stream(); + // block if stream 0 (or concurrency disabled) and pending concurrent operations exist bool block= !stream || m_cuda_launch_blocking; while(block) { |
