Community
cancel
Showing results for 
Search instead for 
Did you mean: 
maju3
Beginner
31 Views

Running mpi jobs on nodes with different user names

Hi,
I would like to run mpi job from a host machine, as user 'gmaj'. The processes should be executed on the nodes which do not have user 'gmaj'. I would like to use a special user 'mpi' on the nodes. I'm calling mpdboot with rsh set to a script, which simply does ssh as user 'mpi'. This way mpdboot, mpdtrace and mpdringtest work fine, but when I try to use mpiexec it hangs.
Logs on the nodes say:
---
10.0.1.180_man_536 (launch_mpdman_via_fork 3357): invalid username :gmaj: on 10.0.1.180
10.0.1.180_man_536: mpd_uncaught_except_tb handling:
: 'int' object has no attribute 'send_dict_msg'
/opt/intel/impi/4.0.1.007/bin64/mpd.py 3360 launch_mpdman_via_fork
self.conSock.send_dict_msg(msgToSend)
/opt/intel/impi/4.0.1.007/bin64/mpd.py 3268 run_one_cli
(manPid,toManSock) = self.launch_mpdman_via_fork(msg,man_env)
/opt/intel/impi/4.0.1.007/bin64/mpd.py 2969 do_mpdrun
rv = self.run_one_cli(rank,msg)
/opt/intel/impi/4.0.1.007/bin64/mpd.py 2493 handle_lhs_input
self.do_mpdrun(msg)
/opt/intel/impi/4.0.1.007/intel64/bin/mpdlib.py 940 handle_active_streams
handler(stream,*args)
/opt/intel/impi/4.0.1.007/bin64/mpd.py 1798 runmainloop
rv = self.streamHandler.handle_active_streams(timeout=8.0)
/opt/intel/impi/4.0.1.007/bin64/mpd.py 1762 run
self.runmainloop()
/opt/intel/impi/4.0.1.007/bin64/mpd.py 3446
mpd.run()
---
I've found in sources of mpd.py, that it takes the username from msg['users'], received - I suppose - from mpiexec. When I hardcode 'mpi' username in mpd.py (msg['username'] = 'mpi'), it works fine.
But I haven't found any option in mpiboot or mpiexec to set that. Is there such an option?
Thanks,
Grzegorz Maj
0 Kudos
1 Reply
Dmitry_K_Intel2
Employee
31 Views

Hi Maj,

It's not the right way of running mpi programs. It's impossible to have such option - if it works on your cluster and doesn't mean that it will work somewhere else.

Regards!
Dmitry