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 |