Make task splitting in TTreeProcessorMT more sensible with many input files.#7106
Conversation
|
Can one of the admins verify this patch? |
|
Let me know what the preferred way would be to add a deprecation warning if a user calls SetMaxTasksPerFilePerWorker, since they should now call SetTasksPerWorker instead. |
|
@phsft-bot build! |
|
Starting build on |
|
Build failed on ROOT-fedora30/cxx14. Failing tests: |
|
Build failed on mac1014/python3. Failing tests: |
|
Build failed on ROOT-performance-centos8-multicore/default. Failing tests: |
|
Build failed on ROOT-debian10-i386/cxx14. Failing tests: |
|
Build failed on ROOT-ubuntu16/nortcxxmod. Failing tests: |
|
Build failed on mac11.0/cxx17. Failing tests: |
|
Hi @bendavid , thanks a lot, I will take a look asap (I see that the test failures are desired -- I can take care of updating the corresponding roottest test). |
|
Build failed on windows10/cxx14. |
eguiraud
left a comment
There was a problem hiding this comment.
Thanks Josh, looks good to me, and I can take care of deprecating fgMaxTasksPerFilePerWorker & friends. I don't 100% trust my Friday evening brain though, so I'll give it a second thought on Monday and merge then 😄
|
@bendavid do you have anything against renaming |
|
No strong feelings, but the purpose of the name change was to reflect that it's not a hard upper ceiling either, just a target. |
|
Let me see if I understand correctly: with these changes every file has a hard cap at |
|
Yes that's right. |
|
Alright. Indeed the extreme case in which a user sets |
|
@bendavid can you please switch the name to |
b30fabe to
83e848b
Compare
|
Done. |
|
@phsft-bot build please |
|
Starting build on |
|
Build failed on ROOT-performance-centos8-multicore/default. Failing tests: |
|
Build failed on ROOT-fedora30/cxx14. Failing tests: |
|
Build failed on ROOT-ubuntu16/nortcxxmod. Failing tests: |
|
Build failed on mac11.0/cxx17. Failing tests: |
|
Build failed on mac1014/python3. Failing tests: |
|
Build failed on ROOT-debian10-i386/cxx14. Failing tests: |
|
Build failed on windows10/cxx14. Errors:
|
Co-authored-by: Enric Tejedor Saavedra <[email protected]>
|
@phsft-bot build please |
|
Starting build on |
eguiraud
left a comment
There was a problem hiding this comment.
Building one last time before merging, but I think this is good to go. root-project/roottest#660 updates roottest_root_multicore_tp_process_imt which fails with this patch.
|
Build failed on ROOT-ubuntu16/nortcxxmod. Failing tests: |
|
Build failed on mac1014/python3. Failing tests: |
|
Build failed on ROOT-performance-centos8-multicore/default. Failing tests: |
|
Build failed on ROOT-debian10-i386/cxx14. Failing tests: |
|
Build failed on mac11.0/cxx17. Failing tests: |
|
Build failed on ROOT-fedora30/cxx14. Failing tests: |
|
Build failed on windows10/cxx14. |
|
Thank you very much @bendavid ! |
Previously if running with a large number of input files (few hundred or even a thousand+ could be typical for large datasets processed into flat trees with grid jobs) one could end up with a huge number of tasks (at minimum nThreads * nFiles).
This makes the splitting aware of the number of files, taken into account for both the default splitting and the function used for user configuration, which also changes name.