fenics team mailing list archive
-
fenics team
-
Mailing list archive
-
Message #00044
Re: Application domains
The main point I was attacking with my post was the suggestion that we
should sacrifice performance by not pre-compiling code, since the
1.) We don't know that not-precompiling code sacrifices significant
performance. This is not a settled question. It could be that the
optimal run-time code is only epsilon more expensive than the optimal
compiled code. It largely depends on how the systems are
engineered. An interesting comparison (don't want to ruffle any
feathers though) would be to make a run of solving some problem in
DOLFIN and in Sundance and compare the time to assemble the matrix.
Linux version Blue Gene runs (and perhaps other supercomputer
operating systems) apparently can't do dynamic loading. This would
Your comment about "only running on supercomputers" is well-taken but
slightly overstated -- there are lots of places besides the laptop/
desktop/cluster/supercomputer spectrum where we might be interested
in running. Kevin's design decision were to make something portable
across the spectrum of machines that he runs on -- it can run on a
linux box/cluster, but he doesn't have to do too much to do his
production runs.
impact your laptop user, since his code would run slower. A better
solution as far as I can see would be to fix Linux on Blue Gene so
that it can do dynamic loading, or alternatively avoid dynamic loading
by recompiling and reuploading the code to the nodes between runs.
The first is neither possible nor practical.
1.) Blue Gene runs a very stripped-down kernel (parts of it are
highly guarded as they contain proprietary IBM secrets, I believe) to
allow maximum memory usage per node. The claim is that when you
start adding stuff to the kernel (like dynamic loading) you will lose
available memory for the highest-end runs. Hence, even if you wanted
to spend all your time rewriting the BlueGene kernel, they wouldn't
let you.
2.) cross-compiling on the other hand, including generating code for
forms instead of having code to interpret them, could be an eventual
possibility.
Rob Kirby
"Mathematical software should be mathematical."
Follow ups
References