(feat): _first_pass_qc
single dispatch refactor
#180
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.
I added a separate file here containing the refactor. It drops the number of lines by 50, and that's only first pass (second would be more).
To reproduce my benchmark, I ran (on our current cluster setup):
CUDA_VISIBLE_DEVICES="0,1,2,3" srun --gres=gpu:4 --partition=dc-gpu --account=training2406 --reservation=gpuhack24-2024-04-25 --time=480 --pty /bin/bash -i
and then the following script in a file called
rsc_example.py
viapython rsc_example.py refactored
orpython rsc_example.py current
. This script prints out the time taken and theAnnData
object (so one can see the QC is calculated). For me, I get about 800-900 milliseconds on both implementations.