Hi Edscott,

I'm writing you as a follow-up on your post on the DUNE mailing list.

You mention that you use DuMux with Docker. I just wanted to mention a couple of things you might find useful:

* There is a Dockerfile (https://git.iws.uni-stuttgart.de/dumux-repositories/dumux-docker) available to build a docker container with graphic support. I must warn though that it is a bit old. I will update as soon as I get to it.

* There is a script (https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/blob/master/bin/moduleutil/createdockerimage.sh) that creates a Docker container of an extracted DUNE module which is new in the dumux-pub project (https://git.iws.uni-stuttgart.de/dumux-pub). The Docker container built in this script also fixes the user permissions for transferring files in and out of containers and has graphic support on Linux machines.

* DuMux also uses Docker for automated testing with buildbot (https://git.iws.uni-stuttgart.de/buildbot/#/builders).

* There is a DockerHub group for DuMux (https://hub.docker.com/u/dumux/), however it's also a bit outdated.

If you are interested in contributing useful Docker images, we are happy, please contact us.


Best wishes,

Timo


On 03.01.2018 17:26, Edscott Wilson wrote:
I'll chip in my feedback from a DuMux user's viewpoint.

To create DuMux problems with dune, basic generic C++ programming is a must,  so updating a particular compilation requirement either from source or from binary distribution library should not pose a problem.

But what if it is a problem?

In our workgroup we use an ArchLinux based docker container prepared with all the necessary compilation tools.

Why ArchLinux based?

Because it is a rolling release targeted at users who will be compiling programs. This differs from Linux distributions targeted at non compiling users (debian/redhat/opensuse and variants) where library headers are separated into different packages. This makes updating the docker container rather simple and always up to date. Users in the non developer Linux distributions can run dune problems without any need for any compilation tools (just needs docker).

But what about performance in the docker container?

We have run our DuMux problem on a Linux box using mpi with 8 processes, both in and out of a docker container. The performance is almost the same.This is quite different from a virtualbox Linux client on a more robust windows host, where performance is degraded by at least 40 percent.

So docker is a perfect solution?

Not yet. The main issue is the absence of a graphical environment. This means that file editing and result analysis must be done in the host computer. Moving files to-and-from the host to the container is tedious and not very efficient. A solution would be an environment where the docker container inputs and outputs directly to the host computer disk space with some kind of python script do process commands from the host and communicate with the docker container. We have not done that yet, but it sounds like fun.

In conclusion, from a simple user's viewpoint, upgrading to cmake 3.1 and gcc 7 is just fine.


best regards,

Edscott

El 03/01/2018 8:47 a.m., "Steffen Müthing" <[email protected] <mailto:[email protected]>> escribió:


    > Am 03.01.2018 um 15:43 schrieb Christian Engwer
    <[email protected]
    <mailto:[email protected]>>:
    >
    >> OTOH, CMake 2.8 in particular has a whole bunch of weird little
    bugs and subtle
    >> differences from CMake >= 3.1 (not accepting keyword arguments
    in some places where
    >> later releases will flag a deprecation warning if you leave
    them away for example). And configuring
    >> different modules at different compatibility levels is just an
    invitation for horrible small problems, mostly
    >> because our downstream modules all re-run the CMake code of
    upstream modules.
    >
    > Sorry, but this means the whole buildsystem is broken. The
    implication
    > of what you just said is, that we have to use the most recent cmake,
    > as some downstream module might use it.
    >
    > I'm happy bumping hte requirements, if there is a particular reason,
    > but not just some vague "little bugs and subtle differences". That
    > cmake is strange is a problem for a long time and it will be
    like this
    > also for an other long time. I there is a particular bug we
    fixed and
    > thus had to raise the requirements, then the discussion is
    settled and
    > we have to live with cmake-3.1. It is just, that nobody up to now
    > mentioned a particular reason for the new requirements and I
    couldn't
    > find any hint in the logs.

    Andreas just brought up a very valid one: We don’t have a CI
    config that can test with CMake 2.8.12
    (because our baseline is either Debian stable (3.7) or Ubuntu LTS
    (3.5)).

    Steffen

    >
    > Christian
    >


    _______________________________________________
    Dune mailing list
    [email protected] <mailto:[email protected]>
    http://lists.dune-project.org/mailman/listinfo/dune
    <http://lists.dune-project.org/mailman/listinfo/dune>



_______________________________________________
Dune mailing list
[email protected]
http://lists.dune-project.org/mailman/listinfo/dune

--
_______________________________________________________________

Timo Koch                              phone: +49 711 685 64676
IWS, Universität Stuttgart             fax:   +49 711 685 60430
Pfaffenwaldring 61        email: [email protected]
D-70569 Stuttgart            url: www.hydrosys.uni-stuttgart.de
_______________________________________________________________

_______________________________________________
Dumux mailing list
[email protected]
https://listserv.uni-stuttgart.de/mailman/listinfo/dumux

Reply via email to