Add GPU-accelerated TCRdist distance calculation - #754
Open
felixpetschko wants to merge 57 commits into
Open
felixpetschko wants to merge 57 commits into
felixpetschko wants to merge 57 commits into
Conversation
…lt blocks within Hamming kernel itself
# Conflicts: # src/scirpy/tests/test_ir_dist_metrics.py
Collaborator
Author
|
@grst Could you please add the run-gpu-ci label? I don't have permission to set it myself. |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #754 +/- ##
==========================================
- Coverage 76.78% 74.29% -2.50%
==========================================
Files 52 52
Lines 4851 5045 +194
==========================================
+ Hits 3725 3748 +23
- Misses 1126 1297 +171
🚀 New features to boost your workflow:
|
Collaborator
|
added, also sent you an invitation to give you the permissions. |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds GPU support for the CDR3 TCRdist metric, following the general structure of the GPU Hamming implementation and matching the updated CPU TCRdist behavior. It substantially improves execution time on large datasets.
Adds metric="gpu_tcrdist" for GPU-accelerated CDR3 TCRdist calculations, supporting
BLOSUM62 and TCRBLOSUM matrices.
Follows the GPU Hamming implementation with configurable row/column tiling, adaptive
result buffers, symmetry-based tile skipping, ...
Supports fixed_gappos=True only; dynamic gap positioning is not yet implemented.
Matches the updated CPU defaults and trimming behavior: gap_penalty=12, cutoff=24, trim-
aware fixed gap positioning, and exclusion of fully trimmed sequences. -> depends on PR Update CPU TCRdist defaults and fix trimming behavior #753.
Enables processing of the Omniscope COVID dataset with approximately 8 million cells in about ~5
minutes on a single NVIDIA A30, compared with approximately ~2 hours with 64 CPU
cores with the CPU implementation.
Updates API documentation, the large-datasets tutorial, and the changelog.