gpu resampling seems to resample twice
caseyjlaw opened this issue · comments
Casey Law commented
Running a search with rfgpu and downsampling by 2 will find candidates at integration/2 and integration/4.
Casey Law commented
from astropy import time
import rfpipe
t0 = time.Time.now().mjd
meta = rfpipe.metadata.mock_metadata(t0,t0+10/(24*3600), 27, 4, 32*4, 4, 5e3, datasource='sim', antconfig='D')
mock = [(0, 1923, 0.0, 0.005, 0.18851293482655737, -0.0016288062774844044, 0.0)]
st = rfpipe.state.State(inmeta = meta, inprefs={'dtarr': [1, 2], 'npix_max': 512, 'savecands': False,\
'saveplots' : False,\
'maxdm': 0, 'applyonlineflags': False, 'flaglist': [],\
'clustercands': False, 'simulated_transient': mock, \
'fftmode': 'cuda', 'nthread':25})
cc = rfpipe.pipeline.pipeline_scan(st, devicenum = 1)
Casey Law commented
Then:
integration_ind = cc.array['integration'].copy()
dt_ind = cc.array['dtind'].copy()
time_ind = np.multiply(integration_ind,np.power(2,dt_ind))
And time_ind should all be clustered at roughly same time.
Casey Law commented
This issue seems to be sensitive to the size of the visibility data (in integrations) and the location of the injected transient. It is not sensitive to the DM of the transient and a search with DM=0
and dtarr=[1,2]
can reproduce the issue.
Casey Law commented
Fixed in rfgpu