enable implicit multithreading to improve compression performance#33
enable implicit multithreading to improve compression performance#33neo-0007 wants to merge 1 commit intocompiler-research:developfrom
Conversation
|
Followup : Can we use |
|
What about the comparison with CRAM? any results on that? |
|
clang-tidy review says "All clean, LGTM! 👍" |
Codecov Report❌ Patch coverage is
❌ Your patch status has failed because the patch coverage (57.14%) is below the target coverage (85.00%). You can increase the patch coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## develop #33 +/- ##
===========================================
+ Coverage 59.89% 59.91% +0.02%
===========================================
Files 16 16
Lines 1476 1477 +1
Branches 631 632 +1
===========================================
+ Hits 884 885 +1
Misses 513 513
Partials 79 79
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
|
Great work! I noticed in my benchmarks (#34) that ZSTD achieves near-LZMA compression ratios while being faster. Combined with EnableImplicitMT(), this could give both better compression and faster conversion. Have you tested ZSTD + multithreading together? |
|
Thanks @swetank18 , You are right ZSTD along with Level 5 is the best compression settings for RAM files which are also been bench marked and documented here https://compiler-research.org/blogs/gsoc25_aditya_pandey_final_blog/ . Great work on your analysis #34 . I will also try to test out various settings and comparisons as you did and analyse the results on a different dataset. ramtools/tools/samtoramntuple.cxx Line 52 in 3a3873a |
3cd3a0f to
93cc85b
Compare
|
added clang-format suggestions |
93cc85b to
b28dc02
Compare
|
@mvassilev @AdityaPandeyCN , |
|
clang-tidy review says "All clean, LGTM! 👍" |
@neo-0007 please check the clang-format error. |
b28dc02 to
3ee8c96
Compare
|
@mvassilev Rebased on top of latest develop and ran |
3ee8c96 to
1de20ca
Compare
|
clang-tidy review says "All clean, LGTM! 👍" |
|
@guitargeek, can you take a look? |
guitargeek
left a comment
There was a problem hiding this comment.
Looks good to me, and a very nice demonstration of parallel RNTuple writing!
Signed-off-by: Hrishikesh Gohain <hrishikeshgohain123@gmail.com>
1de20ca to
2390a85
Compare


RNTupleWriteOptionsenables implicit multithreading by default https://root.cern/doc/v636/classROOT_1_1RNTupleWriteOptions.html#a6b57fe45b76b33670c4b8b979ccff490 . But the multithreading needs to be enabled first usingEnableImplicitMT().On testing
samtoramntupletool on a 37GB SAM file converted from a BAM file obtained from the 1000 Genomes Project: https://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase1/data/HG00100/alignment/Observations :
complete logs can be found here
Monitoring the CPU utilization during run :
Before change : ( single core used )
After change : ( multi cores utlized )
