Ah yes, that’s the problem. Thanks! It doesn’t look at the results of the eval after it already made its fetch request. The following worked: condor_status -attr CUDA0UtilizationPct,CUDA1UtilizationPct,CUDA2UtilizationPct,CUDA3UtilizationPct -constraint 'SlotType == "Dynamic" && !isUndefined(AssignedGPUs)' -af name 'eval(strcat(regexps("""", "", AssignedGPUs),"UtilizationPct"))' It’ll only work for single-GPU jobs, though. -Michael Pelletier. From: HTCondor-users [mailto:htcondor-users-bounces@xxxxxxxxxxx]
On Behalf Of John M Knoeller I think the problem here is that condor_status doesn’t know to fetch CUDA0UtilizationPct when it queries the collector, so it will always be undefined by the time condor_status does the evaluation.
Try adding -attr CUDA0UtilizationPct to your command, that will force that attribute to be fetched in addition to the ones that condor_status figures out by parsing the -af expressions. -tj From: HTCondor-users [mailto:htcondor-users-bounces@xxxxxxxxxxx]
On Behalf Of Michael Pelletier condor_status -constraint 'SlotType == "Dynamic"' -af 'eval(strcat(AssignedGpus,"UtilizationPct"))' I’m looking for the utilization percent value of the GPU which is assigned to the slot in question with the idea of putting it in as a job machine attr. The strcat() gives the right string, as far as I can tell, but the eval() doesn’t seem
to like it. Even this doesn’t work: condor_status -constraint 'SlotType == "Dynamic"' -af name 'eval("CUDA0UtilizationPct")' Any suggestions? -Michael Pelletier. |