1 |
Justin Bronder wrote: |
2 |
> On 12/06/08 11:28 -0700, Bryan Green wrote: |
3 |
> |
4 |
>> Hello, |
5 |
>> |
6 |
>> I'm beginning to give empi/eselect-mpi a try. Bravo, Justin, for making |
7 |
>> these! |
8 |
>> |
9 |
> |
10 |
> Thanks for trying them out, I'm hoping someone else finds them as useful as I |
11 |
> have. |
12 |
> |
13 |
It is planned to be part of the Gentoo Clustering LiveCD ;) |
14 |
> |
15 |
>> I've run into one bug in eselect-mpi that effects csh users (a popular |
16 |
>> shell where I work). There is simply one setenv line that has bash syntax |
17 |
>> rather than csh syntax. I already submitted a bug: its bug 226105. |
18 |
>> Here is the patch to fix it: |
19 |
>> |
20 |
>> ================================================ |
21 |
>> --- files/mpi.eselect-0.0.3 (revision 1137) |
22 |
>> +++ files/mpi.eselect-0.0.3 (working copy) |
23 |
>> @@ -161,7 +161,7 @@ |
24 |
>> setenv PATH "${binpath}" |
25 |
>> setenv MANPATH "${manpath}" |
26 |
>> setenv LD_LIBRARY_PATH "${lld}" |
27 |
>> -setenv ESELECT_MPI_IMP="${1}" |
28 |
>> +setenv ESELECT_MPI_IMP "${1}" |
29 |
>> EOF |
30 |
>> |
31 |
>> echo "Remember to source ${user_ev_sh} or ${user_ev_csh}" |
32 |
>> ================================================ |
33 |
>> |
34 |
> |
35 |
> Fixed in eselect-0.0.3-r1. Also found another mistake when setting PATH for |
36 |
> c shells and fixed that as well. |
37 |
> |
38 |
> |
39 |
>> Also, in the README file, the for loop in step 6 is incorrect: |
40 |
>> |
41 |
>> for i in $(ls ${HOME}/.env.d/*); do |
42 |
>> source ${HOME}/.env.d/${i} |
43 |
>> done |
44 |
>> |
45 |
>> Results in: |
46 |
>> |
47 |
>> -bash: /home/bgreen/.env.d//home/bgreen/.env.d/mpi.csh: No such file or directory |
48 |
>> -bash: /home/bgreen/.env.d//home/bgreen/.env.d/mpi.sh: No such file or directoryA |
49 |
>> |
50 |
> |
51 |
> Also fixed. You might also want to check out the doc I've been working on |
52 |
> lately, http://dev.gentoo.org/~jsbronder/empi.xml. Hopefully it's a little |
53 |
> more up to date. |
54 |
> |
55 |
Have to remember that one ;) |
56 |
> |
57 |
>> On the system where I'm using empi, I've created files in /etc/profile.d to |
58 |
>> source the user's .env.d files when they log in. What do you think about |
59 |
>> having the eselect-mpi ebuild install these, so mpi users dont have to do |
60 |
>> that part manually? They would instead just have to source /etc/profile or |
61 |
>> /etc/csh.login after running 'eselect mpi'. |
62 |
>> |
63 |
> |
64 |
> Love it, I had not even thought of using this mechanism before even though I |
65 |
> should have. It will also simplify switching from an mpi environment to one |
66 |
> without it. I'll try to get something checked into the overlay soon, |
67 |
> shouldn't be more than a few days.< |
68 |
> |
69 |
Keep us posted because I will definitely want that version! |
70 |
> |
71 |
>> Here are my versions of the files in /etc/profile.d: |
72 |
>> |
73 |
>> ============== |
74 |
>> mpi-config.sh |
75 |
>> ============== |
76 |
>> if [ -d ${HOME}/.env.d ]; then |
77 |
>> for i in ${HOME}/.env.d/*.sh ; do |
78 |
>> . "${i}" |
79 |
>> done |
80 |
>> unset i |
81 |
>> fi |
82 |
>> |
83 |
>> ============== |
84 |
>> mpi-config.csh |
85 |
>> ============== |
86 |
>> if ( -d ${HOME}/.env.d ) then |
87 |
>> set nonomatch |
88 |
>> foreach i ( ${HOME}/.env.d/*.csh ) |
89 |
>> source ${i} |
90 |
>> end |
91 |
>> unset i nonomatch |
92 |
>> endif |
93 |
>> |
94 |
>> ============== |
95 |
>> |
96 |
>> -bryan |
97 |
>> |
98 |
> |
99 |
> Thanks again for testing and your comments, they're much appreciated. |
100 |
> |
101 |
Yeah, thanks you both, multi-mpi-on-1-system has always plagued me too ;) |