Code InvocationΒΆ

  • Depending on the details of your installation, you have the PyHST script sitting somewhere in a directory. If you have installed PyHST as a Debian packageyou have PyHST in the PATH and you can run it as discussed below. Otherwise you might need to prepend PyHST, with the PyHST script directory path, to form the full path.

    The details of the command line are taken in charge by PyHST.py. The following documentation has been generated automatically from the comments found in the code.

CODE INVOCATION:

There are two distinct cases which are dealt differently

  • You are in a OAR environment. (OAR is a versatile resource and task manager)
  • You dont have a resource allocation system, but you know which hosts you can use

The details for both cases are given below. An important information to retain is that the resource granularity is one cpu with its eventually associated GPU.

  • Things are extremely easy within an OAR environment :
    • PyHST2_XX input.par

      where input.par is the input file, XX is the version number

    • provided that your OAR request demanded an integer number of CPUs
      like this for an interactive job :

      oarsub -p”gpu=’YES’ ” -l”nodes=1,walltime=2:20:00” -I

      or using more evoluted, eventually non interactive, requests as thouroughly explained here : http://wikiserv.esrf.fr/software/index.php/Main_Page

      In any case alway request an integer number of CPUs ( a CPU has several cores )

  • Things are no more difficult when you have to manually specify the resources you want
    • PyHST2_XX input.par gpuA,1,0,gpuB,1,0

      in this example gpuA and gpuB are the two hosts where you are running PyHST. Each host has two CPUs, the first of which will be associated with GPU number 1 and the second with GPU number 2

    • PyHST2_XX input.par CPUonly,-1 In this example the -1 flag indicates that no GPUs have to be used

    • You must have created beforehand a file machinefile. The content of which will be, for the first example:

      gpuA
      gpuA
      gpuB
      gpuB
      

      in other words machinefile file contains one instance of the hostname per each cpu. A process will be spawned per each cpu