Dear Reuti, This is helpful for me. Thank you very much!
Best regard, Yong WU 2013/12/4 Reuti <[email protected]> > Am 04.12.2013 um 12:34 schrieb Yong Wu: > > > Dear Reuti, > > > > The part of submitted script: > > #----start---- > > #$ -pe mpi4 8 > > #$ -l h="compute-0-27|compute-0-30" > > #$ -q all.q > > #$ -v LD_PRELOAD=/home/wuy/bin/libtime.so.1 > > #----end---- > > > > $ qconf -sp mpi4 > > pe_name mpi4 > > slots 9999 > > user_lists NONE > > xuser_lists NONE > > start_proc_args /opt/gridengine/mpi/startmpi.sh $pe_hostfile > > stop_proc_args /opt/gridengine/mpi/stopmpi.sh > > allocation_rule 4 > > control_slaves FALSE > > job_is_first_task TRUE > > urgency_slots min > > accounting_summary TRUE > > > > The master node is compute-0-27, while the slave node is compute-0-30. > The variable "LD_PRELOAD" can only take effect on master node > (compute-0-27). That is, the library shouldn't be loaded at slave node > (compute-0-30). > > Aha, you mean master and slave of a parallel job. > > What MPI library do you use? The easiest might be: don't call your binary > directly but a wrapper. Depending on the rank you can either define the > LD_PRELOAD or not. Some MPI libraries set an environment variable already > like OMPI_COMM_WORLD_RANK (Open MPI) which can be checked: > > #!/bin/bash > if [ "$OMPI_COMM_WORLD_RANK" -eq 0 ]; then > export LD_PRELOAD=/foo/bar/baz > fi > exec "${@}" > > and you can execute: > > mipexec wrapper.sh real-binary arg1 arg2 ... > > in your jobscript. > > HTH -- Reuti > > > > > I know and I tested you said. Although the env_list: > LD_PRELOAD=/home/wuy/bin/libtime.so.1, the library shouldn't be loaded at > slave node (compute-0-30). > > > > Thanks! > > > > Yong WU > > > > > > 2013/12/4 Reuti <[email protected]> > > Hi, > > > > Am 04.12.2013 um 11:31 schrieb Yong Wu: > > > > > I want to set a environment variable on slave nodes, and I did this > in my submitted script: > > > #$ -v LD_PRELOAD=/home/wuy/bin/libtime.so.1 > > > > The variable will bet set at execution time of the script, wherever it's > executed. Due you mean: > > > > - the location is different for slave nodes in the cluster? > > - the library shouldn't be loaded at all on slave nodes? > > > > Did you test with an: > > > > echo $LD_PRELOAD > > > > in the jobscript whether it's set? It will also be listed in `qstat -j > <job_id>`. > > > > -- Reuti > > > > > > > But this variable can only take effect on master node. How to set a > environment variable on slave nodes? > > > > > > Any help about this issue will be apreciated! > > > > > > Thanks! > > > > > > Yong WU > > > > > > _______________________________________________ > > > users mailing list > > > [email protected] > > > https://gridengine.org/mailman/listinfo/users > > > > > >
_______________________________________________ users mailing list [email protected] https://gridengine.org/mailman/listinfo/users
