Skip to content

Add naive CCM implementation for performance benchmarking#77

Merged
keichi merged 2 commits intomasterfrom
naive-ccm
Jan 7, 2026
Merged

Add naive CCM implementation for performance benchmarking#77
keichi merged 2 commits intomasterfrom
naive-ccm

Conversation

@keichi
Copy link
Copy Markdown
Owner

@keichi keichi commented Jan 7, 2026

Summary

  • Add naive (non-optimized) CCM implementation for performance comparison
  • Useful for benchmarking optimized CCM against a baseline implementation
  • Fix NVCC compiler crash in ccm_test by using LayoutRight views

Test plan

  • C++ tests pass
  • Builds successfully with NVCC

keichi added 2 commits January 7, 2026 10:12
- Add ccm_naive function that computes distances per trial (baseline algorithm)
- Add calc_distances_sampled for computing distances with sampled library indices
- Add partial_sort_sampled for sorting with pre-computed index mapping
- Add Python binding for ccm_naive
- Add test case comparing naive and optimized implementations
Use TmpDistances/TmpIndices (LayoutRight) instead of SimplexLUT
(default layout) in the partial sort test. This avoids triggering
an NVCC compiler bug when instantiating sort_by_key_team with
LayoutLeft views.
@keichi keichi merged commit 59c38eb into master Jan 7, 2026
10 checks passed
@keichi keichi deleted the naive-ccm branch January 7, 2026 02:15
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.

1 participant