Gentoo Archives: gentoo-science

From: Nicolas Bock <nicolasbock@×××××.com>
To: gentoo-science@l.g.o
Subject: Re: [gentoo-science] sci-physics/lammps: question on proper integration of mpi
Date: Mon, 13 May 2013 16:23:03
Message-Id: CAPMKG4DsMARP4T3GPDg-OEnmwKVQHJVCVxjsFHHYoY0WXVz2Rg@mail.gmail.com
In Reply to: Re: [gentoo-science] sci-physics/lammps: question on proper integration of mpi by Christoph Junghans
1 Hi Christoph,
2
3 thanks for the detailed answer. I have made a few changes to the ebuild,
4 implementing what you suggested. The only thing missing right now is a
5 better way to deal with the Makefile. I am working on that. In the meantime
6 I have created a pull request.
7
8 Thanks again,
9
10 nick
11
12
13
14 On Sun, May 12, 2013 at 5:08 PM, Christoph Junghans <ottxor@g.o>wrote:
15
16 > Hi Nick,
17 >
18 > thanks for your contribution.
19 >
20 > I think there is no general answer to your question. It depends if it
21 > is a disadvantage of running the mpi-version with 1 MPI process over
22 > running the serial version. I imagine that LAMMPS enable some special
23 > optimization if mpi is disabled as it can assume that everything
24 > happens locally and no mpi message need to be send. On the other hand,
25 > if the build of LAMMPS takes hours, one might prefer building it only
26 > once. Do LAMMPS offer other palatalizations like OpenMP or Threads to
27 > use multiple cores?
28 >
29 > From a brief look at our patch I see the following issues:
30 > - I am not sold on this Makefile patch and patching of the patch
31 > approach, seems a bit fragile. It might be better to use the default
32 > gcc Makefile and patch that. I prefer adding CC,CFLAGS etc, on emake
33 > comandline, you could create a function to avoid writing it on every
34 > emake call. (my_emake() { emake "$@" CC= CFLAGS=; } )
35 > - sed calls need to secured with "|| die"
36 > - DEPEND should be static, DEPEND="mpi? ( vitrual/mpi )" should do it
37 > - virtual/fortran is missing in DEPEND or use fortran-2.eclass and
38 > FORTRAN_NEEDED="fortran" instead.
39 > - lammps-gzip enables normal gzip support, so the use flags should be
40 > called gzip.
41 >
42 > If you are unsure about some technical details in an ebuild, create a
43 > pull request on github and somebody will give you advice in the
44 > review.
45 >
46 > Otherwise good job, looking forward to more commits from you,
47 >
48 > Christoph
49 >
50 > 2013/5/12 Nicolas Bock <nicolasbock@×××××.com>:
51 > > Hi,
52 > >
53 > > I recently added a lammps ebuild to the science overlay. It so far only
54 > > builds the serial version, and has very limited support for build time
55 > > options. I now added the mpi use flag and changed the ebuild so that it
56 > > builds the mpi version. I have attached a patch against master that does
57 > > this. I would like to get some feedback on those changes. Are they
58 > > acceptable in this form? What should I have done differently? How would
59 > I go
60 > > about writing an ebuild that builds both, the serial _and_ the mpi
61 > version
62 > > in case the mpi use flag is set?
63 > >
64 > > Thanks already,
65 > >
66 > > nick
67 > >
68 >
69 >
70 >
71 > --
72 > Christoph Junghans
73 > http://dev.gentoo.org/~ottxor/
74 >
75 >