Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
BRAMAS Berenger
spetabaru
Commits
a3a176d6
Commit
a3a176d6
authored
Nov 04, 2020
by
CARDOSI Paul
Browse files
Merge branch 'rename-reorganize' into 'master'
Rename data access mode objects and reorganize source files See merge request bramas/spetabaru!33
parents
711beabe
fa5fb647
Changes
64
Hide whitespace changes
Inline
Side-by-side
Examples/Basic/benchmark.cpp
View file @
a3a176d6
...
...
@@ -5,11 +5,11 @@
#include
<iostream>
#include
"
Utils/Sp
Mode
s
.hpp"
#include
"
Data/SpDataAccess
Mode.hpp"
#include
"Utils/SpUtils.hpp"
#include
"Task
s
/SpTask.hpp"
#include
"
Runtimes
/SpRuntime.hpp"
#include
"Task/SpTask.hpp"
#include
"
Legacy
/SpRuntime.hpp"
#include
"Utils/SpTimer.hpp"
#include
"Utils/small_vector.hpp"
...
...
Examples/Basic/daggraph.cpp
View file @
a3a176d6
...
...
@@ -5,11 +5,11 @@
#include
<iostream>
#include
"
Utils/Sp
Mode
s
.hpp"
#include
"
Data/SpDataAccess
Mode.hpp"
#include
"Utils/SpUtils.hpp"
#include
"Task
s
/SpTask.hpp"
#include
"
Runtimes
/SpRuntime.hpp"
#include
"Task/SpTask.hpp"
#include
"
Legacy
/SpRuntime.hpp"
int
main
(){
const
int
NumThreads
=
SpUtils
::
DefaultNumThreads
();
...
...
Examples/Basic/getting-started.cpp
View file @
a3a176d6
...
...
@@ -6,10 +6,10 @@
#include
<random>
#include
<cassert>
#include
"
Utils/Sp
Mode
s
.hpp"
#include
"
Utils
/SpPriority.hpp"
#include
"
Utils
/SpProbability.hpp"
#include
"
Runtimes
/SpRuntime.hpp"
#include
"
Data/SpDataAccess
Mode.hpp"
#include
"
Task
/SpPriority.hpp"
#include
"
Task
/SpProbability.hpp"
#include
"
Legacy
/SpRuntime.hpp"
[[
maybe_unused
]]
const
size_t
seedSpeculationSuccess
=
42
;
[[
maybe_unused
]]
const
size_t
seedSpeculationFailure
=
0
;
...
...
@@ -58,7 +58,7 @@ int main([[maybe_unused]] int argc, [[maybe_unused]] char *argv[]){
std
::
uniform_real_distribution
<
double
>
dis01
(
0
,
1
);
runtime
.
task
(
SpPriority
(
0
),
SpProbability
(
0.5
),
SpRead
(
b
),
Sp
Maybe
Write
(
a
),
Sp
Potential
Write
(
a
),
[
dis01
,
mtEngine
]
(
const
int
&
inB
,
int
&
inA
)
mutable
->
bool
{
double
val
=
dis01
(
mtEngine
);
...
...
Examples/Basic/maybe-write-model-2.cpp
View file @
a3a176d6
...
...
@@ -3,11 +3,11 @@
// Under LGPL Licence, please you must read the LICENCE file.
///////////////////////////////////////////////////////////////////////////
#include
"
Utils/Sp
Mode
s
.hpp"
#include
"
Data/SpDataAccess
Mode.hpp"
#include
"Utils/SpUtils.hpp"
#include
"Task
s
/SpTask.hpp"
#include
"
Runtimes
/SpRuntime.hpp"
#include
"Task/SpTask.hpp"
#include
"
Legacy
/SpRuntime.hpp"
int
main
(){
std
::
cout
<<
"Example 1:"
<<
std
::
endl
;
...
...
@@ -36,7 +36,7 @@ int main(){
const
int
nbUncertainTasks
=
3
;
for
(
int
idx
=
0
;
idx
<
nbUncertainTasks
;
++
idx
){
runtime
.
task
(
Sp
Maybe
Write
(
val
),
[](
int
&
/*valParam*/
)
->
bool
{
runtime
.
task
(
Sp
Potential
Write
(
val
),
[](
int
&
/*valParam*/
)
->
bool
{
return
true
;
}).
setTaskName
(
"Uncertain task -- "
+
std
::
to_string
(
idx
));
}
...
...
Examples/Basic/tasksinsertion.cpp
deleted
100644 → 0
View file @
711beabe
///////////////////////////////////////////////////////////////////////////
// Spetabaru - Berenger Bramas MPCDF - 2017
// Under LGPL Licence, please you must read the LICENCE file.
///////////////////////////////////////////////////////////////////////////
#include
<iostream>
#include
"Utils/SpModes.hpp"
#include
"Utils/SpUtils.hpp"
#include
"Tasks/SpTask.hpp"
#include
"Runtimes/SpRuntime.hpp"
int
main
(){
return
0
;
}
Examples/Basic/tempbuffer.cpp
View file @
a3a176d6
...
...
@@ -5,13 +5,13 @@
#include
<iostream>
#include
"
Utils/Sp
Mode
s
.hpp"
#include
"
Data/SpDataAccess
Mode.hpp"
#include
"Utils/SpUtils.hpp"
#include
"Task
s
/SpTask.hpp"
#include
"
Runtimes
/SpRuntime.hpp"
#include
"Task/SpTask.hpp"
#include
"
Legacy
/SpRuntime.hpp"
#include
"
Buffer
/SpBufferDataView.hpp"
#include
"
Utils
/SpBufferDataView.hpp"
#include
"Utils/small_vector.hpp"
int
main
(){
...
...
Examples/Basic/tempheapbuffer.cpp
View file @
a3a176d6
...
...
@@ -5,14 +5,14 @@
#include
<iostream>
#include
"
Utils/Sp
Mode
s
.hpp"
#include
"
Data/SpDataAccess
Mode.hpp"
#include
"Utils/SpUtils.hpp"
#include
"Task
s
/SpTask.hpp"
#include
"
Runtimes
/SpRuntime.hpp"
#include
"Task/SpTask.hpp"
#include
"
Legacy
/SpRuntime.hpp"
#include
"
Buffer
/SpBufferDataView.hpp"
#include
"
Buffer
/SpHeapBuffer.hpp"
#include
"
Utils
/SpBufferDataView.hpp"
#include
"
Utils
/SpHeapBuffer.hpp"
#include
"Utils/small_vector.hpp"
...
...
Examples/Basic/tracegeneration.cpp
View file @
a3a176d6
...
...
@@ -5,11 +5,11 @@
#include
<iostream>
#include
"
Utils/Sp
Mode
s
.hpp"
#include
"
Data/SpDataAccess
Mode.hpp"
#include
"Utils/SpUtils.hpp"
#include
"Task
s
/SpTask.hpp"
#include
"
Runtimes
/SpRuntime.hpp"
#include
"Task/SpTask.hpp"
#include
"
Legacy
/SpRuntime.hpp"
int
main
(){
const
int
NumThreads
=
SpUtils
::
DefaultNumThreads
();
...
...
Examples/MC/mc.cpp
View file @
a3a176d6
...
...
@@ -5,12 +5,12 @@
#include
<iostream>
#include
"
Utils/Sp
Mode
s
.hpp"
#include
"
Data/SpDataAccess
Mode.hpp"
#include
"Utils/SpUtils.hpp"
#include
"Utils/SpTimer.hpp"
#include
"Task
s
/SpTask.hpp"
#include
"
Runtimes
/SpRuntime.hpp"
#include
"Task/SpTask.hpp"
#include
"
Legacy
/SpRuntime.hpp"
#include
"Random/SpPhiloxGenerator.hpp"
#include
"Utils/small_vector.hpp"
...
...
@@ -154,7 +154,7 @@ int main(){
runtime
.
task
(
SpWrite
(
energyAll
),
SpWrite
(
domains
[
idxDomain
]),
SpReadArray
(
domains
.
data
(),
SpArrayView
(
NbDomains
).
removeItem
(
idxDomain
)),
Sp
Atomic
Write
(
*
acceptedMove
),
Sp
Parallel
Write
(
*
acceptedMove
),
[
verbose
,
BoxWidth
,
displacement
,
Temperature
,
idxDomain
,
idxLoop
,
randGen
](
Matrix
<
double
>&
energyAllParam
,
Domain
<
double
>&
domains_idxDomain
,
...
...
@@ -234,8 +234,8 @@ int main(){
for
(
int
idxDomain
=
0
;
idxDomain
<
NbDomains
;
++
idxDomain
){
runtime
.
task
(
Sp
Maybe
Write
(
energyAll
),
Sp
Maybe
Write
(
domains
[
idxDomain
]),
Sp
Potential
Write
(
energyAll
),
Sp
Potential
Write
(
domains
[
idxDomain
]),
SpReadArray
(
domains
.
data
(),
SpArrayView
(
NbDomains
).
removeItem
(
idxDomain
)),
[
verbose
,
idxDomain
,
idxLoop
,
BoxWidth
,
displacement
,
Temperature
,
randGen
](
Matrix
<
double
>&
energyAllParam
,
...
...
@@ -332,8 +332,8 @@ int main(){
for
(
int
idxDomain
=
0
;
idxDomain
<
NbDomains
;
++
idxDomain
){
runtime
.
task
(
Sp
Maybe
Write
(
energyAll
),
Sp
Maybe
Write
(
domains
[
idxDomain
]),
Sp
Potential
Write
(
energyAll
),
Sp
Potential
Write
(
domains
[
idxDomain
]),
SpReadArray
(
domains
.
data
(),
SpArrayView
(
NbDomains
).
removeItem
(
idxDomain
)),
[
verbose
,
idxDomain
,
idxLoop
,
BoxWidth
,
displacement
,
Temperature
,
randGen
](
Matrix
<
double
>&
energyAllParam
,
...
...
@@ -431,8 +431,8 @@ int main(){
for
(
int
idxDomain
=
0
;
idxDomain
<
NbDomains
;
++
idxDomain
){
runtime
.
task
(
Sp
Maybe
Write
(
energyAll
),
Sp
Maybe
Write
(
domains
[
idxDomain
]),
Sp
Potential
Write
(
energyAll
),
Sp
Potential
Write
(
domains
[
idxDomain
]),
SpReadArray
(
domains
.
data
(),
SpArrayView
(
NbDomains
).
removeItem
(
idxDomain
)),
[
verbose
,
idxDomain
,
idxLoop
,
BoxWidth
,
displacement
,
randGen
](
Matrix
<
double
>&
energyAllParam
,
...
...
Examples/MC/mcCollide.cpp
View file @
a3a176d6
...
...
@@ -5,11 +5,11 @@
#include
<iostream>
#include
"
Utils/Sp
Mode
s
.hpp"
#include
"
Data/SpDataAccess
Mode.hpp"
#include
"Utils/SpUtils.hpp"
#include
"Task
s
/SpTask.hpp"
#include
"
Runtimes
/SpRuntime.hpp"
#include
"Task/SpTask.hpp"
#include
"
Legacy
/SpRuntime.hpp"
#include
"Random/SpPhiloxGenerator.hpp"
#include
"Utils/small_vector.hpp"
...
...
@@ -149,8 +149,8 @@ int main(){
SpWrite
(
*
movedDomain
),
SpReadArray
(
domains
.
data
(),
SpArrayView
(
NbDomains
).
removeItem
(
idxDomain
)),
SpWrite
(
domains
[
idxDomain
]),
Sp
Atomic
Write
(
*
acceptedMove
),
Sp
Atomic
Write
(
*
failedMove
),
Sp
Parallel
Write
(
*
acceptedMove
),
Sp
Parallel
Write
(
*
failedMove
),
[
&
Temperature
,
idxDomain
,
idxLoop
,
&
collisionLimit
,
&
BoxWidth
,
&
displacement
,
randGen
](
Matrix
<
double
>&
energyAllParam
,
Domain
<
double
>&
movedDomainParam
,
...
...
@@ -256,12 +256,12 @@ int main(){
}).
setTaskName
(
"MoveDomain -- "
+
std
::
to_string
(
idxLoop
)
+
"/"
+
std
::
to_string
(
idxDomain
));
randGen
.
skip
(
3
*
NbParticlesPerDomain
);
runtime
.
task
(
Sp
Maybe
Write
(
energyAll
),
runtime
.
task
(
Sp
Potential
Write
(
energyAll
),
SpWrite
(
*
movedDomain
),
SpReadArray
(
domains
.
data
(),
SpArrayView
(
NbDomains
).
removeItem
(
idxDomain
)),
Sp
Maybe
Write
(
domains
[
idxDomain
]),
Sp
Atomic
Write
(
*
acceptedMove
),
Sp
Atomic
Write
(
*
failedMove
),
Sp
Potential
Write
(
domains
[
idxDomain
]),
Sp
Parallel
Write
(
*
acceptedMove
),
Sp
Parallel
Write
(
*
failedMove
),
[
&
Temperature
,
idxDomain
,
idxLoop
,
&
collisionLimit
,
&
BoxWidth
,
&
displacement
,
randGen
](
Matrix
<
double
>&
energyAllParam
,
Domain
<
double
>&
movedDomainParam
,
...
...
Examples/MC/remc.cpp
View file @
a3a176d6
...
...
@@ -5,12 +5,12 @@
#include
<iostream>
#include
"
Utils/Sp
Mode
s
.hpp"
#include
"
Data/SpDataAccess
Mode.hpp"
#include
"Utils/SpUtils.hpp"
#include
"Utils/SpTimer.hpp"
#include
"Task
s
/SpTask.hpp"
#include
"
Runtimes
/SpRuntime.hpp"
#include
"Task/SpTask.hpp"
#include
"
Legacy
/SpRuntime.hpp"
#include
"Random/SpPhiloxGenerator.hpp"
#include
"Utils/small_vector.hpp"
...
...
@@ -226,7 +226,7 @@ int main(){
runtime
.
task
(
SpWrite
(
energyAll
),
SpWrite
(
domains
[
idxDomain
]),
SpReadArray
(
domains
.
data
(),
SpArrayView
(
NbDomains
).
removeItem
(
idxDomain
)),
Sp
Atomic
Write
(
*
acceptedMove
),
Sp
Parallel
Write
(
*
acceptedMove
),
[
verbose
,
BoxWidth
,
displacement
,
Temperature
,
idxDomain
,
idxReplica
,
idxInnerLoop
,
randGen
](
Matrix
<
double
>&
energyAllParam
,
Domain
<
double
>&
domains_idxDomain
,
...
...
@@ -369,8 +369,8 @@ int main(){
for
(
int
idxDomain
=
0
;
idxDomain
<
NbDomains
;
++
idxDomain
){
runtime
.
task
(
Sp
Maybe
Write
(
energyAll
),
Sp
Maybe
Write
(
domains
[
idxDomain
]),
Sp
Potential
Write
(
energyAll
),
Sp
Potential
Write
(
domains
[
idxDomain
]),
SpReadArray
(
domains
.
data
(),
SpArrayView
(
NbDomains
).
removeItem
(
idxDomain
)),
[
verbose
,
BoxWidth
,
displacement
,
Temperature
,
idxDomain
,
idxReplica
,
idxInnerLoop
,
randGen
](
Matrix
<
double
>&
energyAllParam
,
...
...
@@ -433,10 +433,10 @@ int main(){
Matrix
<
double
>&
energyAll1
=
replicaEnergyAll
[
idxReplica
+
1
];
runtime
.
task
(
Sp
Maybe
WriteArray
(
domains0
.
data
(),
SpArrayView
(
NbDomains
)),
Sp
Maybe
Write
(
energyAll0
),
Sp
Maybe
WriteArray
(
domains1
.
data
(),
SpArrayView
(
NbDomains
)),
Sp
Maybe
Write
(
energyAll1
),
Sp
Potential
WriteArray
(
domains0
.
data
(),
SpArrayView
(
NbDomains
)),
Sp
Potential
Write
(
energyAll0
),
Sp
Potential
WriteArray
(
domains1
.
data
(),
SpArrayView
(
NbDomains
)),
Sp
Potential
Write
(
energyAll1
),
[
verbose
,
randGen0
,
idxReplica
,
&
betas
,
idxLoop
](
SpArrayAccessor
<
Domain
<
double
>>&
domains0Param
,
Matrix
<
double
>&
energyAll0Param
,
...
...
@@ -534,8 +534,8 @@ int main(){
for
(
int
idxDomain
=
0
;
idxDomain
<
NbDomains
;
++
idxDomain
){
runtime
.
task
(
Sp
Maybe
Write
(
energyAll
),
Sp
Maybe
Write
(
domains
[
idxDomain
]),
Sp
Potential
Write
(
energyAll
),
Sp
Potential
Write
(
domains
[
idxDomain
]),
SpReadArray
(
domains
.
data
(),
SpArrayView
(
NbDomains
).
removeItem
(
idxDomain
)),
[
verbose
,
BoxWidth
,
displacement
,
Temperature
,
idxDomain
,
idxReplica
,
idxInnerLoop
,
randGen
](
Matrix
<
double
>&
energyAllParam
,
...
...
@@ -601,10 +601,10 @@ int main(){
Matrix
<
double
>&
energyAll1
=
replicaEnergyAll
[
idxReplica
+
1
];
runtime
.
task
(
Sp
Maybe
WriteArray
(
domains0
.
data
(),
SpArrayView
(
NbDomains
)),
Sp
Maybe
Write
(
energyAll0
),
Sp
Maybe
WriteArray
(
domains1
.
data
(),
SpArrayView
(
NbDomains
)),
Sp
Maybe
Write
(
energyAll1
),
Sp
Potential
WriteArray
(
domains0
.
data
(),
SpArrayView
(
NbDomains
)),
Sp
Potential
Write
(
energyAll0
),
Sp
Potential
WriteArray
(
domains1
.
data
(),
SpArrayView
(
NbDomains
)),
Sp
Potential
Write
(
energyAll1
),
[
verbose
,
randGen0
,
idxReplica
,
&
betas
,
idxLoop
](
SpArrayAccessor
<
Domain
<
double
>>&
domains0Param
,
Matrix
<
double
>&
energyAll0Param
,
...
...
@@ -710,8 +710,8 @@ int main(){
}
runtime
.
task
(
Sp
Maybe
Write
(
energyAll
),
Sp
Maybe
Write
(
domains
[
idxDomain
]),
Sp
Potential
Write
(
energyAll
),
Sp
Potential
Write
(
domains
[
idxDomain
]),
//SpReadArray(domains.data(),SpArrayView(NbDomains).removeItem(idxDomain)),
SpRead
(
*
tmpDomains
[
0
]),
SpRead
(
*
tmpDomains
[
1
]),
SpRead
(
*
tmpDomains
[
2
]),
SpRead
(
*
tmpDomains
[
3
]),
[
verbose
,
BoxWidth
,
displacement
,
idxDomain
,
idxReplica
,
idxInnerLoop
,
randGen
,
&
domains
](
...
...
@@ -774,10 +774,10 @@ int main(){
Matrix
<
double
>&
energyAll1
=
replicaEnergyAll
[
idxReplica
+
1
];
runtime
.
task
(
Sp
Maybe
WriteArray
(
domains0
.
data
(),
SpArrayView
(
NbDomains
)),
Sp
Maybe
Write
(
energyAll0
),
Sp
Maybe
WriteArray
(
domains1
.
data
(),
SpArrayView
(
NbDomains
)),
Sp
Maybe
Write
(
energyAll1
),
Sp
Potential
WriteArray
(
domains0
.
data
(),
SpArrayView
(
NbDomains
)),
Sp
Potential
Write
(
energyAll0
),
Sp
Potential
WriteArray
(
domains1
.
data
(),
SpArrayView
(
NbDomains
)),
Sp
Potential
Write
(
energyAll1
),
[
randGen0
,
idxReplica
,
&
betas
](
SpArrayAccessor
<
Domain
<
double
>>&
/*domains0Param*/
,
Matrix
<
double
>&
energyAll0Param
,
...
...
Examples/MC/remcCollide.cpp
View file @
a3a176d6
...
...
@@ -5,11 +5,11 @@
#include
<iostream>
#include
"
Utils/Sp
Mode
s
.hpp"
#include
"
Data/SpDataAccess
Mode.hpp"
#include
"Utils/SpUtils.hpp"
#include
"Task
s
/SpTask.hpp"
#include
"
Runtimes
/SpRuntime.hpp"
#include
"Task/SpTask.hpp"
#include
"
Legacy
/SpRuntime.hpp"
#include
"Random/SpPhiloxGenerator.hpp"
#include
"Utils/small_vector.hpp"
...
...
@@ -224,8 +224,8 @@ int main(){
SpWrite
(
*
movedDomain
),
SpReadArray
(
domains
.
data
(),
SpArrayView
(
NbDomains
).
removeItem
(
idxDomain
)),
SpWrite
(
domains
[
idxDomain
]),
Sp
Atomic
Write
(
*
acceptedMove
),
Sp
Atomic
Write
(
*
failedMove
),
Sp
Parallel
Write
(
*
acceptedMove
),
Sp
Parallel
Write
(
*
failedMove
),
[
&
Temperature
,
idxDomain
,
idxInnerLoop
,
idxReplica
,
&
collisionLimit
,
&
BoxWidth
,
&
displacement
,
randGen
](
Matrix
<
double
>&
energyAllParam
,
Domain
<
double
>&
movedDomainParam
,
...
...
@@ -385,12 +385,12 @@ int main(){
});
randGen
.
skip
(
3
*
NbParticlesPerDomain
);
runtime
.
task
(
Sp
Maybe
Write
(
energyAll
),
runtime
.
task
(
Sp
Potential
Write
(
energyAll
),
SpWrite
(
*
movedDomain
),
SpReadArray
(
domains
.
data
(),
SpArrayView
(
NbDomains
).
removeItem
(
idxDomain
)),
Sp
Maybe
Write
(
domains
[
idxDomain
]),
Sp
Atomic
Write
(
*
acceptedMove
),
Sp
Atomic
Write
(
*
failedMove
),
Sp
Potential
Write
(
domains
[
idxDomain
]),
Sp
Parallel
Write
(
*
acceptedMove
),
Sp
Parallel
Write
(
*
failedMove
),
[
&
Temperature
,
idxDomain
,
idxInnerLoop
,
idxReplica
,
&
collisionLimit
,
&
BoxWidth
,
&
displacement
,
randGen
](
Matrix
<
double
>&
energyAllParam
,
Domain
<
double
>&
movedDomainParam
,
...
...
@@ -470,9 +470,9 @@ int main(){
auto
&
domains1
=
replicaDomains
[
idxReplica
+
1
];
Matrix
<
double
>&
energyAll1
=
replicaEnergyAll
[
idxReplica
+
1
];
runtime
.
task
(
Sp
Maybe
Write
(
domains0
),
Sp
Maybe
Write
(
energyAll0
),
Sp
Maybe
Write
(
domains1
),
Sp
Maybe
Write
(
energyAll1
),
Sp
Atomic
Write
(
*
nbExchanges
),
runtime
.
task
(
Sp
Potential
Write
(
domains0
),
Sp
Potential
Write
(
energyAll0
),
Sp
Potential
Write
(
domains1
),
Sp
Potential
Write
(
energyAll1
),
Sp
Parallel
Write
(
*
nbExchanges
),
[
randGen0
,
idxReplica
,
&
betas
,
idxLoop
](
small_vector
<
Domain
<
double
>>&
domains0Param
,
Matrix
<
double
>&
energyAll0Param
,
small_vector
<
Domain
<
double
>>&
domains1Param
,
Matrix
<
double
>&
energyAll1Param
,
int
&
nbExchangesParam
)
mutable
->
bool
{
...
...
Examples/Slides/examples.cpp
View file @
a3a176d6
...
...
@@ -3,11 +3,11 @@
// Under LGPL Licence, please you must read the LICENCE file.
///////////////////////////////////////////////////////////////////////////
#include
"
Utils/Sp
Mode
s
.hpp"
#include
"
Data/SpDataAccess
Mode.hpp"
#include
"Utils/SpUtils.hpp"
#include
"Task
s
/SpTask.hpp"
#include
"
Runtimes
/SpRuntime.hpp"
#include
"Task/SpTask.hpp"
#include
"
Legacy
/SpRuntime.hpp"
int
main
(){
std
::
cout
<<
"Example basis:"
<<
std
::
endl
;
...
...
@@ -62,7 +62,7 @@ int main(){
promise1
.
get_future
().
get
();
}).
setTaskName
(
"B"
);
runtime
.
task
(
Sp
Maybe
Write
(
val
),
[](
int
&
/*valParam*/
)
->
bool
{
runtime
.
task
(
Sp
Potential
Write
(
val
),
[](
int
&
/*valParam*/
)
->
bool
{
return
false
;
}).
setTaskName
(
"C"
);
...
...
@@ -75,7 +75,7 @@ int main(){
// val is 1
runtime
.
task
(
Sp
Maybe
Write
(
val
),
[](
int
&
valParam
)
->
bool
{
runtime
.
task
(
Sp
Potential
Write
(
val
),
[](
int
&
valParam
)
->
bool
{
valParam
+=
2
;
return
true
;
}).
setTaskName
(
"E"
);
...
...
@@ -119,7 +119,7 @@ int main(){
promise1
.
get_future
().
get
();
}).
setTaskName
(
"B"
);
runtime
.
task
(
Sp
Maybe
Write
(
val
),
[](
int
&
/*valParam*/
)
->
bool
{
runtime
.
task
(
Sp
Potential
Write
(
val
),
[](
int
&
/*valParam*/
)
->
bool
{
return
false
;
}).
setTaskName
(
"C"
);
...
...
@@ -132,7 +132,7 @@ int main(){
// val is 1
runtime
.
task
(
Sp
Maybe
Write
(
val
),
[](
int
&
valParam
)
->
bool
{
runtime
.
task
(
Sp
Potential
Write
(
val
),
[](
int
&
valParam
)
->
bool
{
valParam
+=
2
;
return
true
;
}).
setTaskName
(
"E"
);
...
...
@@ -173,7 +173,7 @@ int main(){
promise1
.
get_future
().
get
();
}).
setTaskName
(
"A"
);
runtime
.
task
(
Sp
Maybe
Write
(
val
),
[](
int
&
/*valParam*/
)
->
bool
{
runtime
.
task
(
Sp
Potential
Write
(
val
),
[](
int
&
/*valParam*/
)
->
bool
{
return
false
;
}).
setTaskName
(
"B"
);
...
...
@@ -183,7 +183,7 @@ int main(){
counterFirstSpec
+=
1
;
}).
setTaskName
(
"C"
);
runtime
.
task
(
Sp
Maybe
Write
(
val
),
[](
int
&
valParam
)
->
bool
{
runtime
.
task
(
Sp
Potential
Write
(
val
),
[](
int
&
valParam
)
->
bool
{
valParam
+=
2
;
return
true
;
}).
setTaskName
(
"D"
);
...
...
@@ -223,11 +223,11 @@ int main(){
promise1
.
get_future
().
get
();
}).
setTaskName
(
"A"
);
runtime
.
task
(
Sp
Maybe
Write
(
val
),
[](
int
&
/*valParam*/
)
->
bool
{
runtime
.
task
(
Sp
Potential
Write
(
val
),
[](
int
&
/*valParam*/
)
->
bool
{
return
false
;
}).
setTaskName
(
"B"
);
runtime
.
task
(
Sp
Maybe
Write
(
val
),
[](
int
&
/*valParam*/
)
->
bool
{
runtime
.
task
(
Sp
Potential
Write
(
val
),
[](
int
&
/*valParam*/
)
->
bool
{
return
false
;
}).
setTaskName
(
"C"
);
...
...
@@ -265,11 +265,11 @@ int main(){
promise1
.
get_future
().
get
();
}).
setTaskName
(
"A"
);
runtime
.
task
(
Sp
Maybe
Write
(
val
),
[](
int
&
/*valParam*/
)
->
bool
{
runtime
.
task
(
Sp
Potential
Write
(
val
),
[](
int
&
/*valParam*/
)
->
bool
{
return
false
;
}).
setTaskName
(
"B"
);
runtime
.
task
(
Sp
Maybe
Write
(
val
),
[](
int
&
/*valParam*/
)
->
bool
{
runtime
.
task
(
Sp
Potential
Write
(
val
),
[](
int
&
/*valParam*/
)
->
bool
{
return
true
;
}).
setTaskName
(
"C"
);
...
...
@@ -310,19 +310,19 @@ int main(){
promise1
.
get_future
().
get
();
}).
setTaskName
(
"A"
);
runtime
.
task
(
Sp
Maybe
Write
(
val
),
[](
int
&
/*valParam*/
)
->
bool
{
runtime
.
task
(
Sp
Potential
Write
(
val
),
[](
int
&
/*valParam*/
)
->
bool
{
return
false
;
}).
setTaskName
(
"B"
);
runtime
.
task
(
Sp
Maybe
Write
(
val
),
[](
int
&
/*valParam*/
)
->
bool
{
runtime
.
task
(
Sp
Potential
Write
(
val
),
[](
int
&
/*valParam*/
)
->
bool
{
return
true
;
}).
setTaskName
(
"C"
);
runtime
.
task
(
Sp
Maybe
Write
(
val2
),
[](
int
&
/*valParam2*/
)
->
bool
{
runtime
.
task
(
Sp
Potential
Write
(
val2
),
[](
int
&
/*valParam2*/
)
->
bool
{
return
true
;
}).
setTaskName
(
"D"
);
runtime
.
task
(
Sp
Maybe
Write
(
val3
),
[](
int
&
/*valParam3*/
)
->
bool
{
runtime
.
task
(
Sp
Potential
Write
(
val3
),
[](
int
&
/*valParam3*/
)
->
bool
{
return
true
;
}).
setTaskName
(
"E"
);
...
...
Src/Compute/SpComputeEngine.cpp
View file @
a3a176d6
...
...
@@ -4,7 +4,7 @@
#include
"SpComputeEngine.hpp"
#include
"TaskGraph/SpAbstractTaskGraph.hpp"
#include
"Task
s
/SpAbstractTask.hpp"
#include
"Task/SpAbstractTask.hpp"
#include
"SpWorker.hpp"
void
SpComputeEngine
::
stopIfNotAlreadyStopped
()
{
...
...
Src/Compute/SpComputeEngine.hpp
View file @
a3a176d6
...
...
@@ -9,7 +9,7 @@
#include
<atomic>
#include
"Compute/SpWorker.hpp"
#include
"Scheduler
s
/SpPrioScheduler.hpp"
#include
"Scheduler/SpPrioScheduler.hpp"
#include
"Utils/small_vector.hpp"
class
SpAbstractTaskGraph
;
...
...
Src/Compute/SpWorker.hpp
View file @
a3a176d6
...
...
@@ -6,9 +6,9 @@
#include
<condition_variable>
#include
<thread>
#include
"
Utils/Sp
Mode
s
.hpp"
#include
"
Data/SpDataAccess
Mode.hpp"
#include
"Utils/SpUtils.hpp"
#include
"Task
s
/SpAbstractTask.hpp"
#include
"Task/SpAbstractTask.hpp"
#include
"Utils/small_vector.hpp"
class
SpComputeEngine
;
...
...
Src/
Utils/Sp
Mode
s
.hpp
→
Src/
Data/SpDataAccess
Mode.hpp
View file @
a3a176d6
...
...
@@ -2,15 +2,15 @@
// Spetabaru - Berenger Bramas MPCDF - 2017
// Under LGPL Licence, please you must read the LICENCE file.
///////////////////////////////////////////////////////////////////////////
#ifndef SPMODE
S
_HPP
#define SPMODE
S
_HPP
#ifndef SP
DATAACCESS
MODE_HPP
#define SP
DATAACCESS
MODE_HPP
#include
<type_traits>
#include
<array>
#include
"Config/SpConfig.hpp"
#include
"SpArrayView.hpp"
#include
"SpDebug.hpp"
#include
"
Utils/
SpArrayView.hpp"
#include
"
Utils/
SpDebug.hpp"
#include
"Data/SpDataDuplicator.hpp"
#include
"Utils/SpArrayAccessor.hpp"
#include
"Utils/small_vector.hpp"
...
...
@@ -22,9 +22,9 @@
enum
class
SpDataAccessMode
{
READ
=
0
,
WRITE
,
ATOMIC
_WRITE
,
COMMUTE_WRITE
,
MAYBE
_WRITE
PARALLEL
_WRITE
,
COMMUT
ATIV
E_WRITE
,
POTENTIAL
_WRITE
};
////////////////////////////////////////////////////////
...
...
@@ -35,9 +35,9 @@ inline std::string SpModeToStr(const SpDataAccessMode inMode){
switch
(
inMode
){
case
SpDataAccessMode
::
READ
:
return
"READ"
;
case
SpDataAccessMode
::
WRITE
:
return
"WRITE"
;
case
SpDataAccessMode
::
ATOMIC
_WRITE
:
return
"
ATOMIC
_WRITE"
;
case
SpDataAccessMode
::
COMMUTE_WRITE
:
return
"COMMUTE_WRITE"
;
case
SpDataAccessMode
::
MAYBE
_WRITE
:
return
"
MAYBE
_WRITE"
;
case
SpDataAccessMode
::
PARALLEL
_WRITE
:
return
"
PARALLEL
_WRITE"
;
case
SpDataAccessMode
::
COMMUT
ATIV
E_WRITE
:
return
"COMMUT
ATIV
E_WRITE"
;
case
SpDataAccessMode
::
POTENTIAL
_WRITE
:
return
"
POTENTIAL
_WRITE"
;
}
return
"UNDEFINED"
;
}
...
...
@@ -172,22 +172,22 @@ constexpr SpScalarDataMode<SpDataAccessMode::WRITE, DepType&> SpWrite(DepType& i
}
template
<
class
DepType
>
constexpr
SpScalarDataMode
<
SpDataAccessMode
::
ATOMIC
_WRITE
,
DepType
&>
Sp
Atomic
Write
(
DepType
&
inDep
){
constexpr
SpScalarDataMode
<
SpDataAccessMode
::
PARALLEL
_WRITE
,
DepType
&>
Sp
Parallel
Write
(
DepType
&
inDep
){