realfastvla / rfpipe

Fast radio interferometric transient search pipeline

Home Page:https://realfastvla.github.io/rfpipe

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

gpu resampling seems to resample twice

caseyjlaw opened this issue · comments

Running a search with rfgpu and downsampling by 2 will find candidates at integration/2 and integration/4.

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)

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.

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.

Fixed in rfgpu