Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #25305 > unrolled thread

[OT] Simulation Results Managment

Started bymoogyd@yahoo.co.uk
First post2012-07-13 22:50 -0700
Last post2012-07-14 22:26 -0700
Articles 10 — 4 participants

Back to article view | Back to comp.lang.python


Contents

  [OT] Simulation Results Managment moogyd@yahoo.co.uk - 2012-07-13 22:50 -0700
    Re: [OT] Simulation Results Managment Neal Becker <ndbecker2@gmail.com> - 2012-07-14 20:42 -0400
      Re: [OT] Simulation Results Managment moogyd@yahoo.co.uk - 2012-07-14 22:29 -0700
        Re: [OT] Simulation Results Managment Dieter Maurer <dieter@handshake.de> - 2012-07-15 08:35 +0200
          Re: Simulation Results Managment rusi <rustompmody@gmail.com> - 2012-07-15 09:20 -0700
            Re: Simulation Results Managment moogyd@yahoo.co.uk - 2012-07-17 01:20 -0700
        Re: [OT] Simulation Results Managment Neal Becker <ndbecker2@gmail.com> - 2012-07-15 07:24 -0400
      Re: [OT] Simulation Results Managment moogyd@yahoo.co.uk - 2012-07-14 22:29 -0700
    Re: Simulation Results Managment rusi <rustompmody@gmail.com> - 2012-07-14 20:25 -0700
      Re: Simulation Results Managment moogyd@yahoo.co.uk - 2012-07-14 22:26 -0700

#25305 — [OT] Simulation Results Managment

Frommoogyd@yahoo.co.uk
Date2012-07-13 22:50 -0700
Subject[OT] Simulation Results Managment
Message-ID<4834becc-783a-4af2-b94a-2b95c39d6be3@googlegroups.com>
Hi,
This is a general question, loosely related to python since it will be the implementation language.
I would like some suggestions as to manage simulation results data from my ASIC design. 

For my design, 
- I have a number of simulations testcases (TEST_XX_YY_ZZ), and within each of these test cases we have: 
  - a number of properties (P_AA_BB_CC) 
  - For each property, the following information is given
    - Property name (P_NAME) 
    - Number of times it was checked (within the testcase) N_CHECKED
    - Number of times if failed (within the testcase) N_FAILED
- A simulation runs a testcase with a set of parameters.
  - Simple example, SLOW_CLOCK, FAST_CLOCK, etc
- For the design, I will run regression every night (at least), so I will have results from multiple timestamps
We have < 1000 TESTCASES, and < 1000 PROPERTIES.

At the moment, I have a script that extracts property information from simulation logfile, and provides single PASS/FAIL and all logfiles stored in a directory structure with timestamps/testnames and other parameters embedded in paths

I would like to be easily look at (visualize) the data and answer the questions
- When did this property last fail, and how many times was it checked
- Is this property checked in this test case.

Initial question: How to organize the data within python?
For a single testcase, I could use a dict. Key P_NAME, data in N_CHECKED, N_FAILED
I then have to store multiple instances of testcase based on date (and simulation parameters.

Any comments, suggestions?
Thanks,
Steven






[toc] | [next] | [standalone]


#25325

FromNeal Becker <ndbecker2@gmail.com>
Date2012-07-14 20:42 -0400
Message-ID<mailman.2122.1342312974.4697.python-list@python.org>
In reply to#25305
moogyd@yahoo.co.uk wrote:

> Hi,
> This is a general question, loosely related to python since it will be the
> implementation language. I would like some suggestions as to manage simulation
> results data from my ASIC design.
> 
> For my design,
> - I have a number of simulations testcases (TEST_XX_YY_ZZ), and within each of
> these test cases we have:
>   - a number of properties (P_AA_BB_CC)
>   - For each property, the following information is given
>     - Property name (P_NAME)
>     - Number of times it was checked (within the testcase) N_CHECKED
>     - Number of times if failed (within the testcase) N_FAILED
> - A simulation runs a testcase with a set of parameters.
>   - Simple example, SLOW_CLOCK, FAST_CLOCK, etc
> - For the design, I will run regression every night (at least), so I will have
> results from multiple timestamps We have < 1000 TESTCASES, and < 1000
> PROPERTIES.
> 
> At the moment, I have a script that extracts property information from
> simulation logfile, and provides single PASS/FAIL and all logfiles stored in a
> directory structure with timestamps/testnames and other parameters embedded in
> paths
> 
> I would like to be easily look at (visualize) the data and answer the
> questions - When did this property last fail, and how many times was it
> checked - Is this property checked in this test case.
> 
> Initial question: How to organize the data within python?
> For a single testcase, I could use a dict. Key P_NAME, data in N_CHECKED,
> N_FAILED I then have to store multiple instances of testcase based on date
> (and simulation parameters.
> 
> Any comments, suggestions?
> Thanks,
> Steven

One small suggestion,
I used to store test conditions and results in log files, and then write parsers 
to read the results.  The formats kept changing (add more conditions/results!) 
and maintenance was a pain.

Now, in addition to a text log file, I write a file in pickle format containing 
a dict of all test conditions and results.  Much more convenient.

[toc] | [prev] | [next] | [standalone]


#25335

Frommoogyd@yahoo.co.uk
Date2012-07-14 22:29 -0700
Message-ID<16cb8524-63ad-4755-93e2-3f45e98c9af5@googlegroups.com>
In reply to#25325
On Sunday, July 15, 2012 2:42:39 AM UTC+2, Neal Becker wrote:
> me wrote:
> 
> &gt; Hi,
> &gt; This is a general question, loosely related to python since it will be the
> &gt; implementation language. I would like some suggestions as to manage simulation
> &gt; results data from my ASIC design.
> &gt; 
> &gt; For my design,
> &gt; - I have a number of simulations testcases (TEST_XX_YY_ZZ), and within each of
> &gt; these test cases we have:
> &gt;   - a number of properties (P_AA_BB_CC)
> &gt;   - For each property, the following information is given
> &gt;     - Property name (P_NAME)
> &gt;     - Number of times it was checked (within the testcase) N_CHECKED
> &gt;     - Number of times if failed (within the testcase) N_FAILED
> &gt; - A simulation runs a testcase with a set of parameters.
> &gt;   - Simple example, SLOW_CLOCK, FAST_CLOCK, etc
> &gt; - For the design, I will run regression every night (at least), so I will have
> &gt; results from multiple timestamps We have &lt; 1000 TESTCASES, and &lt; 1000
> &gt; PROPERTIES.
> &gt; 
> &gt; At the moment, I have a script that extracts property information from
> &gt; simulation logfile, and provides single PASS/FAIL and all logfiles stored in a
> &gt; directory structure with timestamps/testnames and other parameters embedded in
> &gt; paths
> &gt; 
> &gt; I would like to be easily look at (visualize) the data and answer the
> &gt; questions - When did this property last fail, and how many times was it
> &gt; checked - Is this property checked in this test case.
> &gt; 
> &gt; Initial question: How to organize the data within python?
> &gt; For a single testcase, I could use a dict. Key P_NAME, data in N_CHECKED,
> &gt; N_FAILED I then have to store multiple instances of testcase based on date
> &gt; (and simulation parameters.
> &gt; 
> &gt; Any comments, suggestions?
> &gt; Thanks,
> &gt; Steven
> 
> One small suggestion,
> I used to store test conditions and results in log files, and then write parsers 
> to read the results.  The formats kept changing (add more conditions/results!) 
> and maintenance was a pain.
> 
> Now, in addition to a text log file, I write a file in pickle format containing 
> a dict of all test conditions and results.  Much more convenient.

Hi Neal,
We already store the original log files.
Does pickle have any advantages over json/yaml?
Thanks,
Steven

[toc] | [prev] | [next] | [standalone]


#25338

FromDieter Maurer <dieter@handshake.de>
Date2012-07-15 08:35 +0200
Message-ID<mailman.2130.1342334124.4697.python-list@python.org>
In reply to#25335
moogyd@yahoo.co.uk writes:
> ...
> Does pickle have any advantages over json/yaml?

It can store and retrieve almost any Python object with almost no effort.

Up to you whether you see it as an advantage to be able to store
objects rather than (almost) pure data with a rather limited type set.


Of course, "pickle" is a proprietary Python format. Not so easy to
decode it with something else than Python. In addition, when
you store objects, the retrieving application must know the classes
of those objects -- and its knowledge should not be too different
from how those classes looked when the objects have been stored.


I like very much to work with objects (rather than with pure data).
Therefore, I use "pickle" when I know that the storing and retrieving
applications all use Python. I use pure (and restricted) data formats
when non Python applications come into play.

[toc] | [prev] | [next] | [standalone]


#25355 — Re: Simulation Results Managment

Fromrusi <rustompmody@gmail.com>
Date2012-07-15 09:20 -0700
SubjectRe: Simulation Results Managment
Message-ID<519ddc1b-4538-43a1-b925-325de59e8802@km7g2000pbc.googlegroups.com>
In reply to#25338
On Jul 15, 11:35 am, Dieter Maurer <die...@handshake.de> wrote:
> moo...@yahoo.co.uk writes:
> > ...
> > Does pickle have any advantages over json/yaml?
>
> It can store and retrieve almost any Python object with almost no effort.
>
> Up to you whether you see it as an advantage to be able to store
> objects rather than (almost) pure data with a rather limited type set.
>
> Of course, "pickle" is a proprietary Python format. Not so easy to
> decode it with something else than Python. In addition, when
> you store objects, the retrieving application must know the classes
> of those objects -- and its knowledge should not be too different
> from how those classes looked when the objects have been stored.
>
> I like very much to work with objects (rather than with pure data).
> Therefore, I use "pickle" when I know that the storing and retrieving
> applications all use Python. I use pure (and restricted) data formats
> when non Python applications come into play.

Pickle -> JSON -> Yaml
are roughly in increasing order of human-friendliness and decreasing
order of machine friendliness (where machine means python 'machine')

This means that
 - Pickle is most efficient, Yaml least
 - Pickle comes with python from as far back as I know
   Json started coming somewhere round 2.5 (I think)
   (py)yaml needs to be installed separately
 - reading pickled data will spoil your eyes whereas yaml is pleasant
to read (just like python)

[toc] | [prev] | [next] | [standalone]


#25469 — Re: Simulation Results Managment

Frommoogyd@yahoo.co.uk
Date2012-07-17 01:20 -0700
SubjectRe: Simulation Results Managment
Message-ID<b6ba43a7-108f-4f70-8661-4b9d82920246@googlegroups.com>
In reply to#25355
On Sunday, July 15, 2012 6:20:34 PM UTC+2, rusi wrote:
> On Jul 15, 11:35 am, Dieter Maurer &lt;die...@handshake.de&gt; wrote:
> &gt; moo...@yahoo.co.uk writes:
> &gt; &gt; ...
> &gt; &gt; Does pickle have any advantages over json/yaml?
> &gt;
> &gt; It can store and retrieve almost any Python object with almost no effort.
> &gt;
> &gt; Up to you whether you see it as an advantage to be able to store
> &gt; objects rather than (almost) pure data with a rather limited type set.
> &gt;
> &gt; Of course, &quot;pickle&quot; is a proprietary Python format. Not so easy to
> &gt; decode it with something else than Python. In addition, when
> &gt; you store objects, the retrieving application must know the classes
> &gt; of those objects -- and its knowledge should not be too different
> &gt; from how those classes looked when the objects have been stored.
> &gt;
> &gt; I like very much to work with objects (rather than with pure data).
> &gt; Therefore, I use &quot;pickle&quot; when I know that the storing and retrieving
> &gt; applications all use Python. I use pure (and restricted) data formats
> &gt; when non Python applications come into play.
> 
> Pickle -&gt; JSON -&gt; Yaml
> are roughly in increasing order of human-friendliness and decreasing
> order of machine friendliness (where machine means python &#39;machine&#39;)
> 
> This means that
>  - Pickle is most efficient, Yaml least
>  - Pickle comes with python from as far back as I know
>    Json started coming somewhere round 2.5 (I think)
>    (py)yaml needs to be installed separately
>  - reading pickled data will spoil your eyes whereas yaml is pleasant
> to read (just like python)

Hi Everyone,
Thanks for the feedback. For now, I store the data using Pickle.
Steven

[toc] | [prev] | [next] | [standalone]


#25347

FromNeal Becker <ndbecker2@gmail.com>
Date2012-07-15 07:24 -0400
Message-ID<mailman.2137.1342351513.4697.python-list@python.org>
In reply to#25335
Dieter Maurer wrote:

> moogyd@yahoo.co.uk writes:
>> ...
>> Does pickle have any advantages over json/yaml?
> 
> It can store and retrieve almost any Python object with almost no effort.
> 
> Up to you whether you see it as an advantage to be able to store
> objects rather than (almost) pure data with a rather limited type set.
> 
> 
> Of course, "pickle" is a proprietary Python format. Not so easy to
> decode it with something else than Python. In addition, when
> you store objects, the retrieving application must know the classes
> of those objects -- and its knowledge should not be too different
> from how those classes looked when the objects have been stored.
> 
> 
> I like very much to work with objects (rather than with pure data).
> Therefore, I use "pickle" when I know that the storing and retrieving
> applications all use Python. I use pure (and restricted) data formats
> when non Python applications come into play.

Typically what I want to do is post-process (e.g. plot) results using python 
scripts, so using pickle is great for that.

[toc] | [prev] | [next] | [standalone]


#25336

Frommoogyd@yahoo.co.uk
Date2012-07-14 22:29 -0700
Message-ID<mailman.2128.1342330194.4697.python-list@python.org>
In reply to#25325
On Sunday, July 15, 2012 2:42:39 AM UTC+2, Neal Becker wrote:
> me wrote:
> 
> &gt; Hi,
> &gt; This is a general question, loosely related to python since it will be the
> &gt; implementation language. I would like some suggestions as to manage simulation
> &gt; results data from my ASIC design.
> &gt; 
> &gt; For my design,
> &gt; - I have a number of simulations testcases (TEST_XX_YY_ZZ), and within each of
> &gt; these test cases we have:
> &gt;   - a number of properties (P_AA_BB_CC)
> &gt;   - For each property, the following information is given
> &gt;     - Property name (P_NAME)
> &gt;     - Number of times it was checked (within the testcase) N_CHECKED
> &gt;     - Number of times if failed (within the testcase) N_FAILED
> &gt; - A simulation runs a testcase with a set of parameters.
> &gt;   - Simple example, SLOW_CLOCK, FAST_CLOCK, etc
> &gt; - For the design, I will run regression every night (at least), so I will have
> &gt; results from multiple timestamps We have &lt; 1000 TESTCASES, and &lt; 1000
> &gt; PROPERTIES.
> &gt; 
> &gt; At the moment, I have a script that extracts property information from
> &gt; simulation logfile, and provides single PASS/FAIL and all logfiles stored in a
> &gt; directory structure with timestamps/testnames and other parameters embedded in
> &gt; paths
> &gt; 
> &gt; I would like to be easily look at (visualize) the data and answer the
> &gt; questions - When did this property last fail, and how many times was it
> &gt; checked - Is this property checked in this test case.
> &gt; 
> &gt; Initial question: How to organize the data within python?
> &gt; For a single testcase, I could use a dict. Key P_NAME, data in N_CHECKED,
> &gt; N_FAILED I then have to store multiple instances of testcase based on date
> &gt; (and simulation parameters.
> &gt; 
> &gt; Any comments, suggestions?
> &gt; Thanks,
> &gt; Steven
> 
> One small suggestion,
> I used to store test conditions and results in log files, and then write parsers 
> to read the results.  The formats kept changing (add more conditions/results!) 
> and maintenance was a pain.
> 
> Now, in addition to a text log file, I write a file in pickle format containing 
> a dict of all test conditions and results.  Much more convenient.

Hi Neal,
We already store the original log files.
Does pickle have any advantages over json/yaml?
Thanks,
Steven

[toc] | [prev] | [next] | [standalone]


#25332 — Re: Simulation Results Managment

Fromrusi <rustompmody@gmail.com>
Date2012-07-14 20:25 -0700
SubjectRe: Simulation Results Managment
Message-ID<f1a62548-0528-487f-9602-429ffd9f1c71@d6g2000pbt.googlegroups.com>
In reply to#25305
On Jul 14, 10:50 am, moo...@yahoo.co.uk wrote:
> Hi,
> This is a general question, loosely related to python since it will be the implementation language.
> I would like some suggestions as to manage simulation results data from my ASIC design.
>
> For my design,
> - I have a number of simulations testcases (TEST_XX_YY_ZZ), and within each of these test cases we have:
>   - a number of properties (P_AA_BB_CC)
>   - For each property, the following information is given
>     - Property name (P_NAME)
>     - Number of times it was checked (within the testcase) N_CHECKED
>     - Number of times if failed (within the testcase) N_FAILED
> - A simulation runs a testcase with a set of parameters.
>   - Simple example, SLOW_CLOCK, FAST_CLOCK, etc
> - For the design, I will run regression every night (at least), so I will have results from multiple timestamps
> We have < 1000 TESTCASES, and < 1000 PROPERTIES.
>
> At the moment, I have a script that extracts property information from simulation logfile, and provides single PASS/FAIL and all logfiles stored in a directory structure with timestamps/testnames and other parameters embedded in paths
>
> I would like to be easily look at (visualize) the data and answer the questions
> - When did this property last fail, and how many times was it checked
> - Is this property checked in this test case.
>
> Initial question: How to organize the data within python?
> For a single testcase, I could use a dict. Key P_NAME, data in N_CHECKED, N_FAILED
> I then have to store multiple instances of testcase based on date (and simulation parameters.
>
> Any comments, suggestions?
> Thanks,
> Steven

Not sure if you are asking about:
1. Python data structure organization
or
2. Organization of data outside python for conveniently getting in and
out of python

For 2. if the data is modestly sized and is naturally managed with
builtin python types -- lists and dictionaries -- yaml gives a nice
fit. I used pyyaml some years ago, today I guess json which is
similar, is the way to go.

For 1, you need to say what are your questions/issues.

[toc] | [prev] | [next] | [standalone]


#25334 — Re: Simulation Results Managment

Frommoogyd@yahoo.co.uk
Date2012-07-14 22:26 -0700
SubjectRe: Simulation Results Managment
Message-ID<8a8fa1fa-a197-4d9d-8d21-977c0e6c6dc6@googlegroups.com>
In reply to#25332
On Sunday, July 15, 2012 5:25:14 AM UTC+2, rusi wrote:
> On Jul 14, 10:50 am, moo...@yahoo.co.uk wrote:
> &gt; Hi,
> &gt; This is a general question, loosely related to python since it will be the implementation language.
> &gt; I would like some suggestions as to manage simulation results data from my ASIC design.
> &gt;
> &gt; For my design,
> &gt; - I have a number of simulations testcases (TEST_XX_YY_ZZ), and within each of these test cases we have:
> &gt;   - a number of properties (P_AA_BB_CC)
> &gt;   - For each property, the following information is given
> &gt;     - Property name (P_NAME)
> &gt;     - Number of times it was checked (within the testcase) N_CHECKED
> &gt;     - Number of times if failed (within the testcase) N_FAILED
> &gt; - A simulation runs a testcase with a set of parameters.
> &gt;   - Simple example, SLOW_CLOCK, FAST_CLOCK, etc
> &gt; - For the design, I will run regression every night (at least), so I will have results from multiple timestamps
> &gt; We have &lt; 1000 TESTCASES, and &lt; 1000 PROPERTIES.
> &gt;
> &gt; At the moment, I have a script that extracts property information from simulation logfile, and provides single PASS/FAIL and all logfiles stored in a directory structure with timestamps/testnames and other parameters embedded in paths
> &gt;
> &gt; I would like to be easily look at (visualize) the data and answer the questions
> &gt; - When did this property last fail, and how many times was it checked
> &gt; - Is this property checked in this test case.
> &gt;
> &gt; Initial question: How to organize the data within python?
> &gt; For a single testcase, I could use a dict. Key P_NAME, data in N_CHECKED, N_FAILED
> &gt; I then have to store multiple instances of testcase based on date (and simulation parameters.
> &gt;
> &gt; Any comments, suggestions?
> &gt; Thanks,
> &gt; Steven
> 
> Not sure if you are asking about:
> 1. Python data structure organization
> or
> 2. Organization of data outside python for conveniently getting in and
> out of python
> 
> For 2. if the data is modestly sized and is naturally managed with
> builtin python types -- lists and dictionaries -- yaml gives a nice
> fit. I used pyyaml some years ago, today I guess json which is
> similar, is the way to go.
> 
> For 1, you need to say what are your questions/issues.

Hi Rusi,

For (1), I guess that the only question I had was how to handle regression results. But I think that the most logical way for string this data is as a dict with key = datestamp, and entries being list of testcases/results.

For (2), I will look at both these.

Thanks for the help.

Steven

[toc] | [prev] | [standalone]


Back to top | Article view | comp.lang.python


csiph-web