← Back to team overview

fenics team mailing list archive

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