Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
las3_pub
/
predictable_parallel_patterns
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
25d18c11
authored
6 years ago
by
FritzFlorian
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Rework lock-free-work-stealing-deque to be simpler and fit 'classic' approach.
parent
bd826491
Pipeline
#1160
passed with stages
in 3 minutes 33 seconds
Changes
3
Pipelines
1
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
1 additions
and
5 deletions
+1
-5
app/invoke_parallel/main.cpp
+0
-1
lib/pls/include/pls/internal/data_structures/work_stealing_deque.h
+0
-0
lib/pls/src/internal/scheduling/fork_join_task.cpp
+1
-4
No files found.
app/invoke_parallel/main.cpp
View file @
25d18c11
...
@@ -6,7 +6,6 @@
...
@@ -6,7 +6,6 @@
#include <vector>
#include <vector>
static
constexpr
int
CUTOFF
=
16
;
static
constexpr
int
CUTOFF
=
16
;
static
constexpr
int
NUM_ITERATIONS
=
1000
;
static
constexpr
int
INPUT_SIZE
=
2064
;
static
constexpr
int
INPUT_SIZE
=
2064
;
typedef
std
::
vector
<
std
::
complex
<
double
>>
complex_vector
;
typedef
std
::
vector
<
std
::
complex
<
double
>>
complex_vector
;
...
...
This diff is collapsed.
Click to expand it.
lib/pls/include/pls/internal/data_structures/work_stealing_deque.h
View file @
25d18c11
This diff is collapsed.
Click to expand it.
lib/pls/src/internal/scheduling/fork_join_task.cpp
View file @
25d18c11
...
@@ -23,7 +23,6 @@ void fork_join_sub_task::execute() {
...
@@ -23,7 +23,6 @@ void fork_join_sub_task::execute() {
PROFILE_WORK_BLOCK
(
"execute sub_task"
)
PROFILE_WORK_BLOCK
(
"execute sub_task"
)
tbb_task_
->
currently_executing_
=
this
;
tbb_task_
->
currently_executing_
=
this
;
if
(
executed
)
{
if
(
executed
)
{
int
my_id
=
base
::
this_thread
::
state
<
thread_state
>
()
->
id_
;
PLS_ERROR
(
"Double Execution!"
)
PLS_ERROR
(
"Double Execution!"
)
}
}
executed
=
true
;
executed
=
true
;
...
@@ -64,9 +63,7 @@ fork_join_sub_task *fork_join_task::get_local_sub_task() {
...
@@ -64,9 +63,7 @@ fork_join_sub_task *fork_join_task::get_local_sub_task() {
}
}
fork_join_sub_task
*
fork_join_task
::
get_stolen_sub_task
()
{
fork_join_sub_task
*
fork_join_task
::
get_stolen_sub_task
()
{
auto
tmp
=
deque_
.
save_state
();
return
deque_
.
pop_head
();
auto
result
=
deque_
.
pop_head
();
return
result
;
}
}
bool
fork_join_task
::
internal_stealing
(
abstract_task
*
other_task
)
{
bool
fork_join_task
::
internal_stealing
(
abstract_task
*
other_task
)
{
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment