Gentoo Archives: gentoo-soc

From: Michael Gilroy <Michael.Gilroy@××××××××.edu>
To: gentoo-soc@l.g.o
Subject: [gentoo-soc] Week 1
Date: Sat, 03 Jun 2017 07:25:46
Message-Id: CAHsHdL9ZbK8xZHL19XCV80Q0arpzisr-NmPi8irXgSSJwc-W6A@mail.gmail.com
1 Hey all,
2
3 Week 1 was quite the learning experience when it comes to Portage and how
4 MPI software is currently built. Daily reports in order:
5
6
7 * 1. What was my plan for today?*
8 a) Setup necessary functions in eclass (with multilib functions as well)
9 b) Setup all mpi implementations that will be used, set up skeleton
10 functions for each.
11 c) Receive design instructions from Andrew and start to implement. Ask
12 questions.
13 d) Go back and forth with Justin about how components of the existing
14 mpi.eclass work, and how they should be implemented in the new eclass.
15 * 2. Did I achieve it? If not, what do I intend to do about it?*
16 a) Incomplete. There are many more functions to go, after eclass design is
17 solidified.
18 b) Set up variable as list of implementations. Functions will be developed
19 once I discuss further how to go about parallel installations.
20 c) Incomplete. This is happening tomorrow.
21 d) We talked about design, but this communication will always be a work in
22 progress
23 * 3. What is my plan for tomorrow?*
24 a) Decide on design for parallel installs. Start work on parallel
25 installations.
26 b) Start adding multilib support
27 c) Use proper environment variables to track/detect installations.
28
29 Over the course of the week, design discussions pivoted until a consensus
30 was reached.
31
32 *1. What was my plan for today?*
33 a) Decide on design for parallel installs. Start work on parallel
34 installations.
35 b) Start adding multilib support
36 c) Use proper environment variables to track/detect installations.
37 * 2. Did I achieve it? If not, what do I intend to do about it?*
38 a) Completed thanks to Andrew. Started diving into ebuilds, will continue
39 to develop the new mpi-providers eclass tomorrow as I continue to use the
40 new eclass with existing ebuilds. I will tinker more with this tonight.
41 b) Change of plans. The new eclass will be simpler than before, but the
42 second eclass will be more challenging.
43 c) Completed (for the most part). If there's any conflicts with EPREFIX in
44 existing ebuilds I will have to use other environment variables, or change
45 the ebuild itself.
46 * 3. What is my plan for tomorrow?*
47 a) Test openmpi and mpich ebuilds extensively and develop accordingly.
48 b) After testing, have somebody review the eclass code to make sure I'm on
49 the right track.
50 c) Start looking into less trivial mpi implementations and test the simple
51 eclass with them as well.
52
53 Another small change of plans, but progress is still being made. Also,
54 importantly, I'm still learning about ebuild/eclass best practices.
55
56
57 *1. What was my plan for today?*
58 openmpi and mpich ebuilds extensively and develop accordingly.
59 *2. Did I achieve it? If not, what do I intend to do about it?*
60 a) Testing revealed that this solution is nontrivial.
61 b) Though very simple, I sent the code to the mentors.
62 c) Work in progress, some revisions to the code will need to be made in
63 order to properly test.
64 * 3. What is my plan for tomorrow?*
65 a) Properly implement the new solution for the eclass, have code reviewed.
66 b) Test new eclass for all existing mpi implementations.
67 c) If time permits, verify what is needed for the 2nd eclass.
68
69 When building MPI software like mpich and openmpi, compile times bogged the
70 testing process down a bit. I ended up making smaller, more atomic scripts
71 to test before I tested it against an actual ebuild, which expedited
72 sorting out some of the more trivial flaws in my code.
73
74 *1. What was my plan for today?*
75 a) Properly implement the new solution for the eclass, have code reviewed.
76 b) Test new eclass for all existing mpi implementations.
77 c) If time permits, verify what is needed for the 2nd eclass.
78 *2. Did I achieve it? If not, what do I intend to do about it?*
79 a) Work in progress. Code is written but not functioning properly for all
80 ebuilds. Will be working on this over the weekend- I want to have this 100%
81 tested by Monday.
82 b) Incomplete. As stated, will be working on this this weekend.
83 c) Will review Andrew's email on Sunday, and talk in the IRC on Monday so I
84 can hit the ground running next week.
85 * 3. What is my plan for tomorrow?*
86 a) Get a proper design pinned down for the 2nd eclass
87 b) Finish all work in progress (over the weekend)
88 c) Start writing 2nd eclass once design is clear.
89
90 There is still much to be done, but the summer is just getting started :-)
91 . I hope to "ramp up" and generate more code over time once I iron out some
92 flaws in my thinking and understand the build system more.
93
94 I am still considering blogging about GSoC as it would be rather cool. If I
95 do end up writing a blog post this weekend, I will be sure to link it to
96 the Gentoo admins.
97
98 Thanks all,
99 Michael