Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • A class passed as wrapper arguments
  • Tree (of classes) describing job settings
  • ToolNameJobSettings class:
    • batch_job - class ToolNameBatchJob:
      • queue
      • ???
    • debug - class ToolNameDebug
      • debugger - TotalView/gdb
      • mode - attach/standalone
    • mpi - class ToolNameMPI
      • mpi parameters - TBD
      • ???
    • open_mp - class ToolNameOpenMP
      • openMP parameters - TBD
      • ???
    • sandbox
      • path to sandbox
      • sandbox 'lifetime'

Wrapper outcome


Code Block
class ToolNameJobSettings : 
  def __init__(self):
    self.batch_job = ToolNameBatchJob()
    self.debug = ToolNameDebug()
    self.mpi = ToolNameMPI()
	self.open_mp = ToolNameOpenMP()
	self.sandbox = ToolNameSandbox()
	self.?????  #any other info needed?

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
class ToolNameBatchJob :
  def __init__(self):
	self.queue = 
	self.TBD

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
class ToolNameDebug :
  def __init__(self):
	self.debugger #TotalView/gdb
	self.mode     #attach/standalone
	self.TBD

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
class ToolNameMPI :
  def __init__(self):
	self.TBD
	self.debug_switch

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
class ToolNameOpenMP :
  def __init__(self):
	self.TBD

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
class ToolNameSandbox :
  def __init__(self):
	self.path
	self.lifetime
	self.TBD


Wrapper outcome

  • To be discussed - PREFERRED:  OUT arguments - wrapper will update fields of <ActorName>Arguments class
  • Returned values - packed within a class:
    • autogenerated
    • a part of wrapper package

Open points

  1. Programming conventions (PEP 8?)
    1. https://www.python.org/dev/peps/pep-0008/
  2. Incompatibility with existing Python actors!
  3. Only IN and OUT arguments (no INOUT arguments)
  4. Arrays as an inout of user method- only "dynamic" - i.e. of variable size 
  5. Wrapper results:
    1. OUT arguments - wrapper will update fields of <ActorName>Arguments classReturned
    2. values - packed within a classINCOMPATIBILITY 
  6. Diagnostic info 
    1. Info returned from user method
      1. status flag
      2. user defined message
    2. 'Q: can it be mandatory in user sbrt?
  7.  Sandbox:
    1. Do we need this feature?
  8. Alternative library:
    1. Do we need this feature?

...