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
SWIFT
SWIFTsim
Commits
788f13a2
Commit
788f13a2
authored
Jan 18, 2019
by
Peter W. Draper
Browse files
Update description of the -y option
Also make sure ParMETIS is mentioned as well as METIS
parent
09a2b67d
Changes
8
Hide whitespace changes
Inline
Side-by-side
INSTALL.swift
View file @
788f13a2
...
...
@@ -138,14 +138,15 @@ before you can build it.
=====================
-
METIS
:
a
build
of
the
METIS
library
can
be
optionally
used
to
optimize
the
load
between
MPI
nodes
(
requires
an
MPI
library
)
.
This
should
be
found
in
the
standard
installation
directories
,
or
pointed
at
using
the
"--with-metis"
configuration
option
.
In
this
case
the
top
-
level
installation
directory
of
the
METIS
build
should
be
given
.
Note
to
use
METIS
you
should
supply
at
least
"--with-metis"
.
-
METIS
/
ParMETIS
:
a
build
of
the
METIS
or
ParMETIS
library
should
be
used
to
optimize
the
load
between
MPI
nodes
.
This
should
be
found
in
the
standard
installation
directories
,
or
pointed
at
using
the
"--with-metis"
or
"--with-parmetis"
configuration
options
.
In
this
case
the
top
-
level
installation
directory
of
the
build
should
be
given
.
Note
to
use
METIS
or
ParMETIS
you
should
supply
at
least
"--with-metis"
.
ParMETIS
is
preferred
over
METIS
when
there
is
a
choice
.
-
libNUMA
:
a
build
of
the
NUMA
library
can
be
used
to
pin
the
threads
to
...
...
README
View file @
788f13a2
...
...
@@ -65,8 +65,8 @@ Parameters:
-T, --timers=<int> Print timers every time-step.
-v, --verbose=<int> Run in verbose mode, in MPI mode 2 outputs
from all ranks.
-y, --task-dumps=<int> Time-step frequency at which task
graph
s
are dumped.
-y, --task-dumps=<int> Time-step frequency at which task
analysi
s
files and/or tasks
are dumped.
-Y, --threadpool-dumps=<int> Time-step frequency at which threadpool
tasks are dumped.
...
...
README.md
View file @
788f13a2
...
...
@@ -113,8 +113,8 @@ Parameters:
-T, --timers=<int> Print timers every time-step.
-v, --verbose=<int> Run in verbose mode, in MPI mode 2 outputs
from all ranks.
-y, --task-dumps=<int> Time-step frequency at which task
graph
s
are dumped.
-y, --task-dumps=<int> Time-step frequency at which task
analysi
s
files and/or tasks
are dumped.
-Y, --threadpool-dumps=<int> Time-step frequency at which threadpool
tasks are dumped.
...
...
doc/Doxyfile.in
View file @
788f13a2
...
...
@@ -1976,7 +1976,7 @@ SEARCH_INCLUDES = YES
# preprocessor.
# This tag requires that the tag SEARCH_INCLUDES is set to YES.
INCLUDE_PATH =
INCLUDE_PATH =
@top_srcdir@/src
# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
# patterns (like *.h and *.hpp) to filter out the header-files in the
...
...
doc/RTD/source/CommandLineOptions/index.rst
View file @
788f13a2
...
...
@@ -60,7 +60,7 @@ can be found by typing ``./swift -h``::
-T, --timers=<int> Print timers every time-step.
-v, --verbose=<int> Run in verbose mode, in MPI mode 2 outputs
from all ranks.
-y, --task-dumps=<int> Time-step frequency at which task
graph
s
are dumped.
-y, --task-dumps=<int> Time-step frequency at which task
analysi
s
files and/or tasks
are dumped.
-Y, --threadpool-dumps=<int> Time-step frequency at which threadpool
tasks are dumped.
doc/RTD/source/GettingStarted/compiling_code.rst
View file @
788f13a2
...
...
@@ -41,9 +41,9 @@ FFTW
~~~~
Version 3.3.x or higher is required for periodic gravity.
METIS
~~~~~
METIS is us
ed for domain decomposition and load balancing.
ParMETIS or
METIS
~~~~~
~~~~~~~~~~~~
One is requir
ed for domain decomposition and load balancing.
libNUMA
~~~~~~~
...
...
doc/RTD/source/GettingStarted/running_on_large_systems.rst
View file @
788f13a2
...
...
@@ -26,9 +26,8 @@ system (i.e. over MPI on several nodes). Here are some recommendations:
+ Run with threads pinned. You can do this by passing the ``-a`` flag to the
SWIFT binary. This ensures that processes stay on the same core that spawned
them, ensuring that cache is accessed more efficiently.
+ Ensure that you compile with METIS. More information is available in an
upcoming paper, but using METIS allows for work to be distributed in a
more efficient way between your nodes.
+ Ensure that you compile with ParMETIS or METIS. These are required if
want to load balance between MPI ranks.
Your batch script should look something like the following (to run on 16 nodes
each with 2x16 core processors for a total of 512 cores):
...
...
src/partition.c
View file @
788f13a2
...
...
@@ -71,7 +71,7 @@ const char *initial_partition_name[] = {
/* Simple descriptions of repartition types for reports. */
const
char
*
repartition_name
[]
=
{
"none"
,
"edge and vertex task cost weights"
,
"task cost edge weights"
,
"particle
memory
weights"
,
"
memory balanced, using
particle
vertex
weights"
,
"vertex task costs and edge delta timebin weights"
};
/* Local functions, if needed. */
...
...
@@ -1587,7 +1587,7 @@ static void repart_memory_metis(struct repartition *repartition, int nodeID,
/* And repartition. */
#ifdef HAVE_PARMETIS
if
(
repartition
_partition
->
usemetis
)
{
if
(
repartition
->
usemetis
)
{
pick_metis
(
nodeID
,
s
,
nr_nodes
,
weights
,
NULL
,
repartition
->
celllist
);
}
else
{
pick_parmetis
(
nodeID
,
s
,
nr_nodes
,
weights
,
NULL
,
refine
,
...
...
Write
Preview
Supports
Markdown
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