• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC SKILL
  3. Overriding drmsCommand in skill

Stats

  • Locked Locked
  • Replies 6
  • Subscribers 144
  • Views 13979
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Overriding drmsCommand in skill

nebq29
nebq29 over 10 years ago

Hi everyone,

I'm hoping this proves to be a rather easy question, so here goes.

We have started using a distributed setup on a Univa Grid setup, and had had problems with people not telling the grid how many licences their jobs need.  So I was hoping to be able to write some skill sript that will override the resources based on what their simulator options are (aka if they are running a spectre sim, or an ams sim running with aps on 4 cores).  

I have been able to find the uniMode variable, as well as the numThreads value along with the asiGetSimName() I have all the information I need to determine what the drmsCommand should be.

My issue is that I can't find the actual string being sent to our grid for that specific session of ADE-L, where what i really want is to override the value.

Any help would be greatly appreciated. 

-Ben 

  • Cancel
  • tweeks
    tweeks over 10 years ago

    Dunno.  In an LSF grid you can do this:   

        envSetVal("asimenv.distributed" "lsfResourceString" 'string "rhel rusage[mem=4000] span[hosts=1]")
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • nebq29
    nebq29 over 10 years ago
    tweeks, I appreciate the response, I was under the impression that the asimenv.distributed environment variable was a global default setting that the user could override inside a specific ADE-L window. If this isn't the case, and anytime you submit a job in ADE-L that is the variable that changes I will just feel very silly even asking this because I never checked that variable thinking it wasn't worth the time. I'll look and let you know if that was all it was (in a couple days i will be able to check).
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • tweeks
    tweeks over 10 years ago

    nebq29 said:
    I was under the impression that the asimenv.distributed environment variable was a global default setting that the user could override inside a specific ADE-L window.

    It probably is, but I'm not 100% sure.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • nebq29
    nebq29 over 10 years ago

    It looks like and environment variable is changed when you submit a job, but that does not change the command sent to the grid.

    What I did was before netlisting I put a breakpoint so i could look to see what the envGetVal("asimenv.distributed" "drmsCommand") came back as, and changed the value.  But the origional command that I had set was used instead of the value i overwote to the drmsCommand environment variable.

    Thanks for trying.  I'm hoping for more ideas because I am stummped.

     

    If anyone is interested here is where i found the number of threads in an ams simulation:

    session->data->env->data->amsTurboOpts->data->numThreads->value

    and the uniMode (since i was unable to find this documented anywhere)

    session->data->env->data->amsTurboOpts->data->uniMode->value 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • sankalps
    sankalps over 10 years ago
    drmsCommand can only be set once in one virtuoso session. You can not update it once it is set.
    However in 616ISR9, new cdsenv variable is provided which will allow you to override various distribution arguments (including drmsCommand) during the session.
    For example,
    envSetVal("asimenv.distributed" "setupFunction" 'string "myCustomSetup")
    and you can define myCustomSetup something as 
    procedure(myCustomSetup()
    list(?drmsCommand "bsub -R \"OSNAME==Linux && OSREL==EE50\"" ?jobName "myName"))
    - Sankalp 
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • nebq29
    nebq29 over 10 years ago

    Sankalps,

    Just to make sure I understand you correctly.  You are saying you can only set the "amsienv.distributed" drmsCommand once per cadence session? I am trying to change the ADE-L session drmsCommand after a simulation is set to run, not the virtuoso session value.

    Please correct me if I understood you incorrectly.

    The setupFunction you showed, how is that any different from doing the envSetVal("amsienv.distributed" "drmsCommand" 'string "bsub -R")? I am still learning skill so I apologize for not getting the difference.

     Or is the setupFunction a way to define a function that is called before any simulation netlists and runs in ADE-L?

    Thanks for the input

    -Ben 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information