Thanks Willem! I had an issue trying to make the formats listed minimal, as the folder of dspsr appeared as executable for some reason in my installation, instead of just a folder. So I'll try the solution and let you know if it is working for me. Thanks again!
And thanks for the file! I think that I've fixed the S2 bug in commit b8de2313aefd9252ae15fec66c19ec0ea384399b (HEAD -> master, origin/master, origin/HEAD) Author: Willem van Straten <vanstraten.willem@gmail.com> Date: Fri Feb 13 09:53:47 2026 +1300 bugs-131 (fix) tci_file_hdr_init uses [safe] memset instead of [questionable] sprintf to initialize memory
bugs-131 (fix) tci_file_hdr_init uses [safe] memset instead of [questionable] sprintf to initialize memory
bugs-131 (optimization) dsp::Mark4File::find_sync performs one big read instead of many small reads
Thank you for this extra information, which provides a good clue. The last line of output from dspsr before the buffer overflow is detected ("dsp::File::create testing S2") indicates that the S2 file format test code has a bug leading to the buffer overflow. I'll try to fix this, but in the meantime you can work around the problem by removing "s2" from the bandends.list text files in your top-level DSPSR build directory. In fact, I suggest that you remove most of the file formats listed in this file...
Hello Willem, thanks for the fast reply. Here are the outputs of 1. and 2. I also uploaded the file I'm using for this test to Google Drive. Please request access so I can grant you permission to download it: https://drive.google.com/drive/folders/1dZC9w4r6sCoba9RCQ9DkUstHQW3-xV4t?usp=sharing One thing that could came handy is the following: we can fold the files using PRESTO, and we pretty much can use any rutine of it (I haven't encoutered an incompatibility). I was now trying to fold using dspsr,...
Hi Susana, Thanks for the bug report. To help with debugging, could you please try the following? Run digihdr ds8192_J0835-4510_A2_20260206_223701.fil (cut and paste the output to this thread) Run dspsr -V <all other command line options> ds8192_J0835-4510_A2_20260206_223701.fil (and attach the very verbose output to this ticket) If the data are not sensitive, it would be very helpful if you could make the file available somewhere for download and provide the dspsr command line that you run on it....
Question regarfing header of filterbank, possible incompatible
AT3-1184 LoadToFITS sets OBSNCHAN to original/source input nchan
AT3-1114 review comments addressed - part two
AT3-1114 review comments addressed
AT3-1114 ASCIIObservation successfully parses and unloads source names containing spaces
AT3-1114 fixed compilation errors
AT3-1114 ascii_header_get "%S" extension parses strings containing spaces
dspsr fails to apply scales and offsets of contiguous PSRFITS files
dspsr fails to apply scales and offsets of contiguous PSRFITS files
Fix reviewed and merged to the main/master branch on 2025 Dec 10.
AT3-1144 optionally set digifits output path and strftime pattern
declare overrides in SingleThread.h
Merge branch 'at3-1132-implement-weights-fscrunch'
Merge branch 'bugs-130-fix-fits-scloffs'
Merge branch 'at3-1132-implement-weights-fscrunch' of ssh://git.code.sf.net/p/dspsr/code into at3-1132-implement-weights-fscrunch
AT3-1132 feedback on MR addressed
bugs-130 used fused multiply-add (FMA) to apply scales and offsets
Merge branch 'master' of https://git.code.sf.net/p/dspsr/code into HEAD
AT3-1142 LoadToQuantize::set_output_data method added
AT3-1132 revert AT3-1088 DSPSR_BASE_IMAGE ska-pst-psrchive back to ska-pst-dspsr-builder (grasping at straws)
AT3-1132 ensure that input zero weights yield correctly zeroed fscrunched weights
AT3-1132 new unit test verifies WeightedTimeSeries::copy_fscrunch_weights
AT3-1132 in copy_fscrunch_weights, first channel in range initializes weight (not first time sample)
Merge branch 'master' into at3-1132-implement-weights-fscrunch
bugs-130 additional range check and internal documentation
bugs-130 restore the original non-linear scale when unpacking 2-bit data
bugs-130 fix year in copyright notice
AT3-1088 updated oci builder tag from 3.1 to 3.2
AT3-1088 update OCI to SKA CUDA ubuntu 24.04
AT3-1132 draft implementation of WeightedTimeSeries::copy_fscrunch_weights
dspsr fails to apply scales and offsets of contiguous PSRFITS files
Fix implemented on bugs-130-fix-fits-scloffs branch to be reviewed before merging
bugs-130 FITSFile::load_bytes computes the total number of rows and row offset for the entire output BitSeries, not just the buffer that is currently being loaded
internal documentation added
bugs-130 remove undocumented nonlinear 2-bit scale in FITSUnpacker
Merge branch 'master' of ssh://git.code.sf.net/p/dspsr/code
Merge branch 'master' of ssh://git.code.sf.net/p/dspsr/code
do not subtract interval duration from start time
dspsr fails to apply scales and offsets of contiguous PSRFITS files
AT3-1126 variable name change for self-consistency (no functional change)
AT3-1126 InverseFilterbank::prepare updates WeightedTimeSeries::ndat_per_weight
AT3-1093 restored an accidentally deleted line of code
AT3-1093 CamelCase -> snake_case in InverseFilterbankTest test names; additional internal documentation
AT3-1093 unit test data folder has moved on pst-beam2
AT3-1093 new InverseFilterbank unit test verifies temporal fidelity after inversion of only second stage PFB
AT3-1093 test two-stage PFB inversion with 384-channel first-stage
Merge branch 'at3-1087-fpt-digfits-pfb-inversion'
Ensure destructors are called
AT3-1087 use psrdiff -W [ska-pst-dspsr-builder:0.3.0]; digidiff *.sf *.fil *.dada
AT3-1087 added to the functional pipeline test suite:
AT3-1087 fix broken unit tests
AT3-1081 review comments addressed
AT3-1081 ensure that tres_factor is at least 1
AT3-1081 fix calculation of new sampling rate
AT3-1081 update GPU implementation to match latest CPU fixes
AT3-1081 FITSDigitizer updates the start_time of the output BitSeries for each block
AT3-1081 ensure that output file size is a multiple of the block length
AT3-1081 FITSDigitizer now manages FITSOutputFile and can handle ndat > nsblk
AT3-1081 no change
AT3-1081 LoadToFITS correctly computes the tscrunch factor when inverting the filterbank
AT3-1081 digihdr parses a wider variety of file formats and prints the oversampling factor
AT3-1081 LoadToFITS enable coherent_dedispersion when convolution during
Merge remote-tracking branch 'origin/master' into at3-1081-digifits-inverse-filterbank
AT3-1081 DedispersionPipe integrated with LoadToFITS
fix bug in functional-pipeline-tests for test data shorter than 1s
fix bug in UWBFloatUnpackerCUDA
fix bug in kernel thread config for nbin < 1024
fix bugs in k_multiply kernels when nchan not power of two
Ah ok, sorry for the confusion. Thank you for the help!
Hi Daniel, PSRFITS search mode data are detected (e.g. Stokes parameters or Coherency products) and to compute the cyclic spectrum requires undetected (e.g. baseband) data.
Hello, thank you for your suggestions. I think they resolved the memory issue, however I get the following error now: Error::stack dsp::SingleThread::run dsp::SingleThread::run dsp::Operation::operate dsp::Transformation[CyclicFold]::operation dsp::Fold::transformation dsp::CyclicFoldEngine::fold Error::InvalidState Error::message Only Analytic input data is currently supported Am I using the wrong format for the input data? For reference, my files are PSRFITS search mode data. And yes, my input...
AT3-1075 Fold::set_engine calls Engine::set_input if Fold::input is set
Hi Daniel, how many channels are in your input data? I'm guessing something around 1024, because the -cyclic 1024 later results in dsp::DataSeries::resize npol=4 nchan=1048576 You can reduce the memory requirement by * saving 2 polarizations instead of 4 (with -d 2) ... unless you have cyclic spectropolarimetry in mind * reducing the number of phase bins from 1024 to 256 (with -b 256) ... very few pulsars have significant power beyond 100 harmonics (depending on the gain of the telescope) * reducing...
Hi Daniel, how many channels are in your input data? I'm guessing something around 1024, because the -cyclic 1024 later results in dsp::DataSeries::resize npol=4 nchan=1048576 You can reduce the memory requirement by * saving 2 polarizations instead of 4 (with -d 2) ... unless you have cyclic spectropolarimetry in mind * reducing the number of phase bins from 1024 to 256 (with -b 256) ... very few pulsars have significant power beyond 100 harmonics (depending on the gain of the telescope) * reducing...
-cyclic flag memory usage
Merge branch 'cyclic-fold-unit-tests'
additional internal documentation and update to use ska-pst-dspsr-builder:0.2.0
adapt to breaking change in psrchive: pathname -> dirname
updates following review by Andrew Jameson
factor of 2 in test_operate_impulse_train_sum due to z+z*=2Re[z]
Merge branch 'at3-988-dump-number-of-samples-in-scloffs'
AT3-988 address MR comments
further documentation of CyclicFoldTest, test_operate_impulse_train_sum
new Fold::get_ndat_lost_at_end enables CyclicFold to report samples
Archiver::set(Integration*) sets Dedisperse->relative->corrected = true when data are dedispersed
bug fix: GPU implementation now treats delay tau with the same sign as CPU implementation
ResponseProduct adopts the optimal FFT length policy of the first multiplicand to have one
AT3-988 output the number of samples used to calculate scloffs
reallocate device binplan only as needed
test_operate_impulse_train_sum passes on CPU, but not GPU
superposition of two impulse trains yields unexpected results
CyclicFold passes simple unit tests
bug fix: CyclicFold::setup_engine check that output PhaseSeries