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