ocean with RTDA (nc) job scheduler with wait statements (was DRMS)

Discussion in 'Cadence' started by rick, Oct 7, 2010.

  1. rick

    rick Guest

    Follow up:
    We got to work with the snipet of code below keying off of ipcGetPid.
    SGE_LBS is the hook that supports
    the wait statement and so if the command is not passed to the LBS
    process, the wait will be ignored. NC
    commands are not currently supported by CDS. You can use the ?drms
    option for single ended jobs
    which do not have dependencies like post-processing. If you do have
    post-processing then will need to
    use something like this:

    /************************* NetworkComputer Interface Code

    ;; Compute a unique name for the jobs used in this session.
    ;; Here we use the PID of the current Ocean process as
    ;; The name of each job contains the corner name.
    ;; Options used in nc run:
    ;; -C JobClass
    ;; -J JobName
    ;; there are 3 additional lines marked with ///// NC INTERFACE

    sprintf( ncNameRoot "ocn_%d_" ipcGetPid() )
    ncName = strcat( ncNameRoot curr_corner )
    submissionCommand = strcat( "nc run -C spectre_ade -J "
    ncName )
    myresults = run( ?jobName "rtda" ?drmsCmd submissionCommand )

    /************************* NetworkComputer Interface Code

    joblist = append( joblist list(list(myresults curr_corner
    ncName)) ) ;; ///// NC INTERFACE - add ncName

    ) ;end foreach curr_corner

    foreach(job joblist
    curr_job =nth(0 job)
    curr_corner=nth(1 job)
    ncName =nth(2
    job) ;; ///// NC
    INTERFACE -add ncName

    println( strcat("WAITING FOR COMPLETION OF JOB " ncName ) )
    csh( strcat("nc wait -select jobname=="
    ncName ) ) ;; ///// NC INTERFACE -add line

    rick, Oct 7, 2010
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.