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

Multi-process compilationLib #768

Open
sorear opened this issue Sep 17, 2020 · 1 comment
Open

Multi-process compilationLib #768

sorear opened this issue Sep 17, 2020 · 1 comment
Labels
dev experience Makes tasks developing cakeml itself easier enhancement high reward Improvements that will be noticed, >5-10% speedups uncertain scope

Comments

@sorear
Copy link
Contributor

sorear commented Sep 17, 2020

PolyML seems to scale poorly beyond about 4 threads; even the currently parallel parts of compilationLib cannot keep the current 8 cores busy, much less higher counts. For large projects that want more parallelism, we would need to farm out work to processes, create additional theories, and load them in the original process when done. Starting new HOL processes and saving and loading theories has significant overhead (possibly less so if the source is turned into a heap), so the single-process threaded compilationLib would have to remain as an option.

@sorear sorear added enhancement dev experience Makes tasks developing cakeml itself easier high reward Improvements that will be noticed, >5-10% speedups uncertain scope labels Sep 17, 2020
@mn200
Copy link
Contributor

mn200 commented Sep 18, 2020

Isabelle has much more experience with multi-core Poly/ML. Many of Makarius’ papers are likely relevant. But my recollection is that Isabelle also has trouble keeping things busy past 8 cores. Some of the Isabelle concurrency code is ported/available under HOL's src/portable/poly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dev experience Makes tasks developing cakeml itself easier enhancement high reward Improvements that will be noticed, >5-10% speedups uncertain scope
Projects
None yet
Development

No branches or pull requests

2 participants