Home > Community > Forums > Custom IC Design > spectre mc simulation : how to gain disk space (option save=selected/none...) but keeping the post-processing possible.

Email

* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

 spectre mc simulation : how to gain disk space (option save=selected/none...) but keeping the post-processing possible. 

Last post Tue, Jul 30 2013 4:52 AM by Andrew Beckett. 2 replies.
Started by samung 25 Jul 2013 03:55 AM. Topic has 2 replies and 554 views
Page 1 of 1 (3 items)
Sort Posts:
  • Thu, Jul 25 2013 3:55 AM

    • samung
    • Top 500 Contributor
    • Joined on Fri, Jun 14 2013
    • Posts 24
    • Points 285
    spectre mc simulation : how to gain disk space (option save=selected/none...) but keeping the post-processing possible. Reply

     Hello,

     

    I would like to reduce the disk area needed for a spectre simulation (example of a monte-carlo (transient) run 842 (cf. below)).

     

    Command launched : spectre input.scs +log mc_log_file.log

     

    Inside the input.scs, I can, indeed, decide to save or not some selected data => saveOptions options save=selected subcktprobelvl=2

    If I do that, I can do my post-processing exports (example : export out_b_sensed=oceanEval("value(v(\"out_b\" ?result \"tran\") 2e-08)")), however, it takes much disk area than with the save=none option : 456 kBytes vs 216 kBytes

    If I decide to put save=none, I reduce the disk area but, the post-processing is impossible =>

    Error found by spectre during Monte Carlo analysis `mc1'.

        ERROR (SPECTRE-8003): mc1_subckts: Error evaluating ocean expression `saout_b_sensed=value(v("saout_b" ?result "tran") 2e-08)'.

     

     

    Do we have a way to reduce the disk area with keeping the possibility to do the post-processing ?

     

     

    Summary below :

     

     

    1/ with (inside the input.scs) : saveOptions options save=selected subcktprobelvl=2

     

    The biggest file is : 

    249916 Jul 25 12:31 input.raw/mc1_tran.tran  => size of 250 kBytes

     

    ...> du -sh ../842/

    456K    ../842/

     

     

    ...> du -sh ./*

    4.0K    ./cp_input.scs

    0       ./du

    356K    ./input.raw

    4.0K    ./input.scs

    4.0K    ./input.scs~

    12K     ./mc_log_file.log

    52K     ./monteCarlo

    92K     ./pp238496.out

    4.0K    ./spectre.fc

    4.0K    ./spectre.ic

     

     

    ...> ls -lrt input.raw/*

    504 Jul 25 12:31 input.raw/mc1.mcparam

    249916 Jul 25 12:31 input.raw/mc1_tran.tran

    5376 Jul 25 12:31 input.raw/mc1_finalTimeOP.info

    684 Jul 25 12:31 input.raw/mc1_modelParameter.info

    13152 Jul 25 12:31 input.raw/mc1_element.info

    1484 Jul 25 12:31 input.raw/mc1_outputParameter.info

    4647 Jul 25 12:31 input.raw/mc1_designParamVals.info

    5264 Jul 25 12:31 input.raw/mc1_primitives.info.primitives

    523 Jul 25 12:31 input.raw/mc1_subckts.info.subckts

    1156 Jul 25 12:31 input.raw/logFile.tmp

    2140 Jul 25 12:31 input.raw/mc1_tran.montecarlo

    2148 Jul 25 12:31 input.raw/mc1_finalTimeOP.montecarlo

    2152 Jul 25 12:31 input.raw/mc1_modelParameter.montecarlo

    2144 Jul 25 12:31 input.raw/mc1_element.montecarlo

    2152 Jul 25 12:31 input.raw/mc1_outputParameter.montecarlo

    2152 Jul 25 12:31 input.raw/mc1_designParamVals.montecarlo

    2148 Jul 25 12:31 input.raw/mc1_primitives.montecarlo

    2144 Jul 25 12:31 input.raw/mc1_subckts.montecarlo

    3275 Jul 25 12:31 input.raw/logFile

    382 Jul 25 12:31 input.raw/artil.log

     

     

    2/ with : saveOptions options save=none subcktprobelvl=2

     

     

    ...> du -sh ../842/

    216K    ../842/

     

    ...> du -sh ./*

    4.0K    ./cp_input.scs

    116K    ./input.raw

    4.0K    ./input.scs

    4.0K    ./input.scs~

    12K     ./mc_log_file.log

    52K     ./monteCarlo

    12K     ./pp238496.out

    4.0K    ./spectre.fc

    4.0K    ./spectre.ic

     

     

    ...> ls -lrt input.raw/

     

    504 Jul 25 12:02 mc1.mcparam

    12348 Jul 25 12:02 mc1_tran.tran

    2468 Jul 25 12:02 mc1_finalTimeOP.info

    684 Jul 25 12:02 mc1_modelParameter.info

    13152 Jul 25 12:02 mc1_element.info

    1484 Jul 25 12:02 mc1_outputParameter.info

    4647 Jul 25 12:02 mc1_designParamVals.info

    5212 Jul 25 12:02 mc1_primitives.info.primitives

    523 Jul 25 12:02 mc1_subckts.info.subckts

    1156 Jul 25 12:02 logFile.tmp

    2140 Jul 25 12:02 mc1_tran.montecarlo

    2148 Jul 25 12:02 mc1_finalTimeOP.montecarlo

    2152 Jul 25 12:02 mc1_modelParameter.montecarlo

    2144 Jul 25 12:02 mc1_element.montecarlo

    2152 Jul 25 12:02 mc1_outputParameter.montecarlo

    2152 Jul 25 12:02 mc1_designParamVals.montecarlo

    2148 Jul 25 12:02 mc1_primitives.montecarlo

    2144 Jul 25 12:02 mc1_subckts.montecarlo

    3275 Jul 25 12:02 logFile

    1331 Jul 25 12:02 artil.log

     

     

     

    input.scs (extract) :

     

    simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=70  tnom=27 scalem=1.0 scale=1.0 gmin=1e-12 rforce=1 maxnotes=5 maxwarns=5  digits=5 cols=80 pivrel=1e-3 sensfile="../psf/sens.output"  checklimitdest=psf

    mc1 montecarlo numruns=1 seed=12345 variations=mismatch sampling=standard  donominal=no scalarfile="../monteCarlo/mcdata" savemismatchparams=yes  mismatchparamfile="../monteCarlo/mismatchparam" mismatchscalarfile="../monteCarlo/mismatchdata"  savefamilyplots=no savedatainseparatedir=yes  firstrun=842 {

    tran tran stop=20n write="spectre.ic" writefinal="spectre.fc"  annotate=status maxiters=5

    finalTimeOP info what=oppoint where=rawfile

    modelParameter info what=models where=rawfile

    element info what=inst where=rawfile

    outputParameter info what=output where=rawfile

    designParamVals info what=parameters where=rawfile

    primitives info what=primitives where=rawfile

    subckts info what=subckts  where=rawfile

    export out_b_sensed=oceanEval("value(v(\"out_b\" ?result \"tran\") 2e-08)")

    ...

    }

    mcOptions options genmcdep=yes

    saveOptions options save=none subcktprobelvl=2

     

     

    log :

    Error found by spectre during Monte Carlo analysis `mc1'.

        ERROR (SPECTRE-8003): mc1_subckts: Error evaluating ocean expression `out_b_sensed=value(v("out_b" ?result "tran") 2e-08)'.

     
     
     
    Thanks a lot.
     
    P. 
    • Post Points: 5
  • Thu, Jul 25 2013 8:53 AM

    • samung
    • Top 500 Contributor
    • Joined on Fri, Jun 14 2013
    • Posts 24
    • Points 285
    Re: spectre mc simulation : how to gain disk space (option save=selected/none...) but keeping the post-processing possible. Reply

    Well, as workaround, I am trying to archive the input.raw/ directories once the post-processing is done :

     tar -cjvf .../842/input.raw.tar.bz2 /842/input.raw/ --remove-files /842/input.raw/ 

    Nevertheless, it would be better to control the file size created during/after the spectre simulation.

     

    P. 

    • Post Points: 20
  • Tue, Jul 30 2013 4:52 AM

    Re: spectre mc simulation : how to gain disk space (option save=selected/none...) but keeping the post-processing possible. Reply

    First of all, do you really need subcktprobelvl=2 ? That will save lots of currents - better to save just the terminal currents you need in your measurements (and I think ADE XL should set this up for you automatically).

    Secondly, in the "Save All" form (where subcktprobelvl etc is set), you could turn off the saving of model parameters, elements info, etc - this will save time and (a small amount) of disk space.

    Saving the mismatch data will also create quite a bit of data in general - and unless you really need it, don't save it.

    That said, with all of this, I think there could be some benefit in not keeping the simulation results once measurements have been made. ADE XL offers this choice via  Options->Save and you can turn off "Save Simulation Data".

    If you are not running all your jobs in parallel (i.e. nunruns>1), then spectre will also delete the individual points data (except the last) unless you have savefamilyplots=yes.

    Regards,

    Andrew.

    • Post Points: 5
Page 1 of 1 (3 items)
Sort Posts:
Started by samung at 25 Jul 2013 03:55 AM. Topic has 2 replies.