Small Scale Project Astrolink

Scenario

Researcher

Dr William Oliver, AstroAI-Lab, IWR

Initial problem

  • The researcher has developed a library, Astrolink, that crashed with a segmentation fault for very large point cloud datasets

Outcome

What we did

  • Identified cause as an int32 overflow in compiled C code inside the underlying pykdtree library
  • Fixed pykdtree by adding an implementation using 64bit integers to support very large point clouds
  • Added logic to automatically choose 32bit or 64bit implementation based on the point cloud size for optimal performance
  • Updated and improved the continous integration to build and test the linux and mac arm64 wheels using native hardware

Results

  • Astrolink (and all other codes and libraries that use the pykdtree library) no longer segfaults with very large point clouds