On 11/25/11 8:12 AM, Ian Chesal wrote:
Careful here! The $$() substitution only happens inside string values. In the condor submit file, string values are typically not quoted unless they are inside of a larger _expression_, so there is no lexical clue to tell you which values are string values and which are not.
The value given for executable is a string value, so $$() substitution works there. The value given for request_cpus is an _expression_ that evaluates to an integer, so $$() substitution does not make sense there, unless the $$() appears inside of a quoted string value within the _expression_. However, there is no need to rely on $$() substitution in request_cpus. You can just directly refer to TARGET.Cpus if you need to, because this _expression_ is evaluated with the machine ad being TARGET.
Whether that could solve the underlying problem or not is another matter. As Steffen points out, partitionable slots and parallel universe have not been tightly integrated, so this may be one of the resulting rough edges.