diff --git a/RTCP/Cobalt/GPUProc/src/cuda/SubbandProcs/CorrelatorSubbandProc.cc b/RTCP/Cobalt/GPUProc/src/cuda/SubbandProcs/CorrelatorSubbandProc.cc index 2c385b25101ec3a472f633b5a2fe2f302ae3df2f..8632a0e3e0242a0da82e8ffa1ddaaef02b86aaba 100644 --- a/RTCP/Cobalt/GPUProc/src/cuda/SubbandProcs/CorrelatorSubbandProc.cc +++ b/RTCP/Cobalt/GPUProc/src/cuda/SubbandProcs/CorrelatorSubbandProc.cc @@ -316,7 +316,7 @@ namespace LOFAR // If all samples flagged, weights is zero. // TODO: make a lookup table for the expensive division; measure first - float weight = nrValidSamples ? 1e-6f / nrValidSamples : 0; + float weight = nrValidSamples ? 1.0f / nrValidSamples : 0; applyWeight(bl, ch, weight, output); } diff --git a/RTCP/Cobalt/GPUProc/test/SubbandProcs/tCorrelatorSubbandProc.cc b/RTCP/Cobalt/GPUProc/test/SubbandProcs/tCorrelatorSubbandProc.cc index dcf0c26d8c4dfcd728cbce56566647ad466bc9e0..ef0ef8f29e8455348e276843edf466f42fb24286 100644 --- a/RTCP/Cobalt/GPUProc/test/SubbandProcs/tCorrelatorSubbandProc.cc +++ b/RTCP/Cobalt/GPUProc/test/SubbandProcs/tCorrelatorSubbandProc.cc @@ -90,7 +90,7 @@ TEST(propagateFlags) CHECK_EQUAL(std::complex<float>(0,0), output.visibilities[idx_baseline][idx_channel][idx_pol1][idx_pol2]); // 2. station zero and one have no flags, the baselines for these station should be default - float weight_of_unflagged_sample = 1e-6f/1024; // default weighting / number of samples + float weight_of_unflagged_sample = 1.0f/1024; // default weighting / number of samples for(unsigned idx_baseline = 0; idx_baseline < 3; ++idx_baseline) //bl 0-3 are 0.0 1.0 and 1.1 for(unsigned idx_channel = 1; idx_channel < 4; ++idx_channel) //validate channel ONE and higher for(unsigned idx_pol1 = 0; idx_pol1 < NR_POLARIZATIONS; ++idx_pol1) @@ -101,7 +101,7 @@ TEST(propagateFlags) // 3. Now check the weights for bl 4 to 6: flagging should be a single flagged sample on the input // only a single point in time is flagged should result in weight_of_single_sample - float weight_of_single_sample = 1e-6f/(1024 - 1 * NR_TAPS); // 1 * filter width + float weight_of_single_sample = 1.0f/(1024 - 1 * NR_TAPS); // 1 * filter width for(unsigned idx_baseline = 3; idx_baseline < 6; ++idx_baseline) for(unsigned idx_channel = 1; idx_channel < 4; ++idx_channel) //validate channel ONE and higher for(unsigned idx_pol1 = 0; idx_pol1 < NR_POLARIZATIONS; ++idx_pol1) @@ -121,7 +121,7 @@ TEST(propagateFlags) 1e-18f); // float compare with this delta // station 2 and 3: two samples - float weight_of_two_sample = 1e-6f/(1024 - 2 * NR_TAPS); // 1 * filter width + float weight_of_two_sample = 1.0f/(1024 - 2 * NR_TAPS); // 1 * filter width for(unsigned idx_baseline = 8; idx_baseline < 9; ++idx_baseline) for(unsigned idx_channel = 1; idx_channel < 4; ++idx_channel) //validate channel ONE and higher for(unsigned idx_pol1 = 0; idx_pol1 < NR_POLARIZATIONS; ++idx_pol1) @@ -269,14 +269,13 @@ TEST(applyWeights) CHECK_EQUAL(std::complex<float>(0,0), output.visibilities[0][0][0][0]); CHECK_EQUAL(std::complex<float>(0,0), output.visibilities[2][0][1][1]); // check origin and far corner - // the weighted values should be multiplied with 1e-6 divided - // by the number of samples - CHECK_EQUAL(std::complex<float>(1e-6/n_valid_samples,0), output.visibilities[0][1][0][0]); - CHECK_EQUAL(std::complex<float>(1e-6/n_valid_samples,0), output.visibilities[0][1][1][1]); + // the weighted values should be divided by the number of samples + CHECK_EQUAL(std::complex<float>(1.0/n_valid_samples,0), output.visibilities[0][1][0][0]); + CHECK_EQUAL(std::complex<float>(1.0/n_valid_samples,0), output.visibilities[0][1][1][1]); // baselines 1 - CHECK_EQUAL(std::complex<float>(1e-6/256,0), output.visibilities[1][1][0][0]); - CHECK_EQUAL(std::complex<float>(1e-6/256,0), output.visibilities[1][1][1][1]); + CHECK_EQUAL(std::complex<float>(1.0/256,0), output.visibilities[1][1][0][0]); + CHECK_EQUAL(std::complex<float>(1.0/256,0), output.visibilities[1][1][1][1]); //baseline 2 no samples so should be zero CHECK_EQUAL(std::complex<float>(0,0), output.visibilities[2][1][0][0]); diff --git a/RTCP/Cobalt/GPUProc/test/SubbandProcs/tCorrelatorSubbandProcProcessSb.cc b/RTCP/Cobalt/GPUProc/test/SubbandProcs/tCorrelatorSubbandProcProcessSb.cc index 87b758a11ff3595788465716fd69430365d99bb6..bae1bfa8a691a7e05e97ce8fe970e86ed0061167 100644 --- a/RTCP/Cobalt/GPUProc/test/SubbandProcs/tCorrelatorSubbandProcProcessSb.cc +++ b/RTCP/Cobalt/GPUProc/test/SubbandProcs/tCorrelatorSubbandProcProcessSb.cc @@ -73,10 +73,10 @@ int main() { const size_t scaleFactor = nrBitsPerSample == 16 ? 1 : 16; // The output is the correlation-product of two inputs (with identical - // `inputValue`) and the number of integration blocks, scaled by 1e-6. + // `inputValue`) and the number of integration blocks. const fcomplex outputValue = norm(inputValue) * scaleFactor * scaleFactor * - nrBlocksPerIntegration * 1e-6; + nrBlocksPerIntegration; // Create very simple kernel programs, with predictable output. Skip as much // as possible. Nr of channels/sb from the parset is 1, so the PPF will not diff --git a/RTCP/Cobalt/GPUProc/test/tCorrelate_1sec_1st_5sb_noflagging.output/SB0.MS b/RTCP/Cobalt/GPUProc/test/tCorrelate_1sec_1st_5sb_noflagging.output/SB0.MS index a0af24f212de6fef9c5191831e6c22f73aebf4b5..db9578e1afd4ea8405ff03d2d10585f757dd34ff 100644 Binary files a/RTCP/Cobalt/GPUProc/test/tCorrelate_1sec_1st_5sb_noflagging.output/SB0.MS and b/RTCP/Cobalt/GPUProc/test/tCorrelate_1sec_1st_5sb_noflagging.output/SB0.MS differ diff --git a/RTCP/Cobalt/GPUProc/test/tCorrelate_1sec_1st_5sb_noflagging.output/SB1.MS b/RTCP/Cobalt/GPUProc/test/tCorrelate_1sec_1st_5sb_noflagging.output/SB1.MS index 435244748c3f90d1c12ae6e272c95f6cc872d0c7..da8a14870ec76f8dac96917ab3fdd050492dc8e0 100644 Binary files a/RTCP/Cobalt/GPUProc/test/tCorrelate_1sec_1st_5sb_noflagging.output/SB1.MS and b/RTCP/Cobalt/GPUProc/test/tCorrelate_1sec_1st_5sb_noflagging.output/SB1.MS differ diff --git a/RTCP/Cobalt/GPUProc/test/tCorrelate_1sec_1st_5sb_noflagging.output/SB2.MS b/RTCP/Cobalt/GPUProc/test/tCorrelate_1sec_1st_5sb_noflagging.output/SB2.MS index a5b4da7777878189483d27a3fe86631a05619d3e..e7c0f73e0b7b4d330156b43c16e25ba33fbe293a 100644 Binary files a/RTCP/Cobalt/GPUProc/test/tCorrelate_1sec_1st_5sb_noflagging.output/SB2.MS and b/RTCP/Cobalt/GPUProc/test/tCorrelate_1sec_1st_5sb_noflagging.output/SB2.MS differ diff --git a/RTCP/Cobalt/GPUProc/test/tCorrelate_1sec_1st_5sb_noflagging.output/SB3.MS b/RTCP/Cobalt/GPUProc/test/tCorrelate_1sec_1st_5sb_noflagging.output/SB3.MS index a3da7e4ea8141de13d2ae3c0cd177440c6c553ab..f7620a6e13bc5bf7a0431916be231adee7c10e17 100644 Binary files a/RTCP/Cobalt/GPUProc/test/tCorrelate_1sec_1st_5sb_noflagging.output/SB3.MS and b/RTCP/Cobalt/GPUProc/test/tCorrelate_1sec_1st_5sb_noflagging.output/SB3.MS differ diff --git a/RTCP/Cobalt/GPUProc/test/tCorrelate_1sec_1st_5sb_noflagging.output/SB4.MS b/RTCP/Cobalt/GPUProc/test/tCorrelate_1sec_1st_5sb_noflagging.output/SB4.MS index eaf6a06d4e0bc94c40f7812526a75af1ae975d4c..1da3e5198aa186fa49ce98ab890842766d4cea1f 100644 Binary files a/RTCP/Cobalt/GPUProc/test/tCorrelate_1sec_1st_5sb_noflagging.output/SB4.MS and b/RTCP/Cobalt/GPUProc/test/tCorrelate_1sec_1st_5sb_noflagging.output/SB4.MS differ diff --git a/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_1st_5sb.output/SB0.MS b/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_1st_5sb.output/SB0.MS index 45cc259e027c72f52579ed6bdf03824e976b9c10..c83afac26def26de9dc9ed1341b66a407ce780f3 100644 Binary files a/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_1st_5sb.output/SB0.MS and b/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_1st_5sb.output/SB0.MS differ diff --git a/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_1st_5sb.output/SB1.MS b/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_1st_5sb.output/SB1.MS index 2d44291c3209d963d200538238fc8d41052bd47e..8fb06312d80045435e36893beb0a1311904c1f70 100644 Binary files a/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_1st_5sb.output/SB1.MS and b/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_1st_5sb.output/SB1.MS differ diff --git a/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_1st_5sb.output/SB2.MS b/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_1st_5sb.output/SB2.MS index 64e55e41d3b227883c740ab68653eb25af628895..d7071070b043063eab6ac237b059b631bb4e78fe 100644 Binary files a/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_1st_5sb.output/SB2.MS and b/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_1st_5sb.output/SB2.MS differ diff --git a/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_1st_5sb.output/SB3.MS b/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_1st_5sb.output/SB3.MS index e012e6befad2c66d3d78b5c29c21abfec43bb746..2085d5a68c6895c8d5db536359d0c266a4dc0454 100644 Binary files a/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_1st_5sb.output/SB3.MS and b/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_1st_5sb.output/SB3.MS differ diff --git a/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_1st_5sb.output/SB4.MS b/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_1st_5sb.output/SB4.MS index 65520e37a8f76cae73bdb5492c7e5ec7845ae550..1a1e6b8413af162a3ceae3f0e6755d2a0d02722a 100644 Binary files a/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_1st_5sb.output/SB4.MS and b/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_1st_5sb.output/SB4.MS differ diff --git a/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_2st_5sb.output/SB0.MS b/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_2st_5sb.output/SB0.MS index 841c796de69abf1aedc3ad6facca60c17da181f1..452448c89162efce776e727f60a17be583037ad1 100644 Binary files a/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_2st_5sb.output/SB0.MS and b/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_2st_5sb.output/SB0.MS differ diff --git a/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_2st_5sb.output/SB1.MS b/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_2st_5sb.output/SB1.MS index adcac5e104024be6858e625f8610ab2c4d6cef0d..5bc1fafae433e04ba35f5574513dce024f9cdf1f 100644 Binary files a/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_2st_5sb.output/SB1.MS and b/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_2st_5sb.output/SB1.MS differ diff --git a/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_2st_5sb.output/SB2.MS b/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_2st_5sb.output/SB2.MS index 5c34bfa09034abb7c42511e73420e373059fb945..7930109dc47f220cf8cae8885ef11d0ff58839e6 100644 Binary files a/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_2st_5sb.output/SB2.MS and b/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_2st_5sb.output/SB2.MS differ diff --git a/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_2st_5sb.output/SB3.MS b/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_2st_5sb.output/SB3.MS index f8ec85e4d92511a2431b9406d7435457542fc622..d9ebeef4abdbcedf89c80eb7ef0a36278612a3b5 100644 Binary files a/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_2st_5sb.output/SB3.MS and b/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_2st_5sb.output/SB3.MS differ diff --git a/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_2st_5sb.output/SB4.MS b/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_2st_5sb.output/SB4.MS index 809523995514b80739a221d13e9cef1c0c2a0de9..fccbae035146f09c4002dc4ef45648cf287622f7 100644 Binary files a/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_2st_5sb.output/SB4.MS and b/RTCP/Cobalt/GPUProc/test/tCorrelate_3sec_2st_5sb.output/SB4.MS differ