Hi,

I think "to install/build a useable FEniCS" breaks up to two steps:
   1. Install dependencies (PETSc alike)
   2. Install FEniCS packages
>From my experience, step 1 is hard while step 2 is more or less trivial.
Thus the real question is how much FEniCS community should do to
maintain installation receipes/documentations for non-FEniCS packages.

For most students/researchers/developers, the ease of deployment and
maintainence is the most important. Here I think a good solution is to
put step 1 into a virtual machine image and let the user choose what to
do with step 2. Here Jack, Garth, and I worked on this. You can find a
working repo at:
  https://bitbucket.org/garth-wells/fenics-virtual/branch/vagrant-docker
This allows the user to choose to either use the binaries or build the
stable/git version from source against the os inside the image. As
maintainers, we only need to take care of step 1 for one version of one
platform inside the VM (ubuntu in this case), which is easy.

For people who need best possible performance on large clusters, it is
unlikely that a nicely usable and scriptable solution exists because best
performance means the solution is platform/hardware dependent. Indeed,
if GCC+OpenMPI is used, the hand compiled thing will perform more or
less the same as the VM images before. My experience with compiling
optimized FEniCS was not good. For step 1, I did not find any good
documentation for compiling PETSc/Trilinos with Intel compilers, MKL,
platform/intel MPI. For step 2, I had to find a version of optimized
compiler
compatible with dolfin (due to C++11transition) and patch some MPI
includes and cmake tests (depending on compiler and MPI used). Here I
think a wiki-like site would certainly help. At least it offers a starting
point.

It is tempting to think that a dorsal-like scripted system would work for
most of the scenarios. From my experience, this is not the case. I am
thinking about Dorsal, Sagemath, Anaconda, and many web services I used
before. In the end, developers can only maintain it to work on one or a
handful of supported popular linux flavors where better binary repos
probably already exist. On a different linux flavor or a customized
commercial *nix system most large clusters use, they tend to fail due to
kernel/compiler version issues. Indeed, mature deployment system I know
of are either for operating systems which have full control of their own
base
libraries (apt/rpm/pacman) or for server vendors who have full control of
both the hardware and software (chef, puppet, ansible, possibly hashdist
as well). For software developers, the only mature, robust, multi-platform
deployment system I found is either VM or as hosted web application.



On Thu, Nov 6, 2014 at 1:13 AM, Anders Logg <[email protected]> wrote:

> Hi,
>
> One thing I think is missing on our web page is a collection of good
> installation recipes and, possibly, other FEniCS-related recipes.
>
> We do have good binary packages, but instructions for building from
> source could be better. Here are some issues I think we need to solve:
>
> 1. How do we want to continue to support Dorsal? Is anyone actively
> maintaining it? Should it be the officially supported way to install
> FEniCS from source on all platforms, including Mac?
>
> 2. The installation instructions on the web page are very static and
> difficult to keep up-to-date, since it requires making a pull request
> for the website Sphinx code, getting someone to apply the pull request
> etc.
>
> 3. Is there a good alternative in the form of a collection of "FEniCS
> recipes", to which anyone can contribute (perhaps wiki style), ideally
> also in combination with some voting mechanism (thumbs up = works for
> me) so that we may organically keep track of, say, the best way of
> the day to build FEniCS on OS X.
>
> Ideally, we would host this on fenicsproject.org, but perhaps there
> are already existing web services that could be used?
>
> 4. Could those installation recipes be made scriptable? And then how
> would this be different from Dorsal? I like Dorsal, but it seems not
> everyone is on board with using Dorsal as the main/official way of
> FEniCS installation.
>
> --
> Anders
> _______________________________________________
> fenics mailing list
> [email protected]
> http://fenicsproject.org/mailman/listinfo/fenics
>



-- 
Lizao (Larry) Li
Univeristy of Minnesota
_______________________________________________
fenics mailing list
[email protected]
http://fenicsproject.org/mailman/listinfo/fenics

Reply via email to