From 29e8ac3fa4e4c4a39ccac7a963da638b0bcbb25c Mon Sep 17 00:00:00 2001 From: Marcel Loose <loose@astron.nl> Date: Fri, 15 Nov 2013 16:16:10 +0000 Subject: [PATCH] Task #4589: Testing with 16 output channels i.s.o 1. Doesn't work yet, but squashed two bugs. --- .../GPUProc/src/cuda/SubbandProcs/BeamFormerFactories.cc | 8 +++----- .../src/cuda/SubbandProcs/BeamFormerSubbandProc.cc | 2 +- .../test/SubbandProcs/tBeamFormerSubbandProcProcessSb.cc | 4 ++-- .../SubbandProcs/tBeamFormerSubbandProcProcessSb.parset | 2 +- 4 files changed, 7 insertions(+), 9 deletions(-) diff --git a/RTCP/Cobalt/GPUProc/src/cuda/SubbandProcs/BeamFormerFactories.cc b/RTCP/Cobalt/GPUProc/src/cuda/SubbandProcs/BeamFormerFactories.cc index 7fab3220fdc..45532308ec2 100644 --- a/RTCP/Cobalt/GPUProc/src/cuda/SubbandProcs/BeamFormerFactories.cc +++ b/RTCP/Cobalt/GPUProc/src/cuda/SubbandProcs/BeamFormerFactories.cc @@ -143,12 +143,10 @@ namespace LOFAR { FIR_FilterKernel::Parameters params(ps); - params.nrSTABs = ps.settings.beamFormer.maxNrTABsPerSAP(); + params.nrSTABs = ps.nrStations(); - // define at least 16 channels to get the FIR_Filter.cu to compile, even - // if we won't use it. - params.nrChannelsPerSubband = std::max(16U, - ps.settings.beamFormer.incoherentSettings.nrChannels); + params.nrChannelsPerSubband = + ps.settings.beamFormer.incoherentSettings.nrChannels; // time integration has not taken place yet, so calculate the nrSamples // manually diff --git a/RTCP/Cobalt/GPUProc/src/cuda/SubbandProcs/BeamFormerSubbandProc.cc b/RTCP/Cobalt/GPUProc/src/cuda/SubbandProcs/BeamFormerSubbandProc.cc index 228ddd57552..74664b7c1f5 100644 --- a/RTCP/Cobalt/GPUProc/src/cuda/SubbandProcs/BeamFormerSubbandProc.cc +++ b/RTCP/Cobalt/GPUProc/src/cuda/SubbandProcs/BeamFormerSubbandProc.cc @@ -230,7 +230,7 @@ namespace LOFAR // final FFT: B -> B incoherentFinalFFT( queue, ps.settings.beamFormer.incoherentSettings.nrChannels, - (NR_POLARIZATIONS * ps.nrSamplesPerSubband() / + (ps.nrStations() * NR_POLARIZATIONS * ps.nrSamplesPerSubband() / ps.settings.beamFormer.incoherentSettings.nrChannels), true, devB), diff --git a/RTCP/Cobalt/GPUProc/test/SubbandProcs/tBeamFormerSubbandProcProcessSb.cc b/RTCP/Cobalt/GPUProc/test/SubbandProcs/tBeamFormerSubbandProcProcessSb.cc index 47c4c5fa4af..e72472e466c 100644 --- a/RTCP/Cobalt/GPUProc/test/SubbandProcs/tBeamFormerSubbandProcProcessSb.cc +++ b/RTCP/Cobalt/GPUProc/test/SubbandProcs/tBeamFormerSubbandProcProcessSb.cc @@ -37,8 +37,8 @@ template<typename T> T inputSignal(size_t t) { size_t nrBits = sizeof(T) / 2 * 8; // double freq = 1.0 / 2.0; // in samples - double freq = 1.0 / 4.0; // in samples - double amp = (1 << (nrBits - 1)) - 10; + double freq = 1.0 / 32.0; // in samples + double amp = (1 << (nrBits - 1)) - 1; double angle = (double)t * 2.0 * M_PI * freq; diff --git a/RTCP/Cobalt/GPUProc/test/SubbandProcs/tBeamFormerSubbandProcProcessSb.parset b/RTCP/Cobalt/GPUProc/test/SubbandProcs/tBeamFormerSubbandProcProcessSb.parset index e64611e615b..83c6708a774 100644 --- a/RTCP/Cobalt/GPUProc/test/SubbandProcs/tBeamFormerSubbandProcProcessSb.parset +++ b/RTCP/Cobalt/GPUProc/test/SubbandProcs/tBeamFormerSubbandProcProcessSb.parset @@ -18,7 +18,7 @@ OLAP.CNProc_CoherentStokes.timeIntegrationFactor = 1 OLAP.CNProc_CoherentStokes.channelsPerSubband = 1 OLAP.CNProc_IncoherentStokes.which = I # IQUV OLAP.CNProc_IncoherentStokes.timeIntegrationFactor = 1 -OLAP.CNProc_IncoherentStokes.channelsPerSubband = 1 +OLAP.CNProc_IncoherentStokes.channelsPerSubband = 16 Observation.rspBoardList = [0] Observation.rspSlotList = [0] -- GitLab