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-threading primitives that use a fixed thread pool #1105

Draft
wants to merge 32 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
d3f0feb
Implement concurrent_findall
matko Apr 13, 2022
79d24e5
cpu_concurrent_forall and cpu_concurrent_findfirst
matko Apr 13, 2022
5ac9a37
remove resolved todo
matko Apr 13, 2022
0c699b1
Fix test to expect error
matko Apr 13, 2022
a9490d6
fix linting issues
matko Apr 13, 2022
e32b2f4
beginnings of a task framework
matko Apr 18, 2022
cef147d
Implement tasks waiting for other tasks
matko Apr 19, 2022
e035cae
use message queues rather than thread_wait to communicate updates
matko Apr 19, 2022
3627eb7
make wait_for_result unreified
matko Apr 19, 2022
e35b9a0
nested example program a bit more
matko Apr 19, 2022
28aeb8b
perform more work on every wakeup
matko Apr 19, 2022
2d050e8
implement task cleanup and killing
matko Apr 19, 2022
af5178b
rewrite task queue to have an associated task which can be used for c…
matko Apr 19, 2022
3ea4eda
make sure non-started tasks are properly destroyed on cleanup
matko Apr 19, 2022
af82501
properly destroy engines when cleaning rather than rely on gc for that
matko Apr 19, 2022
0a84e09
logic for getting more results out of a backtracking task
matko Apr 20, 2022
665e32d
ensure tasks with more results available are properly reaped
matko Apr 20, 2022
1001a56
remove debug prints
matko Apr 20, 2022
e2b5a3f
implement waiting for more than one task at once
matko Apr 21, 2022
a7237b8
Merge branch 'main' into multi_threading
matko Apr 22, 2022
df2be05
Merge branch 'main' into multi_threading
matko Apr 22, 2022
d435a28
Merge branch 'main' into multi_threading
matko Apr 27, 2022
279f6ff
Merge branch 'main' into multi_threading
matko Apr 27, 2022
07255cc
linter fix
matko Apr 27, 2022
0001ddf
fix throw call
matko Apr 27, 2022
1435ac2
initial work for task message queues
matko Apr 27, 2022
c7fb8f4
Bunch of work into concurrent tasking
matko Apr 28, 2022
dcc57a2
Merge branch 'main' into multi_threading
matko Apr 28, 2022
995758f
generator which generates N steps ahead
matko Apr 28, 2022
1d68b6b
configuration options for task_concurrent_goal
matko Apr 28, 2022
6d09156
task_concurrent_goal and task_generate take less arguments and have t…
matko Apr 28, 2022
f7f16db
typo fix
matko Apr 28, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 1 addition & 0 deletions src/core/util.pl
Original file line number Diff line number Diff line change
Expand Up @@ -267,6 +267,7 @@
% note: test_utils is intentionally omitted
:- use_module(util/syntax).
:- use_module(util/file_utils).
:- use_module(util/threading).
:- use_module(util/types).
:- use_module(util/remote_file).
:- use_module(util/utils).
Expand Down