From fb57e62d44c4e9528356f2bb3dab39a1fcbc329a Mon Sep 17 00:00:00 2001 From: Tobias Winchen <tobias.winchen@rwth-aachen.de> Date: Thu, 14 Mar 2019 08:03:07 +0000 Subject: [PATCH] Enable profiling in FftSpectrometer --- psrdada_cpp/effelsberg/edd/detail/FftSpectrometer.cu | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/psrdada_cpp/effelsberg/edd/detail/FftSpectrometer.cu b/psrdada_cpp/effelsberg/edd/detail/FftSpectrometer.cu index a14c9b06..3bff5ca9 100644 --- a/psrdada_cpp/effelsberg/edd/detail/FftSpectrometer.cu +++ b/psrdada_cpp/effelsberg/edd/detail/FftSpectrometer.cu @@ -2,6 +2,7 @@ #include "psrdada_cpp/common.hpp" #include "psrdada_cpp/cuda_utils.hpp" #include "psrdada_cpp/raw_bytes.hpp" +#include <cuda_profiler_api.h> #include <cuda.h> namespace psrdada_cpp { @@ -111,7 +112,15 @@ bool FftSpectrometer<HandlerType>::operator()(RawBytes& block) { ++_call_count; BOOST_LOG_TRIVIAL(debug) << "FftSpectrometer operator() called (count = " << _call_count << ")"; - assert(block.used_bytes() == _buffer_bytes /* Unexpected buffer size */); + if (block.used_bytes() != _buffer_bytes) { /* Unexpected buffer size */ + BOOST_LOG_TRIVIAL(error) << "Unexpected Buffer Size - Got " + << block.used_bytes() << " byte, expected " + << _buffer_bytes << " byte)"; + cudaDeviceSynchronize(); + cudaProfilerStop(); + return true; + } + CUDA_ERROR_CHECK(cudaStreamSynchronize(_h2d_stream)); _raw_voltage_db.swap(); -- GitLab