Skip to content
Snippets Groups Projects
Commit 2e002ebd authored by Jan David Mol's avatar Jan David Mol
Browse files

Task #7543: Fixed Cobalt block-size calculations for sub-second integation...

Task #7543: Fixed Cobalt block-size calculations for sub-second integation times, and improved comments
parent a5513efb
No related branches found
No related tags found
No related merge requests found
...@@ -101,20 +101,21 @@ public: ...@@ -101,20 +101,21 @@ public:
if (correlatedEnabled) { if (correlatedEnabled) {
// Add required multiples for the Correlator // 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); factor = lcm(factor, 16 * correlatorChannelsPerSubband);
// each subblock needs at least 16 samples // each subblock needs at least 16 samples per channel (Correlator.cu)
factor = lcm(factor, 16 * _nrSubblocks(requestedIntegrationTime)); factor = lcm(factor, 16 * correlatorChannelsPerSubband * _nrSubblocks(requestedIntegrationTime));
} }
if (coherentStokesEnabled) { if (coherentStokesEnabled) {
// Add required multiples for the CS Beamformer // Add required multiples for the CS Beamformer
// 16 * 64 is required by the Cobalt DelayAndBandPassKernel // 16 * 64 (DelayAndBandPass.cu)
factor = lcm(factor, 16 * 64); 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); factor = lcm(factor, 1024 * coherentTimeIntegrationFactor);
(void)coherentChannelsPerSubband; (void)coherentChannelsPerSubband;
...@@ -123,9 +124,10 @@ public: ...@@ -123,9 +124,10 @@ public:
if (incoherentStokesEnabled) { if (incoherentStokesEnabled) {
// Add required multiples for the IS Beamformer // Add required multiples for the IS Beamformer
// 16 * 64 is required by the Cobalt DelayAndBandPassKernel // 16 * 64 (DelayAndBandPass.cu)
factor = lcm(factor, 16 * 64); factor = lcm(factor, 16 * 64);
// integration should fit (IncoherentStokes.cu)
factor = lcm(factor, incoherentTimeIntegrationFactor * incoherentChannelsPerSubband); factor = lcm(factor, incoherentTimeIntegrationFactor * incoherentChannelsPerSubband);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment