[DRMAA-WG] some questions on "DRMAA JOB TEMPLATE ATTRIBUTES"
Daniel Templeton
Dan.Templeton at Sun.COM
Tue Jan 2 13:59:08 CST 2007
Daniel Templeton wrote:
> Peter Troeger wrote:
>
>> Hello,
>>
>> happy new year !
>>
>>
>>
>>> The source code piece looked like this,
>>> .......
>>> drmaa_set_attribute (jt, DRMAA_JOB_NAME,
>>> "test_submit", error, DRMAA_ERROR_STRING_BUFFER);
>>> drmaa_set_attribute (jt, DRMAA_WD,
>>> "/home/group1/test", error,
>>> DRMAA_ERROR_STRING_BUFFER);
>>> drmaa_set_attribute (jt, DRMAA_REMOTE_COMMAND,
>>> "test_submit.sh", error, DRMAA_ERROR_STRING_BUFFER);
>>> ...........
>>>
>>> it did not work, and sge6 gave error information,
>>> "12/26/2006 19:23:04|qmaster|einstein|W|job 43.1
>>> failed on host compute2 general searching requested
>>> shell because: 12/26/2006 21:25:38 [501:10278]:
>>> execvp(test_submit.sh, "test_submit.sh") failed: No
>>> such file or directory"
>>>
>>> but after I changed the value of
>>> "DRMAA_REMOTE_COMMAND"
>>> to absolutely full path ---
>>> drmaa_set_attribute (jt, DRMAA_REMOTE_COMMAND,
>>> "/home/group1/test/test_submit.sh", error,
>>> DRMAA_ERROR_STRING_BUFFER);
>>> it worked well.
>>>
>>>
>> The DRMAA spec looks a little bit unclear here, but SGE confirms to
>> the traditional Unix thinking. Working directory means the directory
>> "where the job is executed", which is in first place an indication
>> for the location of input and output files. The exec command in Unix
>> searches the PATH directories, which may not include the current
>> directory ("."). Therefore, the exec command cannot locate the binary
>> on your execution host without full path. It is the same reason why
>> you must type "./test_submit.sh" instead of "test_submit.sh" in your
>> shell, even if you are in the right directory. This is for security -
>> ask your local administrator ;-) ...
>>
>>
>>
>
> I think this case is the reason for the $drmaa_wd$ placeholder. If you
> make your executable path "$drmaa_wd$/test_submit.sh", it should work.
>
> Daniel
>
>
Oops! That should be $drmaa_wd_ph$.
Daniel
>> The funny thing is that the same program works with Condor, even if
>> "." is not in the PATH. Condor seems to search the working directory
>> automatically, maybe for compatibility reasons between Windows and
>> Unix submission files. DRMAA has no real chance to do something about
>> that, since the library implementation cannot influence the execution
>> host mechanisms.
>>
>>
>>
>>> Another question,
>>> While I write a SGE script file for parallel job,
>>> the script file looks like this,
>>> ........
>>> /usr/local/mpich-ifort/bin/mpirun -np $NSLOTS
>>> /home/group1/test/test_arg 4
>>> SGE6 will give $NSLOTS a suitable value while it
>>> submits the job. If I want to do this only through
>>> DRMAA API, how to implement it.
>>>
>>>
>> This relates to DRM monitoring issues, and is not covered in DRMAA
>> 1.0 so far. We know that users want more placeholders in job
>> templates, so there is a discussion wiki page about possible new
>> parameters:
>>
>> http://www.drmaa.org/wiki/index.php/DrmaaJobTemplatePlaceholders
>>
>> Please feel free to add your demanded job template parameter there.
>> It would be great if you add the SGE-specific implementation of your
>> suggestion, so that we can check if other DRM systems are also able
>> to handle this.
>>
>> Thanks,
>> Peter.
>>
>> --
>> drmaa-wg mailing list
>> drmaa-wg at ogf.org
>> http://www.ogf.org/mailman/listinfo/drmaa-wg
>>
>>
>
> --
> drmaa-wg mailing list
> drmaa-wg at ogf.org
> http://www.ogf.org/mailman/listinfo/drmaa-wg
>
More information about the drmaa-wg
mailing list