Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
ScalFMM
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
5
Issues
5
List
Boards
Labels
Service Desk
Milestones
Operations
Operations
Incidents
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
solverstack
ScalFMM
Commits
6dc92ced
Commit
6dc92ced
authored
Sep 27, 2013
by
BRAMAS Berenger
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
use FLOG instead of FDEBUG
parent
8ae58287
Changes
18
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
511 additions
and
511 deletions
+511
-511
Src/Components/FAbstractKernels.hpp
Src/Components/FAbstractKernels.hpp
+1
-1
Src/Components/FAbstractLeaf.hpp
Src/Components/FAbstractLeaf.hpp
+1
-1
Src/Components/FAbstractParticleContainer.hpp
Src/Components/FAbstractParticleContainer.hpp
+1
-1
Src/Containers/FOctree.hpp
Src/Containers/FOctree.hpp
+1
-1
Src/Core/FFmmAlgorithm.hpp
Src/Core/FFmmAlgorithm.hpp
+48
-48
Src/Core/FFmmAlgorithmPeriodic.hpp
Src/Core/FFmmAlgorithmPeriodic.hpp
+55
-55
Src/Core/FFmmAlgorithmSectionTask.hpp
Src/Core/FFmmAlgorithmSectionTask.hpp
+29
-29
Src/Core/FFmmAlgorithmTask.hpp
Src/Core/FFmmAlgorithmTask.hpp
+26
-26
Src/Core/FFmmAlgorithmThread.hpp
Src/Core/FFmmAlgorithmThread.hpp
+47
-47
Src/Core/FFmmAlgorithmThreadProc.hpp
Src/Core/FFmmAlgorithmThreadProc.hpp
+89
-89
Src/Core/FFmmAlgorithmThreadProcPeriodic.hpp
Src/Core/FFmmAlgorithmThreadProcPeriodic.hpp
+89
-89
Src/Core/FFmmAlgorithmThreadTsm.hpp
Src/Core/FFmmAlgorithmThreadTsm.hpp
+45
-45
Src/Core/FFmmAlgorithmTsm.hpp
Src/Core/FFmmAlgorithmTsm.hpp
+56
-56
Src/Files/FFmaBinLoader.hpp
Src/Files/FFmaBinLoader.hpp
+3
-3
Src/Files/FMpiFmaLoader.hpp
Src/Files/FMpiFmaLoader.hpp
+9
-9
Src/Utils/FDebug.hpp
Src/Utils/FDebug.hpp
+4
-4
Src/Utils/FSpherical.hpp
Src/Utils/FSpherical.hpp
+1
-1
Tests/Utils/testDebug.cpp
Tests/Utils/testDebug.cpp
+6
-6
No files found.
Src/Components/FAbstractKernels.hpp
View file @
6dc92ced
...
...
@@ -126,7 +126,7 @@ public:
virtual
void
P2PRemote
(
const
FTreeCoordinate
&
/*inLeafPosition*/
,
ContainerClass
*
const
FRestrict
/*targets*/
,
const
ContainerClass
*
const
FRestrict
/*sources*/
,
ContainerClass
*
const
/*directNeighborsParticles*/
[
27
],
const
int
/*size*/
)
{
F
DEBU
G
(
FDebug
::
Controller
.
write
(
"Warning, P2P remote is used but not implemented!"
).
write
(
FDebug
::
Flush
)
);
F
LO
G
(
FDebug
::
Controller
.
write
(
"Warning, P2P remote is used but not implemented!"
).
write
(
FDebug
::
Flush
)
);
}
};
...
...
Src/Components/FAbstractLeaf.hpp
View file @
6dc92ced
...
...
@@ -42,7 +42,7 @@ public:
*/
template
<
typename
...
Args
>
void
push
(
const
FPoint
&
/*inParticlePosition*/
,
Args
...
/*args*/
){
F
DEBU
G
(
FDebug
::
Controller
.
write
(
"Warning, push is not implemented!"
).
write
(
FDebug
::
Flush
)
);
F
LO
G
(
FDebug
::
Controller
.
write
(
"Warning, push is not implemented!"
).
write
(
FDebug
::
Flush
)
);
}
/**
...
...
Src/Components/FAbstractParticleContainer.hpp
View file @
6dc92ced
...
...
@@ -45,7 +45,7 @@ public:
*/
template
<
typename
...
Args
>
void
push
(
const
FPoint
&
/*inParticlePosition*/
,
Args
...
/*args*/
){
F
DEBU
G
(
FDebug
::
Controller
.
write
(
"Warning, push is not implemented!"
).
write
(
FDebug
::
Flush
)
);
F
LO
G
(
FDebug
::
Controller
.
write
(
"Warning, push is not implemented!"
).
write
(
FDebug
::
Flush
)
);
}
};
...
...
Src/Containers/FOctree.hpp
View file @
6dc92ced
...
...
@@ -93,7 +93,7 @@ class FOctree : protected FAssertable, public FNoCopyable {
* @return the box num at the leaf level that contains inRelativePosition
*/
int
getTreeCoordinate
(
const
FReal
inRelativePosition
)
const
{
F
DEBU
G
(
fassert
(
inRelativePosition
>=
0
&&
inRelativePosition
<
this
->
boxWidth
,
"Particle out of box"
,
__LINE__
,
__FILE__
)
);
F
LO
G
(
fassert
(
inRelativePosition
>=
0
&&
inRelativePosition
<
this
->
boxWidth
,
"Particle out of box"
,
__LINE__
,
__FILE__
)
);
const
FReal
indexFReal
=
inRelativePosition
/
this
->
boxWidthAtLevel
[
this
->
leafIndex
];
/*const int index = int(FMath::dfloor(indexFReal));
if( index && FMath::LookEqual(inRelativePosition, this->boxWidthAtLevel[this->leafIndex] * FReal(index) ) ){
...
...
Src/Core/FFmmAlgorithm.hpp
View file @
6dc92ced
...
...
@@ -59,7 +59,7 @@ public:
fassert
(
tree
,
"tree cannot be null"
,
__LINE__
,
__FILE__
);
fassert
(
kernels
,
"kernels cannot be null"
,
__LINE__
,
__FILE__
);
F
DEBU
G
(
FDebug
::
Controller
<<
"FFmmAlgorithm
\n
"
);
F
LO
G
(
FDebug
::
Controller
<<
"FFmmAlgorithm
\n
"
);
}
/** Default destructor */
...
...
@@ -92,9 +92,9 @@ private:
/** P2M */
void
bottomPass
(){
FTRACE
(
FTrace
::
FFunction
functionTrace
(
__FUNCTION__
,
"Fmm"
,
__FILE__
,
__LINE__
)
);
F
DEBU
G
(
FDebug
::
Controller
.
write
(
"
\t
Start Bottom Pass
\n
"
).
write
(
FDebug
::
Flush
)
);
F
DEBU
G
(
FTic
counterTime
);
F
DEBU
G
(
FTic
computationCounter
);
F
LO
G
(
FDebug
::
Controller
.
write
(
"
\t
Start Bottom Pass
\n
"
).
write
(
FDebug
::
Flush
)
);
F
LO
G
(
FTic
counterTime
);
F
LO
G
(
FTic
computationCounter
);
typename
OctreeClass
::
Iterator
octreeIterator
(
tree
);
...
...
@@ -103,13 +103,13 @@ private:
do
{
// We need the current cell that represent the leaf
// and the list of particles
F
DEBU
G
(
computationCounter
.
tic
());
F
LO
G
(
computationCounter
.
tic
());
kernels
->
P2M
(
octreeIterator
.
getCurrentCell
()
,
octreeIterator
.
getCurrentListSrc
());
F
DEBU
G
(
computationCounter
.
tac
());
F
LO
G
(
computationCounter
.
tac
());
}
while
(
octreeIterator
.
moveRight
());
F
DEBU
G
(
FDebug
::
Controller
<<
"
\t
Finished (@Bottom Pass (P2M) = "
<<
counterTime
.
tacAndElapsed
()
<<
"s)
\n
"
);
F
DEBU
G
(
FDebug
::
Controller
<<
"
\t\t
Computation : "
<<
computationCounter
.
cumulated
()
<<
" s
\n
"
);
F
LO
G
(
FDebug
::
Controller
<<
"
\t
Finished (@Bottom Pass (P2M) = "
<<
counterTime
.
tacAndElapsed
()
<<
"s)
\n
"
);
F
LO
G
(
FDebug
::
Controller
<<
"
\t\t
Computation : "
<<
computationCounter
.
cumulated
()
<<
" s
\n
"
);
}
/////////////////////////////////////////////////////////////////////////////
...
...
@@ -119,9 +119,9 @@ private:
/** M2M */
void
upwardPass
(){
FTRACE
(
FTrace
::
FFunction
functionTrace
(
__FUNCTION__
,
"Fmm"
,
__FILE__
,
__LINE__
)
);
F
DEBU
G
(
FDebug
::
Controller
.
write
(
"
\t
Start Upward Pass
\n
"
).
write
(
FDebug
::
Flush
);
);
F
DEBU
G
(
FTic
counterTime
);
F
DEBU
G
(
FTic
computationCounter
);
F
LO
G
(
FDebug
::
Controller
.
write
(
"
\t
Start Upward Pass
\n
"
).
write
(
FDebug
::
Flush
);
);
F
LO
G
(
FTic
counterTime
);
F
LO
G
(
FTic
computationCounter
);
// Start from leal level - 1
typename
OctreeClass
::
Iterator
octreeIterator
(
tree
);
...
...
@@ -132,26 +132,26 @@ private:
// for each levels
for
(
int
idxLevel
=
OctreeHeight
-
2
;
idxLevel
>
1
;
--
idxLevel
){
F
DEBU
G
(
FTic
counterTimeLevel
);
F
LO
G
(
FTic
counterTimeLevel
);
// for each cells
do
{
// We need the current cell and the child
// child is an array (of 8 child) that may be null
F
DEBU
G
(
computationCounter
.
tic
());
F
LO
G
(
computationCounter
.
tic
());
kernels
->
M2M
(
octreeIterator
.
getCurrentCell
()
,
octreeIterator
.
getCurrentChild
(),
idxLevel
);
F
DEBU
G
(
computationCounter
.
tac
());
F
LO
G
(
computationCounter
.
tac
());
}
while
(
octreeIterator
.
moveRight
());
avoidGotoLeftIterator
.
moveUp
();
octreeIterator
=
avoidGotoLeftIterator
;
F
DEBU
G
(
FDebug
::
Controller
<<
"
\t\t
>> Level "
<<
idxLevel
<<
" = "
<<
counterTimeLevel
.
tacAndElapsed
()
<<
"s
\n
"
);
F
LO
G
(
FDebug
::
Controller
<<
"
\t\t
>> Level "
<<
idxLevel
<<
" = "
<<
counterTimeLevel
.
tacAndElapsed
()
<<
"s
\n
"
);
}
F
DEBU
G
(
FDebug
::
Controller
<<
"
\t
Finished (@Upward Pass (M2M) = "
<<
counterTime
.
tacAndElapsed
()
<<
"s)
\n
"
);
F
DEBU
G
(
FDebug
::
Controller
<<
"
\t\t
Computation : "
<<
computationCounter
.
cumulated
()
<<
" s
\n
"
);
F
LO
G
(
FDebug
::
Controller
<<
"
\t
Finished (@Upward Pass (M2M) = "
<<
counterTime
.
tacAndElapsed
()
<<
"s)
\n
"
);
F
LO
G
(
FDebug
::
Controller
<<
"
\t\t
Computation : "
<<
computationCounter
.
cumulated
()
<<
" s
\n
"
);
}
/////////////////////////////////////////////////////////////////////////////
...
...
@@ -162,9 +162,9 @@ private:
void
transferPass
(){
FTRACE
(
FTrace
::
FFunction
functionTrace
(
__FUNCTION__
,
"Fmm"
,
__FILE__
,
__LINE__
)
);
F
DEBU
G
(
FDebug
::
Controller
.
write
(
"
\t
Start Downward Pass (M2L)
\n
"
).
write
(
FDebug
::
Flush
);
);
F
DEBU
G
(
FTic
counterTime
);
F
DEBU
G
(
FTic
computationCounter
);
F
LO
G
(
FDebug
::
Controller
.
write
(
"
\t
Start Downward Pass (M2L)
\n
"
).
write
(
FDebug
::
Flush
);
);
F
LO
G
(
FTic
counterTime
);
F
LO
G
(
FTic
computationCounter
);
typename
OctreeClass
::
Iterator
octreeIterator
(
tree
);
octreeIterator
.
moveDown
();
...
...
@@ -175,27 +175,27 @@ private:
// for each levels
for
(
int
idxLevel
=
2
;
idxLevel
<
OctreeHeight
;
++
idxLevel
){
F
DEBU
G
(
FTic
counterTimeLevel
);
F
LO
G
(
FTic
counterTimeLevel
);
// for each cells
do
{
const
int
counter
=
tree
->
getInteractionNeighbors
(
neighbors
,
octreeIterator
.
getCurrentGlobalCoordinate
(),
idxLevel
);
F
DEBU
G
(
computationCounter
.
tic
());
F
LO
G
(
computationCounter
.
tic
());
if
(
counter
)
kernels
->
M2L
(
octreeIterator
.
getCurrentCell
()
,
neighbors
,
counter
,
idxLevel
);
F
DEBU
G
(
computationCounter
.
tac
());
F
LO
G
(
computationCounter
.
tac
());
}
while
(
octreeIterator
.
moveRight
());
F
DEBU
G
(
computationCounter
.
tic
());
F
LO
G
(
computationCounter
.
tic
());
kernels
->
finishedLevelM2L
(
idxLevel
);
F
DEBU
G
(
computationCounter
.
tac
());
F
LO
G
(
computationCounter
.
tac
());
avoidGotoLeftIterator
.
moveDown
();
octreeIterator
=
avoidGotoLeftIterator
;
F
DEBU
G
(
FDebug
::
Controller
<<
"
\t\t
>> Level "
<<
idxLevel
<<
" = "
<<
counterTimeLevel
.
tacAndElapsed
()
<<
"s
\n
"
);
F
LO
G
(
FDebug
::
Controller
<<
"
\t\t
>> Level "
<<
idxLevel
<<
" = "
<<
counterTimeLevel
.
tacAndElapsed
()
<<
"s
\n
"
);
}
F
DEBU
G
(
FDebug
::
Controller
<<
"
\t
Finished (@Downward Pass (M2L) = "
<<
counterTime
.
tacAndElapsed
()
<<
"s)
\n
"
);
F
DEBU
G
(
FDebug
::
Controller
<<
"
\t\t
Computation : "
<<
computationCounter
.
cumulated
()
<<
" s
\n
"
);
F
LO
G
(
FDebug
::
Controller
<<
"
\t
Finished (@Downward Pass (M2L) = "
<<
counterTime
.
tacAndElapsed
()
<<
"s)
\n
"
);
F
LO
G
(
FDebug
::
Controller
<<
"
\t\t
Computation : "
<<
computationCounter
.
cumulated
()
<<
" s
\n
"
);
}
/////////////////////////////////////////////////////////////////////////////
...
...
@@ -205,9 +205,9 @@ private:
/** L2L */
void
downardPass
(){
FTRACE
(
FTrace
::
FFunction
functionTrace
(
__FUNCTION__
,
"Fmm"
,
__FILE__
,
__LINE__
)
);
F
DEBU
G
(
FDebug
::
Controller
.
write
(
"
\t
Start Downward Pass (L2L)
\n
"
).
write
(
FDebug
::
Flush
);
);
F
DEBU
G
(
FTic
counterTime
);
F
DEBU
G
(
FTic
computationCounter
);
F
LO
G
(
FDebug
::
Controller
.
write
(
"
\t
Start Downward Pass (L2L)
\n
"
).
write
(
FDebug
::
Flush
);
);
F
LO
G
(
FTic
counterTime
);
F
LO
G
(
FTic
computationCounter
);
typename
OctreeClass
::
Iterator
octreeIterator
(
tree
);
octreeIterator
.
moveDown
();
...
...
@@ -217,23 +217,23 @@ private:
const
int
heightMinusOne
=
OctreeHeight
-
1
;
// for each levels exepted leaf level
for
(
int
idxLevel
=
2
;
idxLevel
<
heightMinusOne
;
++
idxLevel
){
F
DEBU
G
(
FTic
counterTimeLevel
);
F
LO
G
(
FTic
counterTimeLevel
);
// for each cells
do
{
F
DEBU
G
(
computationCounter
.
tic
());
F
LO
G
(
computationCounter
.
tic
());
kernels
->
L2L
(
octreeIterator
.
getCurrentCell
()
,
octreeIterator
.
getCurrentChild
(),
idxLevel
);
F
DEBU
G
(
computationCounter
.
tac
());
F
LO
G
(
computationCounter
.
tac
());
}
while
(
octreeIterator
.
moveRight
());
avoidGotoLeftIterator
.
moveDown
();
octreeIterator
=
avoidGotoLeftIterator
;
F
DEBU
G
(
FDebug
::
Controller
<<
"
\t\t
>> Level "
<<
idxLevel
<<
" = "
<<
counterTimeLevel
.
tacAndElapsed
()
<<
"s
\n
"
);
F
LO
G
(
FDebug
::
Controller
<<
"
\t\t
>> Level "
<<
idxLevel
<<
" = "
<<
counterTimeLevel
.
tacAndElapsed
()
<<
"s
\n
"
);
}
F
DEBU
G
(
FDebug
::
Controller
<<
"
\t
Finished (@Downward Pass (L2L) = "
<<
counterTime
.
tacAndElapsed
()
<<
"s)
\n
"
);
F
DEBU
G
(
FDebug
::
Controller
<<
"
\t\t
Computation : "
<<
computationCounter
.
cumulated
()
<<
" s
\n
"
);
F
LO
G
(
FDebug
::
Controller
<<
"
\t
Finished (@Downward Pass (L2L) = "
<<
counterTime
.
tacAndElapsed
()
<<
"s)
\n
"
);
F
LO
G
(
FDebug
::
Controller
<<
"
\t\t
Computation : "
<<
computationCounter
.
cumulated
()
<<
" s
\n
"
);
}
...
...
@@ -245,10 +245,10 @@ private:
/** P2P */
void
directPass
(){
FTRACE
(
FTrace
::
FFunction
functionTrace
(
__FUNCTION__
,
"Fmm"
,
__FILE__
,
__LINE__
)
);
F
DEBU
G
(
FDebug
::
Controller
.
write
(
"
\t
Start Direct Pass
\n
"
).
write
(
FDebug
::
Flush
);
);
F
DEBU
G
(
FTic
counterTime
);
F
DEBU
G
(
FTic
computationCounterL2P
);
F
DEBU
G
(
FTic
computationCounterP2P
);
F
LO
G
(
FDebug
::
Controller
.
write
(
"
\t
Start Direct Pass
\n
"
).
write
(
FDebug
::
Flush
);
);
F
LO
G
(
FTic
counterTime
);
F
LO
G
(
FTic
computationCounterL2P
);
F
LO
G
(
FTic
computationCounterP2P
);
const
int
heightMinusOne
=
OctreeHeight
-
1
;
...
...
@@ -258,21 +258,21 @@ private:
ContainerClass
*
neighbors
[
27
];
// for each leafs
do
{
F
DEBU
G
(
computationCounterL2P
.
tic
());
F
LO
G
(
computationCounterL2P
.
tic
());
kernels
->
L2P
(
octreeIterator
.
getCurrentCell
(),
octreeIterator
.
getCurrentListTargets
());
F
DEBU
G
(
computationCounterL2P
.
tac
());
F
LO
G
(
computationCounterL2P
.
tac
());
// need the current particles and neighbors particles
const
int
counter
=
tree
->
getLeafsNeighbors
(
neighbors
,
octreeIterator
.
getCurrentGlobalCoordinate
(),
heightMinusOne
);
F
DEBU
G
(
computationCounterP2P
.
tic
());
F
LO
G
(
computationCounterP2P
.
tic
());
kernels
->
P2P
(
octreeIterator
.
getCurrentGlobalCoordinate
(),
octreeIterator
.
getCurrentListTargets
(),
octreeIterator
.
getCurrentListSrc
(),
neighbors
,
counter
);
F
DEBU
G
(
computationCounterP2P
.
tac
());
F
LO
G
(
computationCounterP2P
.
tac
());
}
while
(
octreeIterator
.
moveRight
());
F
DEBU
G
(
FDebug
::
Controller
<<
"
\t
Finished (@Direct Pass (L2P + P2P) = "
<<
counterTime
.
tacAndElapsed
()
<<
"s)
\n
"
);
F
DEBU
G
(
FDebug
::
Controller
<<
"
\t\t
Computation L2P : "
<<
computationCounterL2P
.
cumulated
()
<<
" s
\n
"
);
F
DEBU
G
(
FDebug
::
Controller
<<
"
\t\t
Computation P2P : "
<<
computationCounterP2P
.
cumulated
()
<<
" s
\n
"
);
F
LO
G
(
FDebug
::
Controller
<<
"
\t
Finished (@Direct Pass (L2P + P2P) = "
<<
counterTime
.
tacAndElapsed
()
<<
"s)
\n
"
);
F
LO
G
(
FDebug
::
Controller
<<
"
\t\t
Computation L2P : "
<<
computationCounterL2P
.
cumulated
()
<<
" s
\n
"
);
F
LO
G
(
FDebug
::
Controller
<<
"
\t\t
Computation P2P : "
<<
computationCounterP2P
.
cumulated
()
<<
" s
\n
"
);
}
...
...
Src/Core/FFmmAlgorithmPeriodic.hpp
View file @
6dc92ced
...
...
@@ -69,7 +69,7 @@ public:
fassert
(
tree
,
"tree cannot be null"
,
__LINE__
,
__FILE__
);
fassert
(
-
1
<=
inUpperLevel
,
"inUpperLevel cannot be < -1"
,
__LINE__
,
__FILE__
);
F
DEBU
G
(
FDebug
::
Controller
<<
"FFmmAlgorithmPeriodic
\n
"
);
F
LO
G
(
FDebug
::
Controller
<<
"FFmmAlgorithmPeriodic
\n
"
);
}
/** Default destructor */
...
...
@@ -111,9 +111,9 @@ public:
/** P2M */
void
bottomPass
(){
FTRACE
(
FTrace
::
FFunction
functionTrace
(
__FUNCTION__
,
"Fmm"
,
__FILE__
,
__LINE__
)
);
F
DEBU
G
(
FDebug
::
Controller
.
write
(
"
\t
Start Bottom Pass
\n
"
).
write
(
FDebug
::
Flush
)
);
F
DEBU
G
(
FTic
counterTime
);
F
DEBU
G
(
FTic
computationCounter
);
F
LO
G
(
FDebug
::
Controller
.
write
(
"
\t
Start Bottom Pass
\n
"
).
write
(
FDebug
::
Flush
)
);
F
LO
G
(
FTic
counterTime
);
F
LO
G
(
FTic
computationCounter
);
typename
OctreeClass
::
Iterator
octreeIterator
(
tree
);
...
...
@@ -122,13 +122,13 @@ public:
do
{
// We need the current cell that represent the leaf
// and the list of particles
F
DEBU
G
(
computationCounter
.
tic
());
F
LO
G
(
computationCounter
.
tic
());
kernels
->
P2M
(
octreeIterator
.
getCurrentCell
()
,
octreeIterator
.
getCurrentListSrc
());
F
DEBU
G
(
computationCounter
.
tac
());
F
LO
G
(
computationCounter
.
tac
());
}
while
(
octreeIterator
.
moveRight
());
F
DEBU
G
(
FDebug
::
Controller
<<
"
\t
Finished (@Bottom Pass (P2M) = "
<<
counterTime
.
tacAndElapsed
()
<<
"s)
\n
"
);
F
DEBU
G
(
FDebug
::
Controller
<<
"
\t\t
Computation : "
<<
computationCounter
.
cumulated
()
<<
" s
\n
"
);
F
LO
G
(
FDebug
::
Controller
<<
"
\t
Finished (@Bottom Pass (P2M) = "
<<
counterTime
.
tacAndElapsed
()
<<
"s)
\n
"
);
F
LO
G
(
FDebug
::
Controller
<<
"
\t\t
Computation : "
<<
computationCounter
.
cumulated
()
<<
" s
\n
"
);
}
/////////////////////////////////////////////////////////////////////////////
...
...
@@ -138,9 +138,9 @@ public:
/** M2M */
void
upwardPass
(){
FTRACE
(
FTrace
::
FFunction
functionTrace
(
__FUNCTION__
,
"Fmm"
,
__FILE__
,
__LINE__
)
);
F
DEBU
G
(
FDebug
::
Controller
.
write
(
"
\t
Start Upward Pass
\n
"
).
write
(
FDebug
::
Flush
);
);
F
DEBU
G
(
FTic
counterTime
);
F
DEBU
G
(
FTic
computationCounter
);
F
LO
G
(
FDebug
::
Controller
.
write
(
"
\t
Start Upward Pass
\n
"
).
write
(
FDebug
::
Flush
);
);
F
LO
G
(
FTic
counterTime
);
F
LO
G
(
FTic
computationCounter
);
// Start from leal level - 1
typename
OctreeClass
::
Iterator
octreeIterator
(
tree
);
...
...
@@ -151,25 +151,25 @@ public:
// for each levels
for
(
int
idxLevel
=
OctreeHeight
-
2
;
idxLevel
>
0
;
--
idxLevel
){
F
DEBU
G
(
FTic
counterTimeLevel
);
F
LO
G
(
FTic
counterTimeLevel
);
const
int
fackLevel
=
idxLevel
+
offsetRealTree
;
// for each cells
do
{
// We need the current cell and the child
// child is an array (of 8 child) that may be null
F
DEBU
G
(
computationCounter
.
tic
());
F
LO
G
(
computationCounter
.
tic
());
kernels
->
M2M
(
octreeIterator
.
getCurrentCell
()
,
octreeIterator
.
getCurrentChild
(),
fackLevel
);
F
DEBU
G
(
computationCounter
.
tac
());
F
LO
G
(
computationCounter
.
tac
());
}
while
(
octreeIterator
.
moveRight
());
avoidGotoLeftIterator
.
moveUp
();
octreeIterator
=
avoidGotoLeftIterator
;
// equal octreeIterator.moveUp(); octreeIterator.gotoLeft();
F
DEBU
G
(
FDebug
::
Controller
<<
"
\t\t
>> Level "
<<
idxLevel
<<
"("
<<
fackLevel
<<
") = "
<<
counterTimeLevel
.
tacAndElapsed
()
<<
"s
\n
"
);
F
LO
G
(
FDebug
::
Controller
<<
"
\t\t
>> Level "
<<
idxLevel
<<
"("
<<
fackLevel
<<
") = "
<<
counterTimeLevel
.
tacAndElapsed
()
<<
"s
\n
"
);
}
F
DEBU
G
(
FDebug
::
Controller
<<
"
\t
Finished (@Upward Pass (M2M) = "
<<
counterTime
.
tacAndElapsed
()
<<
"s)
\n
"
);
F
DEBU
G
(
FDebug
::
Controller
<<
"
\t\t
Computation : "
<<
computationCounter
.
cumulated
()
<<
" s
\n
"
);
F
LO
G
(
FDebug
::
Controller
<<
"
\t
Finished (@Upward Pass (M2M) = "
<<
counterTime
.
tacAndElapsed
()
<<
"s)
\n
"
);
F
LO
G
(
FDebug
::
Controller
<<
"
\t\t
Computation : "
<<
computationCounter
.
cumulated
()
<<
" s
\n
"
);
}
/////////////////////////////////////////////////////////////////////////////
...
...
@@ -180,9 +180,9 @@ public:
void
transferPass
(){
FTRACE
(
FTrace
::
FFunction
functionTrace
(
__FUNCTION__
,
"Fmm"
,
__FILE__
,
__LINE__
)
);
F
DEBU
G
(
FDebug
::
Controller
.
write
(
"
\t
Start Downward Pass (M2L)
\n
"
).
write
(
FDebug
::
Flush
);
);
F
DEBU
G
(
FTic
counterTime
);
F
DEBU
G
(
FTic
computationCounter
);
F
LO
G
(
FDebug
::
Controller
.
write
(
"
\t
Start Downward Pass (M2L)
\n
"
).
write
(
FDebug
::
Flush
);
);
F
LO
G
(
FTic
counterTime
);
F
LO
G
(
FTic
computationCounter
);
typename
OctreeClass
::
Iterator
octreeIterator
(
tree
);
typename
OctreeClass
::
Iterator
avoidGotoLeftIterator
(
octreeIterator
);
...
...
@@ -191,25 +191,25 @@ public:
// for each levels
for
(
int
idxLevel
=
1
;
idxLevel
<
OctreeHeight
;
++
idxLevel
){
F
DEBU
G
(
FTic
counterTimeLevel
);
F
LO
G
(
FTic
counterTimeLevel
);
const
int
fackLevel
=
idxLevel
+
offsetRealTree
;
// for each cells
do
{
const
int
counter
=
tree
->
getPeriodicInteractionNeighbors
(
neighbors
,
octreeIterator
.
getCurrentGlobalCoordinate
(),
idxLevel
,
periodicDirections
);
F
DEBU
G
(
computationCounter
.
tic
());
F
LO
G
(
computationCounter
.
tic
());
if
(
counter
)
kernels
->
M2L
(
octreeIterator
.
getCurrentCell
()
,
neighbors
,
counter
,
fackLevel
);
F
DEBU
G
(
computationCounter
.
tac
());
F
LO
G
(
computationCounter
.
tac
());
}
while
(
octreeIterator
.
moveRight
());
avoidGotoLeftIterator
.
moveDown
();
octreeIterator
=
avoidGotoLeftIterator
;
F
DEBU
G
(
computationCounter
.
tic
());
F
LO
G
(
computationCounter
.
tic
());
kernels
->
finishedLevelM2L
(
fackLevel
);
F
DEBU
G
(
computationCounter
.
tac
());
F
DEBU
G
(
FDebug
::
Controller
<<
"
\t\t
>> Level "
<<
idxLevel
<<
"("
<<
fackLevel
<<
") = "
<<
counterTimeLevel
.
tacAndElapsed
()
<<
"s
\n
"
);
F
LO
G
(
computationCounter
.
tac
());
F
LO
G
(
FDebug
::
Controller
<<
"
\t\t
>> Level "
<<
idxLevel
<<
"("
<<
fackLevel
<<
") = "
<<
counterTimeLevel
.
tacAndElapsed
()
<<
"s
\n
"
);
}
F
DEBU
G
(
FDebug
::
Controller
<<
"
\t
Finished (@Downward Pass (M2L) = "
<<
counterTime
.
tacAndElapsed
()
<<
"s)
\n
"
);
F
DEBU
G
(
FDebug
::
Controller
<<
"
\t\t
Computation : "
<<
computationCounter
.
cumulated
()
<<
" s
\n
"
);
F
LO
G
(
FDebug
::
Controller
<<
"
\t
Finished (@Downward Pass (M2L) = "
<<
counterTime
.
tacAndElapsed
()
<<
"s)
\n
"
);
F
LO
G
(
FDebug
::
Controller
<<
"
\t\t
Computation : "
<<
computationCounter
.
cumulated
()
<<
" s
\n
"
);
}
/////////////////////////////////////////////////////////////////////////////
...
...
@@ -219,9 +219,9 @@ public:
void
downardPass
(){
// second L2L
FTRACE
(
FTrace
::
FFunction
functionTrace
(
__FUNCTION__
,
"Fmm"
,
__FILE__
,
__LINE__
)
);
F
DEBU
G
(
FDebug
::
Controller
.
write
(
"
\t
Start Downward Pass (L2L)
\n
"
).
write
(
FDebug
::
Flush
);
);
F
DEBU
G
(
FTic
counterTime
);
F
DEBU
G
(
FTic
computationCounter
);
F
LO
G
(
FDebug
::
Controller
.
write
(
"
\t
Start Downward Pass (L2L)
\n
"
).
write
(
FDebug
::
Flush
);
);
F
LO
G
(
FTic
counterTime
);
F
LO
G
(
FTic
computationCounter
);
typename
OctreeClass
::
Iterator
octreeIterator
(
tree
);
typename
OctreeClass
::
Iterator
avoidGotoLeftIterator
(
octreeIterator
);
...
...
@@ -229,23 +229,23 @@ public:
const
int
heightMinusOne
=
OctreeHeight
-
1
;
// for each levels exepted leaf level
for
(
int
idxLevel
=
1
;
idxLevel
<
heightMinusOne
;
++
idxLevel
){
F
DEBU
G
(
FTic
counterTimeLevel
);
F
LO
G
(
FTic
counterTimeLevel
);
const
int
fackLevel
=
idxLevel
+
offsetRealTree
;
// for each cells
do
{
F
DEBU
G
(
computationCounter
.
tic
());
F
LO
G
(
computationCounter
.
tic
());
kernels
->
L2L
(
octreeIterator
.
getCurrentCell
()
,
octreeIterator
.
getCurrentChild
(),
fackLevel
);
F
DEBU
G
(
computationCounter
.
tac
());
F
LO
G
(
computationCounter
.
tac
());
}
while
(
octreeIterator
.
moveRight
());
avoidGotoLeftIterator
.
moveDown
();
octreeIterator
=
avoidGotoLeftIterator
;
F
DEBU
G
(
FDebug
::
Controller
<<
"
\t\t
>> Level "
<<
idxLevel
<<
"("
<<
fackLevel
<<
") = "
<<
counterTimeLevel
.
tacAndElapsed
()
<<
"s
\n
"
);
F
LO
G
(
FDebug
::
Controller
<<
"
\t\t
>> Level "
<<
idxLevel
<<
"("
<<
fackLevel
<<
") = "
<<
counterTimeLevel
.
tacAndElapsed
()
<<
"s
\n
"
);
}
F
DEBU
G
(
FDebug
::
Controller
<<
"
\t
Finished (@Downward Pass (L2L) = "
<<
counterTime
.
tacAndElapsed
()
<<
"s)
\n
"
);
F
DEBU
G
(
FDebug
::
Controller
<<
"
\t\t
Computation : "
<<
computationCounter
.
cumulated
()
<<
" s
\n
"
);
F
LO
G
(
FDebug
::
Controller
<<
"
\t
Finished (@Downward Pass (L2L) = "
<<
counterTime
.
tacAndElapsed
()
<<
"s)
\n
"
);
F
LO
G
(
FDebug
::
Controller
<<
"
\t\t
Computation : "
<<
computationCounter
.
cumulated
()
<<
" s
\n
"
);
}
...
...
@@ -257,10 +257,10 @@ public:
/** P2P */
void
directPass
(){
FTRACE
(
FTrace
::
FFunction
functionTrace
(
__FUNCTION__
,
"Fmm"
,
__FILE__
,
__LINE__
)
);
F
DEBU
G
(
FDebug
::
Controller
.
write
(
"
\t
Start Direct Pass
\n
"
).
write
(
FDebug
::
Flush
);
);
F
DEBU
G
(
FTic
counterTime
);
F
DEBU
G
(
FTic
computationCounterL2P
);
F
DEBU
G
(
FTic
computationCounterP2P
);
F
LO
G
(
FDebug
::
Controller
.
write
(
"
\t
Start Direct Pass
\n
"
).
write
(
FDebug
::
Flush
);
);
F
LO
G
(
FTic
counterTime
);
F
LO
G
(
FTic
computationCounterL2P
);
F
LO
G
(
FTic
computationCounterP2P
);
const
int
heightMinusOne
=
OctreeHeight
-
1
;
const
FReal
boxWidth
=
tree
->
getBoxWidth
();
...
...
@@ -273,9 +273,9 @@ public:
bool
hasPeriodicLeaves
;
// for each leafs
do
{
F
DEBU
G
(
computationCounterL2P
.
tic
());
F
LO
G
(
computationCounterL2P
.
tic
());
kernels
->
L2P
(
octreeIterator
.
getCurrentCell
(),
octreeIterator
.
getCurrentListTargets
());
F
DEBU
G
(
computationCounterL2P
.
tac
());
F
LO
G
(
computationCounterL2P
.
tac
());
// need the current particles and neighbors particles
const
FTreeCoordinate
centerOfLeaf
=
octreeIterator
.
getCurrentGlobalCoordinate
();
...
...
@@ -305,10 +305,10 @@ public:
}
}
F
DEBU
G
(
computationCounterP2P
.
tic
());
F
LO
G
(
computationCounterP2P
.
tic
());
kernels
->
P2PRemote
(
octreeIterator
.
getCurrentGlobalCoordinate
(),
octreeIterator
.
getCurrentListTargets
(),
octreeIterator
.
getCurrentListSrc
(),
periodicNeighbors
,
periodicNeighborsCounter
);
F
DEBU
G
(
computationCounterP2P
.
tac
());
F
LO
G
(
computationCounterP2P
.
tac
());
for
(
int
idxNeig
=
0
;
idxNeig
<
27
;
++
idxNeig
){
if
(
periodicNeighbors
[
idxNeig
]
){
...
...
@@ -325,18 +325,18 @@ public:
}
}
F
DEBU
G
(
computationCounterP2P
.
tic
());
F
LO
G
(
computationCounterP2P
.
tic
());
kernels
->
P2P
(
octreeIterator
.
getCurrentGlobalCoordinate
(),
octreeIterator
.
getCurrentListTargets
(),
octreeIterator
.
getCurrentListSrc
(),
neighbors
,
counter
-
periodicNeighborsCounter
);
F
DEBU
G
(
computationCounterP2P
.
tac
());
F
LO
G
(
computationCounterP2P
.
tac
());
}
while
(
octreeIterator
.
moveRight
());
F
DEBU
G
(
FDebug
::
Controller
<<
"
\t
Finished (@Direct Pass (L2P + P2P) = "
<<
counterTime
.
tacAndElapsed
()
<<
"s)
\n
"
);
F
DEBU
G
(
FDebug
::
Controller
<<
"
\t\t
Computation L2P : "
<<
computationCounterL2P
.
cumulated
()
<<
" s
\n
"
);
F
DEBU
G
(
FDebug
::
Controller
<<
"
\t\t
Computation P2P : "
<<
computationCounterP2P
.
cumulated
()
<<
" s
\n
"
);
F
LO
G
(
FDebug
::
Controller
<<
"
\t
Finished (@Direct Pass (L2P + P2P) = "
<<
counterTime
.
tacAndElapsed
()
<<
"s)
\n
"
);
F
LO
G
(
FDebug
::
Controller
<<
"
\t\t
Computation L2P : "
<<
computationCounterL2P
.
cumulated
()
<<
" s
\n
"
);
F
LO
G
(
FDebug
::
Controller
<<
"
\t\t
Computation P2P : "
<<
computationCounterP2P
.
cumulated
()
<<
" s
\n
"
);
}
...
...
@@ -561,12 +561,12 @@ public:
*/
void
processPeriodicLevels
(){
FTRACE
(
FTrace
::
FFunction
functionTrace
(
__FUNCTION__
,
"Fmm"
,
__FILE__
,
__LINE__
)
);
F
DEBU
G
(
FDebug
::
Controller
.
write
(
"
\t
Start Periodic Pass
\n
"
).
write
(
FDebug
::
Flush
);
);
F
DEBU
G
(
FTic
counterTime
);
F
LO
G
(
FDebug
::
Controller
.
write
(
"
\t
Start Periodic Pass
\n
"
).
write
(
FDebug
::
Flush
);
);
F
LO
G
(
FTic
counterTime
);
/////////////////////////////////////////////////////
// If nb level == -1 nothing to do
if
(
nbLevelsAboveRoot
==
-
1
){
F
DEBU
G
(
FDebug
::
Controller
<<
"
\t
Finished (@Periodic = "
<<
counterTime
.
tacAndElapsed
()
<<
"s)
\n
"
);
F
LO
G
(
FDebug
::
Controller
<<
"
\t
Finished (@Periodic = "
<<
counterTime
.
tacAndElapsed
()
<<
"s)
\n
"
);
return
;
}
/////////////////////////////////////////////////////
...
...
@@ -599,7 +599,7 @@ public:
// put result in level 1
kernels
->
L2L
(
&
rootDown
,
octreeIterator
.
getCurrentBox
(),
3
);
F
DEBU
G
(
FDebug
::
Controller
<<
"
\t
Finished (@Periodic = "
<<
counterTime
.
tacAndElapsed
()
<<
"s)
\n
"
);
F
LO
G
(
FDebug
::
Controller
<<
"
\t
Finished (@Periodic = "
<<
counterTime
.
tacAndElapsed
()
<<
"s)
\n
"
);
return
;
}
/////////////////////////////////////////////////////
...
...
@@ -1195,7 +1195,7 @@ public:
delete
[]
cellsYZAxis
;
delete
[]
cellsXZAxis
;
F
DEBU
G
(
FDebug
::
Controller
<<
"
\t
Finished (@Periodic = "
<<
counterTime
.
tacAndElapsed
()
<<
"s)
\n
"
);
F
LO
G
(
FDebug
::
Controller
<<
"
\t
Finished (@Periodic = "
<<
counterTime
.
tacAndElapsed
()
<<
"s)
\n
"
);
}
...
...
Src/Core/FFmmAlgorithmSectionTask.hpp
View file @
6dc92ced
...
...
@@ -68,7 +68,7 @@ public:
this
->
kernels
[
idxThread
]
=
new
KernelClass
(
*
inKernels
);
}
F
DEBU
G
(
FDebug
::
Controller
<<
"FFmmAlgorithmSectionTask (Max Thread "
<<
omp_get_max_threads
()
<<
")
\n
"
);
F
LO
G
(
FDebug
::
Controller
<<
"FFmmAlgorithmSectionTask (Max Thread "
<<
omp_get_max_threads
()
<<
")
\n
"
);
}
/** Default destructor */
...
...
@@ -120,8 +120,8 @@ private:
/** P2M */
void
bottomPass
(){
FTRACE
(
FTrace
::
FFunction
functionTrace
(
__FUNCTION__
,
"Fmm"
,
__FILE__
,
__LINE__
)
);
F
DEBU
G
(
FDebug
::
Controller
.
write
(
"
\t
Start Bottom Pass
\n
"
).
write
(
FDebug
::
Flush
)
);
F
DEBU
G
(
FTic
counterTime
);
F
LO
G
(
FDebug
::
Controller
.
write
(
"
\t
Start Bottom Pass
\n
"
).
write
(
FDebug
::
Flush
)
);
F
LO
G
(
FTic
counterTime
);
typename
OctreeClass
::
Iterator
octreeIterator
(
tree
);
...
...
@@ -139,7 +139,7 @@ private:
#pragma omp taskwait
F
DEBU
G
(
FDebug
::
Controller
<<
"
\t
Finished (@Bottom Pass (P2M) = "
<<
counterTime
.
tacAndElapsed
()
<<
"s)
\n
"
);
F
LO
G
(
FDebug
::
Controller
<<
"
\t
Finished (@Bottom Pass (P2M) = "
<<
counterTime
.
tacAndElapsed
()
<<
"s)
\n
"
);
}
/////////////////////////////////////////////////////////////////////////////
...
...
@@ -149,8 +149,8 @@ private:
/** M2M */
void
upwardPass
(){
FTRACE
(
FTrace
::
FFunction
functionTrace
(
__FUNCTION__
,
"Fmm"
,
__FILE__
,
__LINE__
)
);
F
DEBU
G
(
FDebug
::
Controller
.
write
(
"
\t
Start Upward Pass
\n
"
).
write
(
FDebug
::
Flush
);
);
F
DEBU
G
(
FTic
counterTime
);
F
LO
G
(
FDebug
::
Controller
.
write
(
"
\t
Start Upward Pass
\n
"
).
write
(
FDebug
::
Flush
);
);
F
LO
G
(
FTic
counterTime
);
// Start from leal level - 1
typename
OctreeClass
::
Iterator
octreeIterator
(
tree
);
...
...
@@ -161,7 +161,7 @@ private:
// for each levels
for
(
int
idxLevel
=
OctreeHeight
-
2
;
idxLevel
>
1
;
--
idxLevel
){
F
DEBU
G
(
FTic
counterTimeLevel
);
F
LO
G
(
FTic
counterTimeLevel
);
// for each cells
do
{
// We need the current cell and the child
...
...
@@ -176,11 +176,11 @@ private:
octreeIterator
=
avoidGotoLeftIterator
;
// equal octreeIterator.moveUp(); octreeIterator.gotoLeft();
#pragma omp taskwait
F
DEBU
G
(
FDebug
::
Controller
<<
"
\t\t
>> Level "
<<
idxLevel
<<
" = "
<<
counterTimeLevel
.
tacAndElapsed
()
<<
"s
\n
"
);
F
LO
G
(
FDebug
::
Controller
<<
"
\t\t
>> Level "
<<
idxLevel
<<
" = "
<<
counterTimeLevel
.
tacAndElapsed
()
<<
"s
\n
"
);
}
F
DEBU
G
(
FDebug
::
Controller
<<
"
\t
Finished (@Upward Pass (M2M) = "
<<
counterTime
.
tacAndElapsed
()
<<
"s)
\n
"
);
F
LO
G
(
FDebug
::
Controller
<<
"
\t
Finished (@Upward Pass (M2M) = "
<<
counterTime
.
tacAndElapsed
()
<<
"s)
\n
"
);
}
/////////////////////////////////////////////////////////////////////////////
...
...
@@ -191,8 +191,8 @@ private:
void
transferPass
(){
FTRACE
(
FTrace
::
FFunction
functionTrace
(
__FUNCTION__
,
"Fmm"
,
__FILE__
,
__LINE__
)
);
F
DEBU
G
(
FDebug
::
Controller
.
write
(
"
\t
Start Downward Pass (M2L)
\n
"
).
write
(
FDebug
::
Flush
);
);
F
DEBU
G
(
FTic
counterTime
);
F
LO
G
(
FDebug
::
Controller
.
write
(
"
\t
Start Downward Pass (M2L)
\n
"
).
write
(
FDebug
::
Flush
);
);
F
LO
G
(
FTic
counterTime
);
const
CellClass
*
neighbors
[
343
];
...
...
@@ -204,7 +204,7 @@ private:
// for each levels
for
(
int
idxLevel
=
2
;
idxLevel
<
OctreeHeight
;
++
idxLevel
){
F
DEBU
G
(
FTic
counterTimeLevel
);
F
LO
G
(
FTic
counterTimeLevel
);
// for each cells
do
{
int
counter
=
tree
->
getInteractionNeighbors
(
neighbors
,
octreeIterator
.
getCurrentGlobalCoordinate
(),
idxLevel
);
...
...
@@ -230,10 +230,10 @@ private:
}