Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
solverstack
ScalFMM
Commits
11182223
Commit
11182223
authored
Mar 08, 2017
by
Luka Stanisic
Browse files
complete refactoring of MLR codelet name and combinations description. It is almost readable now
parent
f05696f9
Changes
2
Expand all
Hide whitespace changes
Inline
Side-by-side
Src/GroupTree/Core/FGroupTaskStarpuAlgorithm.hpp
View file @
11182223
This diff is collapsed.
Click to expand it.
Src/GroupTree/Core/starpu_codelet_parameters.h
View file @
11182223
...
...
@@ -9,6 +9,11 @@ extern "C"
{
#endif
/* P2P */
static
const
char
*
p2p_cl_in_parameters_names
[]
=
{
"NbLeavesBlock"
,
"SizeInterval"
,
"NbParticlesGroup"
,
"NbInteractions"
};
static
unsigned
p2p_cl_in_combi1
[
4
]
=
{
0
,
0
,
1
,
0
};
static
unsigned
p2p_cl_in_combi2
[
4
]
=
{
0
,
0
,
0
,
1
};
static
unsigned
*
p2p_cl_in_combinations
[]
=
{
p2p_cl_in_combi1
,
p2p_cl_in_combi2
};
static
inline
void
p2p_cl_in_perf_func
(
struct
starpu_task
*
task
,
double
*
parameters
){
FStarPUPtrInterface
*
wrapperptr
;
int
i
;
...
...
@@ -21,6 +26,16 @@ static inline void p2p_cl_in_perf_func(struct starpu_task *task, double *paramet
&
parameters
[
3
]);
}
/* P2P_out */
static
const
char
*
p2p_cl_inout_parameters_names
[]
=
{
"NbLeavesBlock"
,
"SizeInterval"
,
"NbParticlesGroup"
,
"iNbLeavesBlock"
,
"iSizeInterval"
,
"iNBParticlesGroup"
,
"OutsideInteractionsSize"
,
"NbDiff0"
,
"NbDiff1"
,
"NbInteractions"
};
static
unsigned
p2p_cl_inout_combi1
[
10
]
=
{
0
,
0
,
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
};
static
unsigned
p2p_cl_inout_combi2
[
10
]
=
{
0
,
0
,
0
,
0
,
1
,
0
,
0
,
0
,
0
,
0
};
static
unsigned
p2p_cl_inout_combi3
[
10
]
=
{
0
,
0
,
0
,
0
,
0
,
1
,
0
,
0
,
0
,
0
};
static
unsigned
p2p_cl_inout_combi4
[
10
]
=
{
0
,
0
,
0
,
0
,
0
,
0
,
1
,
0
,
0
,
0
};
static
unsigned
p2p_cl_inout_combi5
[
10
]
=
{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1
,
0
,
0
};
static
unsigned
p2p_cl_inout_combi6
[
10
]
=
{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1
,
0
};
static
unsigned
p2p_cl_inout_combi7
[
10
]
=
{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1
};
static
unsigned
*
p2p_cl_inout_combinations
[]
=
{
p2p_cl_inout_combi1
,
p2p_cl_inout_combi2
,
p2p_cl_inout_combi3
,
p2p_cl_inout_combi4
,
p2p_cl_inout_combi5
,
p2p_cl_inout_combi6
,
p2p_cl_inout_combi7
};
static
inline
void
p2p_cl_inout_perf_func
(
struct
starpu_task
*
task
,
double
*
parameters
){
FStarPUPtrInterface
*
wrapperptr
;
std
::
vector
<
OutOfBlockInteraction
>*
outsideInteractions
;
...
...
@@ -41,6 +56,10 @@ static inline void p2p_cl_inout_perf_func(struct starpu_task *task, double *para
&
parameters
[
9
]);
}
/* P2M */
static
const
char
*
p2m_cl_parameters_names
[]
=
{
"NbCellsBlock"
,
"SizeInterval"
,
"NbParticlesGroup"
};
static
unsigned
p2m_cl_combi1
[
3
]
=
{
0
,
0
,
1
};
static
unsigned
*
p2m_cl_combinations
[]
=
{
p2m_cl_combi1
};
static
inline
void
p2m_cl_perf_func
(
struct
starpu_task
*
task
,
double
*
parameters
){
FStarPUPtrInterface
*
wrapperptr
;
int
i
;
...
...
@@ -49,10 +68,14 @@ static inline void p2m_cl_perf_func(struct starpu_task *task, double *parameters
&
i
,
&
parameters
[
0
],
&
parameters
[
1
],
&
parameters
[
2
],
&
parameters
[
3
]);
&
parameters
[
2
]);
}
/* M2M */
static
const
char
*
m2m_cl_parameters_names
[]
=
{
"Lvl"
,
"NbCellsBlock"
,
"SizeInterval"
,
"NbCellsBlockLvl+1"
,
"SizeIntervalLvl+1"
,
"NbDiff"
,
"NbChildParent"
};
static
unsigned
m2m_cl_combi1
[
7
]
=
{
0
,
0
,
0
,
0
,
0
,
1
,
0
};
static
unsigned
m2m_cl_combi2
[
7
]
=
{
0
,
0
,
0
,
0
,
1
,
1
,
0
};
static
unsigned
*
m2m_cl_combinations
[]
=
{
m2m_cl_combi1
,
m2m_cl_combi2
};
static
inline
void
m2m_cl_perf_func
(
struct
starpu_task
*
task
,
double
*
parameters
){
FStarPUPtrInterface
*
wrapperptr
;
int
idxLevel
,
i
;
...
...
@@ -69,6 +92,10 @@ static inline void m2m_cl_perf_func(struct starpu_task *task, double *parameters
&
parameters
[
6
]);
}
/* M2L */
static
const
char
*
m2l_cl_in_parameters_names
[]
=
{
"Lvl"
,
"NbLeavesBlock"
,
"SizeInterval"
,
"NbM2LInteractions"
};
static
unsigned
m2l_cl_in_combi1
[
4
]
=
{
0
,
0
,
0
,
1
};
static
unsigned
*
m2l_cl_in_combinations
[]
=
{
m2l_cl_in_combi1
};
static
inline
void
m2l_cl_in_perf_func
(
struct
starpu_task
*
task
,
double
*
parameters
){
FStarPUPtrInterface
*
wrapperptr
;
int
idxLevel
,
i
;
...
...
@@ -82,6 +109,11 @@ static inline void m2l_cl_in_perf_func(struct starpu_task *task, double *paramet
&
parameters
[
3
]);
}
/* M2L_out */
static
const
char
*
m2l_cl_inout_parameters_names
[]
=
{
"Lvl"
,
"NbLeavesBlock"
,
"SizeInterval"
,
"iNbLeavesBlock"
,
"iSizeInterval"
,
"OutsideInteractionsSize"
,
"NbDiff0"
,
"NbDiff1"
};
static
unsigned
m2l_cl_inout_combi1
[
8
]
=
{
0
,
0
,
0
,
0
,
0
,
1
,
0
,
0
};
static
unsigned
m2l_cl_inout_combi2
[
8
]
=
{
0
,
0
,
0
,
0
,
0
,
0
,
1
,
0
};
static
unsigned
*
m2l_cl_inout_combinations
[]
=
{
m2l_cl_inout_combi1
,
m2l_cl_inout_combi2
};
static
inline
void
m2l_cl_inout_perf_func
(
struct
starpu_task
*
task
,
double
*
parameters
){
FStarPUPtrInterface
*
wrapperptr
;
const
std
::
vector
<
OutOfBlockInteraction
>*
outsideInteractions
;
...
...
@@ -102,6 +134,10 @@ static inline void m2l_cl_inout_perf_func(struct starpu_task *task, double *para
&
parameters
[
7
]);
}
/* L2L */
static
const
char
*
l2l_cl_parameters_names
[]
=
{
"Lvl"
,
"NbCellsBlock"
,
"SizeInterval"
,
"NbCellsBlockLvl+1"
,
"SizeIntervalLvl+1"
,
"NbDiff"
,
"NbChildParent"
};
static
unsigned
l2l_cl_combi1
[
7
]
=
{
0
,
0
,
0
,
0
,
0
,
1
,
0
};
static
unsigned
*
l2l_cl_combinations
[]
=
{
l2l_cl_combi1
};
static
inline
void
l2l_cl_perf_func
(
struct
starpu_task
*
task
,
double
*
parameters
){
FStarPUPtrInterface
*
wrapperptr
;
int
idxLevel
,
i
;
...
...
@@ -118,6 +154,10 @@ static inline void l2l_cl_perf_func(struct starpu_task *task, double *parameters
&
parameters
[
6
]);
}
/* L2L_NOCOMMUTE */
static
const
char
*
l2l_cl_nocommute_parameters_names
[]
=
{
"Lvl"
,
"NbCellsBlock"
,
"SizeInterval"
,
"NbCellsBlockLvl+1"
,
"SizeIntervalLvl+1"
,
"NbDiff"
,
"NbChildParent"
};
static
unsigned
l2l_cl_nocommute_combi1
[
7
]
=
{
0
,
0
,
0
,
0
,
0
,
1
,
0
};
static
unsigned
*
l2l_cl_nocommute_combinations
[]
=
{
l2l_cl_nocommute_combi1
};
static
inline
void
l2l_cl_nocommute_perf_func
(
struct
starpu_task
*
task
,
double
*
parameters
){
FStarPUPtrInterface
*
wrapperptr
;
int
idxLevel
,
i
;
...
...
@@ -134,6 +174,10 @@ static inline void l2l_cl_nocommute_perf_func(struct starpu_task *task, double *
&
parameters
[
6
]);
}
/* L2P */
static
const
char
*
l2p_cl_parameters_names
[]
=
{
"NbCellsBlock"
,
"SizeInterval"
,
"NbParticlesGroup"
};
static
unsigned
l2p_cl_combi1
[
3
]
=
{
0
,
0
,
1
};
static
unsigned
*
l2p_cl_combinations
[]
=
{
l2p_cl_combi1
};
static
inline
void
l2p_cl_perf_func
(
struct
starpu_task
*
task
,
double
*
parameters
){
FStarPUPtrInterface
*
wrapperptr
;
int
i
;
...
...
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