1 |
Hi all, |
2 |
|
3 |
*Summary:* |
4 |
Last week's plans: |
5 |
1) Test various make.conf configurations to test against hpl builds. |
6 |
2) Set proper LDFLAGS to detect libmpi.so in its new location. |
7 |
3) Verify implementations listed in make.conf, expand upon |
8 |
dependency-appending function. |
9 |
|
10 |
I believe a lot of good progress was made. The hpl builds are going much |
11 |
more smoothly, and mpi-select now offers much more functionality during the |
12 |
compilation phases. There are some more minor hurdles that I need to clear |
13 |
to polish up certain functions, like the dependencies as well as locating |
14 |
mpicc effectively. The LDFLAGS should be working now but require further |
15 |
testing. Make.conf configurations are also coming along but also require |
16 |
more testing. |
17 |
|
18 |
Next week's plans: |
19 |
1) Fix bugs from build.log output- general eclass housekeeping. |
20 |
2) Expand upon implementation-specifc src_* phases while using multilib |
21 |
functions to iterate through implementations. |
22 |
3) Discuss further design & next steps (installing mpi-dependent libs to |
23 |
certain location, etc) |
24 |
|
25 |
*Day-by-day breakdown:* |
26 |
|
27 |
*Weekend/Monday Plans:* |
28 |
|
29 |
Go through notes of meeting. Properly implement and test things like LFLAGS |
30 |
or LD_LIBRARY_PATH and has_version to validate $MPI_TARGETS |
31 |
|
32 |
Work in progress. Now that I can properly test against hpl, I will work on |
33 |
getting libmpi.so properly sourced in LFLAGS. |
34 |
|
35 |
|
36 |
Get mpi-select to a "stable" build for further branching. |
37 |
|
38 |
Completed. hpl now builds successfully within the overlay. |
39 |
|
40 |
|
41 |
*Tuesday's Plans:* |
42 |
|
43 |
Eliminate dependence on mpi.eclass by adding mpi-select equivalent |
44 |
functionality. |
45 |
|
46 |
Work in progress. Functions from mpi.eclass have been added, but they need |
47 |
to be further tested and expanded upon specifically for mpi-select. |
48 |
|
49 |
|
50 |
Append to LFLAGS based on new /usr/$(get_lib)/mpi implementation location. |
51 |
Requires further testing, since upon compiling hpl is currently looking for |
52 |
the "normal" libmpi.so. |
53 |
|
54 |
Debug semantics of mpi-select functions using einfo statements. |
55 |
Incomplete. I did not get to this due to homework I have due Wednesday, I |
56 |
will continue to work on this. |
57 |
|
58 |
|
59 |
*Wednesday's Plans:* |
60 |
|
61 |
Debug logical errors in mpi-select_src_* |
62 |
|
63 |
Somewhat complete. While there have been errors patched, there are still a |
64 |
few "command not found"s in the build log, but everything is still stable |
65 |
and compiles. |
66 |
|
67 |
|
68 |
Test LFLAGS against different installed implementations. |
69 |
|
70 |
For hpl in particular, it sets a local variable called "mpicc_path" and I |
71 |
have been struggling to set this dynamically. I also think using |
72 |
LD_LIBRARY_PATH could potentially be easier |
73 |
(correct me if I am wrong), as that is what is supported in the current |
74 |
mpi.eclass . |
75 |
|
76 |
Currently in the overlay this is statically set to |
77 |
"/usr/lib64/mpi/mpich-3.2/install/usr/bin/mpicc". Even when I do the _bare |
78 |
minimum_ and echo that exact string from a function into the "mpicc_path" |
79 |
variable, I get the "make: o: command not found" that I would get if the |
80 |
path were incorrect. I have some functions set up that I believe would |
81 |
handle this dynamically but I am failing to echo the output correctly... Is |
82 |
there something simple I'm missing here?? |
83 |
|
84 |
|
85 |
Currently the functions I've set up request the _latest version_ of mpich |
86 |
currently installed, which I assume to be correct for now. I could always |
87 |
add a variable later to get a user-specified version of mpich for the mpicc |
88 |
building process. |
89 |
|
90 |
|
91 |
Further update functions used in hpl ebuild, refactor as needed. |
92 |
|
93 |
Work in progress. I now believe I have a very good idea of how functions |
94 |
should be set up in the overlay, and will continue to work to try to make |
95 |
the function calls as clean and simple as possible from the users' |
96 |
perspective. |
97 |
|
98 |
*Thursday's Plans:* |
99 |
|
100 |
Fix issues with returning correct values from functions (might need some |
101 |
insight on this, as I've tried a lot at this point). |
102 |
Incomplete. I will email as needed tomorrow. |
103 |
|
104 |
Replace mpi_pkg_deplist with mpi-select equivalent function. |
105 |
Completed. mpi_dependencies now grabs software by version to install. |
106 |
|
107 |
Replace all other hpl-2.1 mpi.eclass dependent functions. |
108 |
Some things like mpi_root still need some work. |
109 |
|
110 |
|
111 |
*Friday's Plans:* |
112 |
|
113 |
Get rid of "command not found" errors at runtime. |
114 |
|
115 |
Nearly completed. Most are gone, but I do need to hunt down some extra |
116 |
minor build errors. |
117 |
|
118 |
|
119 |
Add function to verify each MPI_TARGET individually. |
120 |
|
121 |
Having issues with has_version from flag-o-matic. Getting error: "$FUNCNAME |
122 |
calls are not allowed at global scope" even though this is being executed |
123 |
from within an eclass function (mpi_dependencies). Seems strange... I'd |
124 |
love to see if any of you have any insight. |
125 |
|
126 |
|
127 |
Replace existing mpi.eclass functions. |
128 |
|
129 |
This was very much connected to the "command not found" buildtime errors. |
130 |
This is nearly completed. |
131 |
|
132 |
|
133 |
|
134 |
Note: I will be working this weekend, but will be adding that progress to |
135 |
next week's progress report. |
136 |
|
137 |
All the best, |
138 |
Michael |