PP-946: On Cray a PTL script setting select specification on a job using set_attributes method makes the job fail to run


Interface:Job.__init__()
Visibility: Public
Change Control: Stable
Synopsis: Modification to add vntype value to each select chunk, when platform is Cray.
Details:

  • If platform is an actual Cray cluster or Cray ALPS simulator:
    • If select statement is present in attrs then for each select chunk:
      • If it does not contain any of three ('vntype', 'host', 'vnode') resources then add 'vntype=cray_compute' to that particular chunk.

Interface:Job.set_attributes()
Visibility: Public
Change Control: Stable
Synopsis: Overriding parent set_attributes method with additional checks and modifications specific to Cray.
Details:

  • Initialise default attributes.
  • If platform is an actual Cray cluster or Cray ALPS simulator:
    • if 'Resource_List.vntype' is already set and select is defined inside attribute dictionary then:
      • Remove 'Resource_List.vntype' .
      • For each select chunk, if it does not contain any of three ('vntype', 'host', 'vnode') resources then:
        • Add 'vntype=cray_compute' to that particular chunk.
        • Example: 

Let suppose we have a select statements as below:

Case 1: 

select=1:ncpus=1+2:ncpus=2+1:ncpus=3
This will become:
select=1:ncpus=1:vntype=cray_compute+2:ncpus=2:vntype=cray_compute+1:ncpus=3:vntype=cray_compute


Case 2:

select=1:ncpus=1:host=abc+2:ncpus=2:vnode=xyz+1:ncpus=3
This will become:
select=1:ncpus=1:host=abc+2:ncpus=2:vnode=xyz+1:ncpus=3:vntype=cray_compute

  • Initialise custom attributes.