Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CPU multicore and NUMA - updated results from old GBM-multicore repo #29

Open
szilard opened this issue May 18, 2019 · 6 comments
Open

Comments

@szilard
Copy link
Owner

szilard commented May 18, 2019

Redoing old stuff from:
https://github.com/szilard/GBM-multicore

New code here:
https://github.com/szilard/GBM-perf/tree/master/analysis/multicore

@szilard szilard changed the title Multicore/multithreaded performance (and NUMA slowdown) Multicore/multithreaded per (and NUMA slowdown) - updated old GBM-multicore repo May 20, 2019
@szilard szilard changed the title Multicore/multithreaded per (and NUMA slowdown) - updated old GBM-multicore repo Multicore/multithreaded perf (and NUMA) - updated old GBM-multicore repo May 20, 2019
@szilard szilard changed the title Multicore/multithreaded perf (and NUMA) - updated old GBM-multicore repo Multicore/multithreaded perf (and NUMA) - updated results from old GBM-multicore repo May 20, 2019
@szilard
Copy link
Owner Author

szilard commented May 24, 2019

@szilard szilard changed the title Multicore/multithreaded perf (and NUMA) - updated results from old GBM-multicore repo CPU multicore/multithreaded perf (and NUMA) - updated results from old GBM-multicore repo May 25, 2019
@szilard
Copy link
Owner Author

szilard commented Sep 9, 2020

2020-09-09 UPDATE: xgboost/lightgbm has improved in multi-core scaling / NUMA slow-down has been mitigated:

https://htmlpreview.github.io/?https://github.com/szilard/GBM-perf/blob/master/analysis/multicore/results-update2020sept/res-new.html

compare vs:

https://htmlpreview.github.io/?https://github.com/szilard/GBM-perf/blob/master/analysis/multicore/results-update2020sept/res-old.html

e.g.:

NUMA issue:

old:

Screen Shot 2020-09-09 at 10 38 33 AM

new:

Screen Shot 2020-09-09 at 10 38 45 AM

multicore scaling:

old:

Screen Shot 2020-09-09 at 10 41 31 AM

new:

Screen Shot 2020-09-09 at 10 41 10 AM

@szilard
Copy link
Owner Author

szilard commented Sep 13, 2020

Re-run with all tools (+h2o, ++catboost):

https://htmlpreview.github.io/?https://github.com/szilard/GBM-perf/blob/master/analysis/multicore/results-update2020sept-2/res.html

Screen Shot 2020-09-13 at 2 39 08 AM

Same with results for 1,2 cores removed and then rescaled to better see what's going on for many cores:

Screen Shot 2020-09-13 at 2 39 22 AM

Speedups for 2,4,8,16 physical cores (no HT and no NUMA):

Screen Shot 2020-09-13 at 2 40 22 AM

Speedup from 1 to 16 cores is:

size h2o xgboost lightgbm catboost
0.1M 3 6.5 1.5 3.5
1M 8 6.5 4 6
10M 24 5 7.5 8

@szilard
Copy link
Owner Author

szilard commented Sep 13, 2020

runtime/size:

Screen Shot 2020-09-13 at 4 11 46 AM

@szilard
Copy link
Owner Author

szilard commented Sep 13, 2020

AUC:

Screen Shot 2020-09-13 at 4 12 51 AM

@szilard
Copy link
Owner Author

szilard commented Sep 13, 2020

NUMA+HT effect (combined):

64 cores (2 sockets, each with 16 physical cores + 16 HT) vs 16 physical cores on 1 socket:

Screen Shot 2020-09-13 at 6 51 55 AM

Below red line means on 64 cores it is slower than on 16 cores

size h2o xgboost lightgbm catboost
0.1M -40% -50% -70% 15%
1M -15 % -2% -60% -20%
10M 25% 35% -20% 10%

@szilard szilard changed the title CPU multicore/multithreaded perf (and NUMA) - updated results from old GBM-multicore repo CPU multicore and NUMA - updated results from old GBM-multicore repo Sep 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant