Skip to content

Improve pulscan integration and GPU robustness - #282

Closed
dejay-vu wants to merge 6 commits into
AstroAccelerateOrg:masterfrom
dejay-vu:jay/pulscan-integration
Closed

Improve pulscan integration and GPU robustness#282
dejay-vu wants to merge 6 commits into
AstroAccelerateOrg:masterfrom
dejay-vu:jay/pulscan-integration

Conversation

@dejay-vu

Copy link
Copy Markdown
Collaborator

Summary

This PR finishes the current Pulscan integration work in AstroAccelerate and tightens a few GPU-side failure modes that were uncovered during delivery testing.

What changed

  • standardize the Pulscan build flag on AA_ENABLE_PULSCAN across CMake, Meson, Makefile, and docs
  • add the dedicated Pulscan runner and wire Pulscan output generation into the main pipeline flow
  • fix the Pulscan boxcar tail-handling bug that could emit bogus large candidates on short inputs
  • propagate failsafe correctly and harden DDTR/corner-turn memory and launch handling
  • add regression coverage for boxcar filtering, compatibility helpers, and the requirement that Pulscan only runs with periodicity enabled
  • update the README with build, install, runtime, output, and AA_PULSCAN_DUMP_FFT documentation
  • add helper configs and the filterbank split script used for validation

Validation

  • rebuilt astro-accelerate successfully
  • ran the short repro .fil and confirmed the abnormal large Pulscan values disappeared
  • ran build-tests/tests/test_pulscan_boxcar_filter
  • ran the larger 73df delivery input through AA and produced Pulscan output successfully

- Introduced new source file `aa_device_pulscan.cu` containing CUDA kernels for Pulscan processing.
- Updated `aa_pipeline_runner.hpp` to include Pulscan candidate retrieval method, conditionally compiled based on `AA_WITH_PULSCAN`.
- Modified `meson.build` to add compilation flag for Pulscan support.
- Included `aa_device_pulscan.cu` in the build source list.
- Implemented various kernels for data processing, normalization, and candidate searching specific to Pulscan.
- Implemented test for calculating logp in `test_pulscan_calculate_logp.cpp` and corresponding CMake configuration.
- Added sorting test for pulscan candidates in `test_pulscan_candidate_sort.cpp` with CMake setup.
- Created decimation harmonics test in `test_pulscan_decimate_harmonics.cpp` and its CMake configuration.
- Developed helper functions test in `test_pulscan_helpers.cpp` with appropriate CMake integration.
- Introduced magnitude squared test in `test_pulscan_magnitude_squared.cpp` and its CMake setup.
- Added median normalization test in `test_pulscan_median_normalisation.cpp` with CMake configuration.
- Integrated pipeline testing in `test_pulscan_pipeline_integration.cpp` and corresponding CMake setup.
- Created separate components test in `test_pulscan_separate_components.cpp` with CMake configuration.
## Summary
This PR finishes the current Pulscan integration work in AstroAccelerate and tightens a few GPU-side failure modes that were uncovered during delivery testing.

## What changed
- standardize the Pulscan build flag on `AA_ENABLE_PULSCAN` across CMake, Meson, Makefile, and docs
- add the dedicated Pulscan runner and wire Pulscan output generation into the main pipeline flow
- fix the Pulscan boxcar tail-handling bug that could emit bogus large candidates on short inputs
- propagate `failsafe` correctly and harden DDTR/corner-turn memory and launch handling
- add regression coverage for boxcar filtering, compatibility helpers, and the requirement that Pulscan only runs with periodicity enabled
- update the README with build, install, runtime, output, and `AA_PULSCAN_DUMP_FFT` documentation
- add helper configs and the filterbank split script used for validation

## Validation
- rebuilt `astro-accelerate` successfully
- ran the short repro `.fil` and confirmed the abnormal large Pulscan values disappeared
- ran `build-tests/tests/test_pulscan_boxcar_filter`
- ran the larger `73df` delivery input through AA and produced Pulscan output successfully
Copilot AI review requested due to automatic review settings April 23, 2026 23:53

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR completes Pulscan integration in AstroAccelerate by adding the GPU-side Pulscan kernels and a dedicated Pulscan runner, wiring Pulscan outputs into the main pipeline/CLI flow, and hardening a CUDA corner-turn failure mode. It also adds a suite of Pulscan-focused regression tests and updates build flags and documentation.

Changes:

  • Add Pulscan GPU kernels (aa_device_pulscan.cu), host runner (aa_pulscan_runner.hpp), and pipeline/CLI hooks to generate Pulscan outputs.
  • Harden GPU behavior (corner-turn large grid-Y handling; device info clock-rate querying compatibility).
  • Add Pulscan regression/integration tests, docs updates, and helper scripts/configs.

Reviewed changes

Copilot reviewed 58 out of 62 changed files in this pull request and generated 18 comments.

Show a summary per file
File Description
tests/test_pulscan_separate_components.cpp New CUDA kernel regression test for complex separation
tests/test_pulscan_separate_components.cmake CMake wiring for the new test
tests/test_pulscan_requires_periodicity.cpp New test ensuring Pulscan does not run without periodicity
tests/test_pulscan_requires_periodicity.cmake CMake wiring for the new test
tests/test_pulscan_pipeline_integration.cpp New end-to-end Pulscan+pipeline integration test
tests/test_pulscan_pipeline_integration.cmake CMake wiring for the new test
tests/test_pulscan_median_normalisation.cpp New CUDA median-normalisation regression test
tests/test_pulscan_median_normalisation.cmake CMake wiring for the new test
tests/test_pulscan_magnitude_squared.cpp New CUDA magnitude-squared regression test
tests/test_pulscan_magnitude_squared.cmake CMake wiring for the new test
tests/test_pulscan_helpers.cpp New helper-function regression test (sigma conversion)
tests/test_pulscan_helpers.cmake CMake wiring for the new test
tests/test_pulscan_decimate_harmonics.cpp New CUDA harmonic decimation regression test
tests/test_pulscan_decimate_harmonics.cmake CMake wiring for the new test
tests/test_pulscan_compatibility_helpers.cpp New test for FFT-bin truncation helper
tests/test_pulscan_compatibility_helpers.cmake CMake wiring for the new test
tests/test_pulscan_candidate_sort.cpp New candidate sorting/trim regression test
tests/test_pulscan_candidate_sort.cmake CMake wiring for the new test
tests/test_pulscan_calculate_logp.cpp New CUDA logp calculation regression test
tests/test_pulscan_calculate_logp.cmake CMake wiring for the new test
tests/test_pulscan_boxcar_filter.cpp New CUDA boxcar filter regression test (tail handling)
tests/test_pulscan_boxcar_filter.cmake CMake wiring for the new test
tests/CMakeLists.txt Conditionally include Pulscan tests under AA_ENABLE_PULSCAN
src/aa_main.cpp Add Pulscan output-dir handling and output emission from the CLI pipeline
src/aa_device_pulscan.cu New Pulscan CUDA kernels + kernel wrappers + sigma helper
src/aa_device_corner_turn_kernel.cu Extend corner-turn kernel wrapper to support grid-Y tiling via offset
src/aa_corner_turn.cpp Add grid-Y tiling loop to avoid exceeding CUDA’s grid dimension limit
scripts/split_filterbank.py New helper script to split .fil files into chunks
meson_srclist.txt Add Pulscan CUDA source to Meson build list
meson.build Map Meson with_pulscan option to AA_ENABLE_PULSCAN define
input_files/ska_test_file.txt Update/replace example config content
input_files/pulscan_test.cfg New Pulscan test config
input_files/pulscan_sample.cfg New Pulscan sample config
input_files/pulscan_repro_no_periodicity.cfg New repro config without periodicity enabled
input_files/pulscan_gpu.cu Added Pulscan reference/validation CUDA source (input_files)
input_files/pulscan_generated.cfg New Pulscan generated-input config
input_files/pulscan_dm30125_part000_delivery.cfg New delivery config (includes pulscan output dir)
input_files/pulscan_dm30125_part000.cfg New delivery config variant
input_files/pulscan_dm30125.cfg New delivery config variant
include/aa_pulscan_runner.hpp New Pulscan runner implementation and workspace management
include/aa_pipeline_runner.hpp Add Pulscan candidate access/output hooks to pipeline runner interface
include/aa_pipeline_api.hpp Expose Pulscan candidate access/output via the API wrapper
include/aa_pipeline.hpp Add failsafe as a pipeline option and describe it
include/aa_params.hpp Define AA_ENABLE_PULSCAN default (0) when not provided by build
include/aa_device_pulscan.hpp New Pulscan types and kernel wrapper declarations
include/aa_device_info.hpp Improve robustness of clock-rate retrieval across CUDA versions
include/aa_device_corner_turn_kernel.hpp Update corner-turn kernel wrapper signature to include Y-offset
include/aa_config.hpp Add Pulscan output dir flag parsing and propagate failsafe option
build-tests/examples/CTestTestfile.cmake (Appears to be generated build output committed)
build-tests/astroaccelerate.pc (Appears to be generated build output committed)
build-tests/astro-accelerateConfig.cmake (Appears to be generated build output committed)
build-tests/Testing/Temporary/LastTestsFailed.log (Appears to be generated build output committed)
build-tests/Testing/Temporary/LastTest.log (Appears to be generated build output committed)
build-tests/DartConfiguration.tcl (Appears to be generated build output committed)
build-tests/CTestTestfile.cmake (Appears to be generated build output committed)
README.md Document Pulscan build/run/output behavior and env var for FFT dumps
Makefile Map PULSCAN=1 to -DAA_ENABLE_PULSCAN=1
MANUAL.md Add Pulscan build/usage notes
CMakeLists.txt Add AA_ENABLE_PULSCAN option and standardize C++14 flags/linking
.gitignore Ignore Pulscan outputs/dumps

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +44 to +47
if(!ddtr_strategy.ready()) {
std::cout << "DDTR strategy not ready" << std::endl;
return 0;
}

Copilot AI Apr 23, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This test treats an unready DDTR strategy as a success by returning 0. That makes the test pass without exercising any Pulscan integration and can hide regressions on machines/configurations where the strategy cannot be constructed. Return a non-zero exit code when ddtr_strategy.ready() is false so CI surfaces the failure.

Copilot uses AI. Check for mistakes.
copy_ddtr_data_to_host
threshold
failsafe
file /mnt/data/jay/ska_split/1_part000.fil

Copilot AI Apr 23, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This config hardcodes a developer-local absolute input path (/mnt/data/jay/...). To keep these example configs portable, replace it with a relative path or a placeholder path and describe expected file location in the docs.

Copilot uses AI. Check for mistakes.
selected_card_id 0
periodicity
copy_ddtr_data_to_host
pulscan-output-dir /home/jay/workspace/aa/astro-accelerate/build/pulscan_delivery_part000

Copilot AI Apr 23, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pulscan-output-dir is set to a developer-local absolute path. For a committed example config, prefer a relative path (e.g. ./pulscan_out) or a placeholder so other users can run it without editing.

Suggested change
pulscan-output-dir /home/jay/workspace/aa/astro-accelerate/build/pulscan_delivery_part000
pulscan-output-dir ./pulscan_out

Copilot uses AI. Check for mistakes.
Comment thread include/aa_config.hpp
Comment on lines +319 to +332
if (strcmp(string, "pulscan-output-dir") == 0 ||
strcmp(string, "pulscan_output_dir") == 0) {
wordexp_t expanded_string;

if (fscanf(fp_in, "%s", string) == 0)
{
fprintf(stderr, "failed to read input\n");
return false;
}
wordexp(string, &expanded_string, 0);
if(expanded_string.we_wordc > 0) {
flg.pulscan_output_dir = expanded_string.we_wordv[0];
}
wordfree(&expanded_string);

Copilot AI Apr 23, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

wordexp(..., 0) may perform command substitution (e.g. $(...)) depending on libc implementation, which can lead to unexpected command execution if the config file is untrusted. For an output directory path expansion, consider using WRDE_NOCMD (and checking wordexp's return code) or switching to a safer expansion approach (e.g. only ~ handling) to avoid executing shell constructs.

Copilot uses AI. Check for mistakes.
Comment on lines +84 to +87
if(!runner.ready()) {
std::cout << "Pipeline runner not ready" << std::endl;
return 0;
}

Copilot AI Apr 23, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

runner.ready() failure currently returns 0 (success), which can cause this integration test to silently pass without running the pipeline. Return a non-zero exit code so the test properly signals setup failures.

Copilot uses AI. Check for mistakes.
copy_ddtr_data_to_host
threshold
failsafe
file /mnt/data/jay/aa_pulscan_repro/pulscan_repro_part000.fil No newline at end of file

Copilot AI Apr 23, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This config hardcodes a developer-local absolute input path. Consider using a placeholder or relative path so others can run it without local path edits.

Suggested change
file /mnt/data/jay/aa_pulscan_repro/pulscan_repro_part000.fil
file pulscan_repro_part000.fil

Copilot uses AI. Check for mistakes.
Comment on lines +71 to +74
if(!ddtr_strategy_instance.ready()) {
std::cout << "DDTR strategy not ready after binding" << std::endl;
return 0;
}

Copilot AI Apr 23, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Similarly, this branch returns 0 when the runner strategy is not ready after binding. That exits successfully even though the test didn't validate Pulscan output ordering. Prefer returning a non-zero code here to ensure the test fails when setup is invalid.

Copilot uses AI. Check for mistakes.
Comment on lines +1 to +45
# CMake generated Testfile for
# Source directory: /home/jay/workspace/aa/astro-accelerate
# Build directory: /home/jay/workspace/aa/astro-accelerate/build-tests
#
# This file includes the relevant testing commands required for
# testing this directory and lists subdirectories to be tested as well.
add_test(test_filterbank_metadata_1 "tests/test_filterbank_metadata_1")
set_tests_properties(test_filterbank_metadata_1 PROPERTIES PASS_REGULAR_EXPRESSION "test_filterbank_metadata_1 pass" _BACKTRACE_TRIPLES "/home/jay/workspace/aa/astro-accelerate/tests/test_filterbank_metadata_1.cmake;11;add_test;/home/jay/workspace/aa/astro-accelerate/tests/test_filterbank_metadata_1.cmake;0;;/home/jay/workspace/aa/astro-accelerate/tests/CMakeLists.txt;4;include;/home/jay/workspace/aa/astro-accelerate/tests/CMakeLists.txt;0;;/home/jay/workspace/aa/astro-accelerate/CMakeLists.txt;260;include;/home/jay/workspace/aa/astro-accelerate/CMakeLists.txt;0;")
add_test(test_ddtr_strategy_1 "tests/test_ddtr_strategy_1")
set_tests_properties(test_ddtr_strategy_1 PROPERTIES PASS_REGULAR_EXPRESSION "Runs" _BACKTRACE_TRIPLES "/home/jay/workspace/aa/astro-accelerate/tests/test_ddtr_strategy_1.cmake;18;add_test;/home/jay/workspace/aa/astro-accelerate/tests/test_ddtr_strategy_1.cmake;0;;/home/jay/workspace/aa/astro-accelerate/tests/CMakeLists.txt;5;include;/home/jay/workspace/aa/astro-accelerate/tests/CMakeLists.txt;0;;/home/jay/workspace/aa/astro-accelerate/CMakeLists.txt;260;include;/home/jay/workspace/aa/astro-accelerate/CMakeLists.txt;0;")
add_test(test_ddtr_strategy_2 "tests/test_ddtr_strategy_2")
set_tests_properties(test_ddtr_strategy_2 PROPERTIES PASS_REGULAR_EXPRESSION "Runs" _BACKTRACE_TRIPLES "/home/jay/workspace/aa/astro-accelerate/tests/test_ddtr_strategy_2.cmake;18;add_test;/home/jay/workspace/aa/astro-accelerate/tests/test_ddtr_strategy_2.cmake;0;;/home/jay/workspace/aa/astro-accelerate/tests/CMakeLists.txt;6;include;/home/jay/workspace/aa/astro-accelerate/tests/CMakeLists.txt;0;;/home/jay/workspace/aa/astro-accelerate/CMakeLists.txt;260;include;/home/jay/workspace/aa/astro-accelerate/CMakeLists.txt;0;")
add_test(test_periodicity_strategy_1 "tests/test_periodicity_strategy_1")
set_tests_properties(test_periodicity_strategy_1 PROPERTIES PASS_REGULAR_EXPRESSION "Runs" _BACKTRACE_TRIPLES "/home/jay/workspace/aa/astro-accelerate/tests/test_periodicity_strategy_1.cmake;15;add_test;/home/jay/workspace/aa/astro-accelerate/tests/test_periodicity_strategy_1.cmake;0;;/home/jay/workspace/aa/astro-accelerate/tests/CMakeLists.txt;7;include;/home/jay/workspace/aa/astro-accelerate/tests/CMakeLists.txt;0;;/home/jay/workspace/aa/astro-accelerate/CMakeLists.txt;260;include;/home/jay/workspace/aa/astro-accelerate/CMakeLists.txt;0;")
add_test(test_device_memory_request "tests/test_device_memory_request" "6000000000")
set_tests_properties(test_device_memory_request PROPERTIES PASS_REGULAR_EXPRESSION "Runs" _BACKTRACE_TRIPLES "/home/jay/workspace/aa/astro-accelerate/tests/test_device_memory_request.cmake;17;add_test;/home/jay/workspace/aa/astro-accelerate/tests/test_device_memory_request.cmake;0;;/home/jay/workspace/aa/astro-accelerate/tests/CMakeLists.txt;8;include;/home/jay/workspace/aa/astro-accelerate/tests/CMakeLists.txt;0;;/home/jay/workspace/aa/astro-accelerate/CMakeLists.txt;260;include;/home/jay/workspace/aa/astro-accelerate/CMakeLists.txt;0;")
add_test(test_single_pulse_search_scan_1 "tests/test_single_pulse_search_scan_1")
set_tests_properties(test_single_pulse_search_scan_1 PROPERTIES FAIL_REGULAR_EXPRESSION "Test not passed" PASS_REGULAR_EXPRESSION "Test OK. Passed" _BACKTRACE_TRIPLES "/home/jay/workspace/aa/astro-accelerate/tests/test_single_pulse_search_scan_1.cmake;17;add_test;/home/jay/workspace/aa/astro-accelerate/tests/test_single_pulse_search_scan_1.cmake;0;;/home/jay/workspace/aa/astro-accelerate/tests/CMakeLists.txt;9;include;/home/jay/workspace/aa/astro-accelerate/tests/CMakeLists.txt;0;;/home/jay/workspace/aa/astro-accelerate/CMakeLists.txt;260;include;/home/jay/workspace/aa/astro-accelerate/CMakeLists.txt;0;")
add_test(test_ddtr_fakesignal_single "tests/test_ddtr_fakesignal_single")
set_tests_properties(test_ddtr_fakesignal_single PROPERTIES FAIL_REGULAR_EXPRESSION "Test not passed" PASS_REGULAR_EXPRESSION "Test OK. Passed" _BACKTRACE_TRIPLES "/home/jay/workspace/aa/astro-accelerate/tests/test_ddtr_fakesignal_single.cmake;14;add_test;/home/jay/workspace/aa/astro-accelerate/tests/test_ddtr_fakesignal_single.cmake;0;;/home/jay/workspace/aa/astro-accelerate/tests/CMakeLists.txt;10;include;/home/jay/workspace/aa/astro-accelerate/tests/CMakeLists.txt;0;;/home/jay/workspace/aa/astro-accelerate/CMakeLists.txt;260;include;/home/jay/workspace/aa/astro-accelerate/CMakeLists.txt;0;")
add_test(test_ddtr_fakesignal_period "tests/test_ddtr_fakesignal_period")
set_tests_properties(test_ddtr_fakesignal_period PROPERTIES FAIL_REGULAR_EXPRESSION "Test failed" PASS_REGULAR_EXPRESSION "Test passed" _BACKTRACE_TRIPLES "/home/jay/workspace/aa/astro-accelerate/tests/test_ddtr_fakesignal_period.cmake;14;add_test;/home/jay/workspace/aa/astro-accelerate/tests/test_ddtr_fakesignal_period.cmake;0;;/home/jay/workspace/aa/astro-accelerate/tests/CMakeLists.txt;11;include;/home/jay/workspace/aa/astro-accelerate/tests/CMakeLists.txt;0;;/home/jay/workspace/aa/astro-accelerate/CMakeLists.txt;260;include;/home/jay/workspace/aa/astro-accelerate/CMakeLists.txt;0;")
add_test(test_pulscan_compatibility_helpers "tests/test_pulscan_compatibility_helpers")
set_tests_properties(test_pulscan_compatibility_helpers PROPERTIES PASS_REGULAR_EXPRESSION "Runs" _BACKTRACE_TRIPLES "/home/jay/workspace/aa/astro-accelerate/tests/test_pulscan_compatibility_helpers.cmake;14;add_test;/home/jay/workspace/aa/astro-accelerate/tests/test_pulscan_compatibility_helpers.cmake;0;;/home/jay/workspace/aa/astro-accelerate/tests/CMakeLists.txt;14;include;/home/jay/workspace/aa/astro-accelerate/tests/CMakeLists.txt;0;;/home/jay/workspace/aa/astro-accelerate/CMakeLists.txt;260;include;/home/jay/workspace/aa/astro-accelerate/CMakeLists.txt;0;")
add_test(test_pulscan_helpers "tests/test_pulscan_helpers")
set_tests_properties(test_pulscan_helpers PROPERTIES PASS_REGULAR_EXPRESSION "Runs" _BACKTRACE_TRIPLES "/home/jay/workspace/aa/astro-accelerate/tests/test_pulscan_helpers.cmake;15;add_test;/home/jay/workspace/aa/astro-accelerate/tests/test_pulscan_helpers.cmake;0;;/home/jay/workspace/aa/astro-accelerate/tests/CMakeLists.txt;15;include;/home/jay/workspace/aa/astro-accelerate/tests/CMakeLists.txt;0;;/home/jay/workspace/aa/astro-accelerate/CMakeLists.txt;260;include;/home/jay/workspace/aa/astro-accelerate/CMakeLists.txt;0;")
add_test(test_pulscan_magnitude_squared "tests/test_pulscan_magnitude_squared")
set_tests_properties(test_pulscan_magnitude_squared PROPERTIES PASS_REGULAR_EXPRESSION "Runs" _BACKTRACE_TRIPLES "/home/jay/workspace/aa/astro-accelerate/tests/test_pulscan_magnitude_squared.cmake;15;add_test;/home/jay/workspace/aa/astro-accelerate/tests/test_pulscan_magnitude_squared.cmake;0;;/home/jay/workspace/aa/astro-accelerate/tests/CMakeLists.txt;16;include;/home/jay/workspace/aa/astro-accelerate/tests/CMakeLists.txt;0;;/home/jay/workspace/aa/astro-accelerate/CMakeLists.txt;260;include;/home/jay/workspace/aa/astro-accelerate/CMakeLists.txt;0;")
add_test(test_pulscan_separate_components "tests/test_pulscan_separate_components")
set_tests_properties(test_pulscan_separate_components PROPERTIES PASS_REGULAR_EXPRESSION "Runs" _BACKTRACE_TRIPLES "/home/jay/workspace/aa/astro-accelerate/tests/test_pulscan_separate_components.cmake;15;add_test;/home/jay/workspace/aa/astro-accelerate/tests/test_pulscan_separate_components.cmake;0;;/home/jay/workspace/aa/astro-accelerate/tests/CMakeLists.txt;17;include;/home/jay/workspace/aa/astro-accelerate/tests/CMakeLists.txt;0;;/home/jay/workspace/aa/astro-accelerate/CMakeLists.txt;260;include;/home/jay/workspace/aa/astro-accelerate/CMakeLists.txt;0;")
add_test(test_pulscan_median_normalisation "tests/test_pulscan_median_normalisation")
set_tests_properties(test_pulscan_median_normalisation PROPERTIES PASS_REGULAR_EXPRESSION "Runs" _BACKTRACE_TRIPLES "/home/jay/workspace/aa/astro-accelerate/tests/test_pulscan_median_normalisation.cmake;15;add_test;/home/jay/workspace/aa/astro-accelerate/tests/test_pulscan_median_normalisation.cmake;0;;/home/jay/workspace/aa/astro-accelerate/tests/CMakeLists.txt;18;include;/home/jay/workspace/aa/astro-accelerate/tests/CMakeLists.txt;0;;/home/jay/workspace/aa/astro-accelerate/CMakeLists.txt;260;include;/home/jay/workspace/aa/astro-accelerate/CMakeLists.txt;0;")
add_test(test_pulscan_decimate_harmonics "tests/test_pulscan_decimate_harmonics")
set_tests_properties(test_pulscan_decimate_harmonics PROPERTIES PASS_REGULAR_EXPRESSION "Runs" _BACKTRACE_TRIPLES "/home/jay/workspace/aa/astro-accelerate/tests/test_pulscan_decimate_harmonics.cmake;15;add_test;/home/jay/workspace/aa/astro-accelerate/tests/test_pulscan_decimate_harmonics.cmake;0;;/home/jay/workspace/aa/astro-accelerate/tests/CMakeLists.txt;19;include;/home/jay/workspace/aa/astro-accelerate/tests/CMakeLists.txt;0;;/home/jay/workspace/aa/astro-accelerate/CMakeLists.txt;260;include;/home/jay/workspace/aa/astro-accelerate/CMakeLists.txt;0;")
add_test(test_pulscan_calculate_logp "tests/test_pulscan_calculate_logp")
set_tests_properties(test_pulscan_calculate_logp PROPERTIES PASS_REGULAR_EXPRESSION "Runs" _BACKTRACE_TRIPLES "/home/jay/workspace/aa/astro-accelerate/tests/test_pulscan_calculate_logp.cmake;15;add_test;/home/jay/workspace/aa/astro-accelerate/tests/test_pulscan_calculate_logp.cmake;0;;/home/jay/workspace/aa/astro-accelerate/tests/CMakeLists.txt;20;include;/home/jay/workspace/aa/astro-accelerate/tests/CMakeLists.txt;0;;/home/jay/workspace/aa/astro-accelerate/CMakeLists.txt;260;include;/home/jay/workspace/aa/astro-accelerate/CMakeLists.txt;0;")
add_test(test_pulscan_boxcar_filter "tests/test_pulscan_boxcar_filter")
set_tests_properties(test_pulscan_boxcar_filter PROPERTIES PASS_REGULAR_EXPRESSION "Runs" _BACKTRACE_TRIPLES "/home/jay/workspace/aa/astro-accelerate/tests/test_pulscan_boxcar_filter.cmake;15;add_test;/home/jay/workspace/aa/astro-accelerate/tests/test_pulscan_boxcar_filter.cmake;0;;/home/jay/workspace/aa/astro-accelerate/tests/CMakeLists.txt;21;include;/home/jay/workspace/aa/astro-accelerate/tests/CMakeLists.txt;0;;/home/jay/workspace/aa/astro-accelerate/CMakeLists.txt;260;include;/home/jay/workspace/aa/astro-accelerate/CMakeLists.txt;0;")
add_test(test_pulscan_candidate_sort "tests/test_pulscan_candidate_sort")
set_tests_properties(test_pulscan_candidate_sort PROPERTIES PASS_REGULAR_EXPRESSION "Runs" _BACKTRACE_TRIPLES "/home/jay/workspace/aa/astro-accelerate/tests/test_pulscan_candidate_sort.cmake;13;add_test;/home/jay/workspace/aa/astro-accelerate/tests/test_pulscan_candidate_sort.cmake;0;;/home/jay/workspace/aa/astro-accelerate/tests/CMakeLists.txt;22;include;/home/jay/workspace/aa/astro-accelerate/tests/CMakeLists.txt;0;;/home/jay/workspace/aa/astro-accelerate/CMakeLists.txt;260;include;/home/jay/workspace/aa/astro-accelerate/CMakeLists.txt;0;")
add_test(test_pulscan_pipeline_integration "tests/test_pulscan_pipeline_integration")
set_tests_properties(test_pulscan_pipeline_integration PROPERTIES PASS_REGULAR_EXPRESSION "Runs" _BACKTRACE_TRIPLES "/home/jay/workspace/aa/astro-accelerate/tests/test_pulscan_pipeline_integration.cmake;16;add_test;/home/jay/workspace/aa/astro-accelerate/tests/test_pulscan_pipeline_integration.cmake;0;;/home/jay/workspace/aa/astro-accelerate/tests/CMakeLists.txt;23;include;/home/jay/workspace/aa/astro-accelerate/tests/CMakeLists.txt;0;;/home/jay/workspace/aa/astro-accelerate/CMakeLists.txt;260;include;/home/jay/workspace/aa/astro-accelerate/CMakeLists.txt;0;")
add_test(test_pulscan_requires_periodicity "tests/test_pulscan_requires_periodicity")
set_tests_properties(test_pulscan_requires_periodicity PROPERTIES PASS_REGULAR_EXPRESSION "Runs" _BACKTRACE_TRIPLES "/home/jay/workspace/aa/astro-accelerate/tests/test_pulscan_requires_periodicity.cmake;16;add_test;/home/jay/workspace/aa/astro-accelerate/tests/test_pulscan_requires_periodicity.cmake;0;;/home/jay/workspace/aa/astro-accelerate/tests/CMakeLists.txt;24;include;/home/jay/workspace/aa/astro-accelerate/tests/CMakeLists.txt;0;;/home/jay/workspace/aa/astro-accelerate/CMakeLists.txt;260;include;/home/jay/workspace/aa/astro-accelerate/CMakeLists.txt;0;")
subdirs("examples")

Copilot AI Apr 23, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These build-tests/... files appear to be CMake/CTest generated build artifacts (they embed absolute paths like /home/jay/...). They should not be committed to the repository because they are machine-specific and will churn constantly. Remove the committed build-tests/ outputs and add build-tests/ to .gitignore (or generate them only in CI/build directories).

Copilot uses AI. Check for mistakes.
copy_ddtr_data_to_host
threshold
failsafe
file /home/jay/workspace/aa/pulscan/sample_data/1298us_binary_multi32_8bit.fil

Copilot AI Apr 23, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This config hardcodes a developer-local absolute input path. For portability, switch to a relative/placeholder path (and/or add a short comment explaining where the .fil should come from).

Suggested change
file /home/jay/workspace/aa/pulscan/sample_data/1298us_binary_multi32_8bit.fil
file sample_data/1298us_binary_multi32_8bit.fil

Copilot uses AI. Check for mistakes.
copy_ddtr_data_to_host
threshold
failsafe
file /mnt/data/jay/aa_pulscan_repro/pulscan_repro_part000.fil

Copilot AI Apr 23, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This repro config hardcodes a developer-local absolute input path. Consider using a placeholder path and documenting how to obtain/generate the repro input so others can run it.

Suggested change
file /mnt/data/jay/aa_pulscan_repro/pulscan_repro_part000.fil
file path/to/pulscan_repro_part000.fil

Copilot uses AI. Check for mistakes.
@dejay-vu dejay-vu closed this Apr 24, 2026
@dejay-vu

Copy link
Copy Markdown
Collaborator Author

Closing this PR in favor of #284, which is the recreated PR from dejay-vu:jay/pulscan-integration to master after cleaning the accidental artifact commit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants