From 2e002ebd3f2380dbd5b8a76264fdb33c55d12574 Mon Sep 17 00:00:00 2001 From: Jan David Mol <mol@astron.nl> Date: Fri, 6 Mar 2015 09:57:59 +0000 Subject: [PATCH] Task #7543: Fixed Cobalt block-size calculations for sub-second integation times, and improved comments --- SAS/Scheduler/src/blocksize.h | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/SAS/Scheduler/src/blocksize.h b/SAS/Scheduler/src/blocksize.h index eb141a626c7..359dcc8c972 100644 --- a/SAS/Scheduler/src/blocksize.h +++ b/SAS/Scheduler/src/blocksize.h @@ -101,20 +101,21 @@ public: if (correlatedEnabled) { // Add required multiples for the Correlator - // 16 is number of PPF taps + // 16 is number of PPF taps (FIR_Filter.cu) factor = lcm(factor, 16 * correlatorChannelsPerSubband); - // each subblock needs at least 16 samples - factor = lcm(factor, 16 * _nrSubblocks(requestedIntegrationTime)); + // each subblock needs at least 16 samples per channel (Correlator.cu) + factor = lcm(factor, 16 * correlatorChannelsPerSubband * _nrSubblocks(requestedIntegrationTime)); } if (coherentStokesEnabled) { // Add required multiples for the CS Beamformer - // 16 * 64 is required by the Cobalt DelayAndBandPassKernel + // 16 * 64 (DelayAndBandPass.cu) factor = lcm(factor, 16 * 64); - // 1024 is the maxNrThreadsPerBlock, required by the CoherentStokesKernel + // 1024 is the maxNrThreadsPerBlock (CoherentStokesKernel.cc) + // Note that coherenthannelsPerSubband is always a power of 2 < 1024 factor = lcm(factor, 1024 * coherentTimeIntegrationFactor); (void)coherentChannelsPerSubband; @@ -123,9 +124,10 @@ public: if (incoherentStokesEnabled) { // Add required multiples for the IS Beamformer - // 16 * 64 is required by the Cobalt DelayAndBandPassKernel + // 16 * 64 (DelayAndBandPass.cu) factor = lcm(factor, 16 * 64); + // integration should fit (IncoherentStokes.cu) factor = lcm(factor, incoherentTimeIntegrationFactor * incoherentChannelsPerSubband); } -- GitLab