radical-cybertools / radical.pilot

RADICAL-Pilot
http://radical-cybertools.github.io/radical-pilot/index.html
Other
54 stars 23 forks source link

Support application kernels in the CU description #252

Closed andre-merzky closed 9 years ago

mturilli commented 9 years ago

Here a brief description of the use case that prompted this ticket. For an experiment I need to run the executable mdrun on four XSEDE resources. Several solutions come to mind:

  1. User-intensive: preload/compile mdrun on each target resource; save the executable on $HOME/bin/mdrun; specify cu.executable = "$HOME/bin/mdrun for each cu - note that I have no idea on what pilot/resource the CU will run at the moment of specifying cu.executable.
  2. User-less-intensive: stage mdrun for each CU (or shared across CU) before CU execution. This is what we do already with CU input files. The issue here is assuming that a 'medun' compiled on one XSEDE resource can be executed on each XSEDE resource available to me - likely an incorrect assumption.
  3. User-not-intensive (?): use a 'kernel' abstraction similar to the one used for mdemtk (did I get it right?!). This still seems to leave open the issue of having to compile a mdrun for each resource, depending on architecture and shared library availability.

Please feel free to add to the discussion, indicating new solutions or expanding/clarifying/overriding the descriptions of the three solutions provided.

andre-merzky commented 9 years ago

This is now implemented in the 'experimental' branch. the mdutils need to be installed manually on client side for this to work (otherwise the UM will raise an exception).

andre-merzky commented 9 years ago

closing as it is implemented, as stated above.