|
|
Cart3D's Flow
Solvers
Tell me a
little about flowCart?
What is the difference between
"flowCart" and
"mpix_flowCart"?
Tell me a little about
FlowCart?
flowCart/mpix_flowCart is the
basic inviscid solver being released with Cart3D. It
is a scalable, multilevel, linearly-exact
upwind solver and uses domain-decomposition to
achieve very
good scalability for both steady and
time-dependent flows. On most modern
machines it converges well over 1 million cells
per-core in under 10 minutes. flowCart is very
tightly integrated into Cart3D and all of our
automation tools are built around it. Since it is a
multilevel code, it converges very quickly and
includes our latest work on low-dissipation
approaches, solid wall boundaries, mesh interfaces
and limiters. Both the parallelization and multigrid
are completely transparent to the user and are turned
on by simple command line arguments to encourage
their use.
What is the
difference between "flowCart" and
"mpix_flowCart"
It's basically a
choice between shared and distributed memory.
Cart3D's
default solver module is called "flowCart"
which is a shared-memory build and can be run in
parallel within a single compute node. "mpix_flowCart"
is a distributed memory build. Both builds use the
same strategy for domain-decomposition and have
very similar scalability on most systems.
So...which build should you use? We recommend all
users start with flowCart, and then, after warming
up, start experimenting with mpix_flowCart if they
happen to be in a distributed computing
environment. With multi-core CPUs, shared memory
is more relevant than ever, but if you're in a
cluster-computing environment or have access to
large parallel systems, distributed memory is
the fastest way to kill large problems. So, if you
have a cluster of 8 machines, each of which has two
8-core cpu's (16 processing cores per cluster
node), you can run flowCart
on up to 16 threads in each box. If you need to run
more threads, or if you need more memory than you
have in a single box you can choose mpix_flowCart
to distribute your job over multiple cluster
nodes. flowCart
has been run in shared memory on over 1000 cores
here in NASA's
Supercomputing division. We routinely run long,
unsteady, distributed-memory simulations with
mpix_flowCart
on many thousands of cores.
(top)
|
|