Commit Graph

512 Commits

Author SHA1 Message Date
Éder F. Zulian
e07445a58e Using average power values directly from DRAMPower.
Now we store the average power values directly obtained from the DRAMPower
library into the database. Thus we do not have to divide energy by time to
calculate them anymore (avoiding any possible lost of accuracy due to
rounding).

Other changes:
- At the very beginning (zero clock cycles) the energy is 0, so the
  powerWindow thread wait first.

- When working with floats, we have to decide ourselves what is an acceptable
  definition for "equal". Now we compare the energy value with a suitable
  error margin (0.00001). Now the assertion that ensures the energy is not
  zero is working properly.

Notes:
- The assert() function does nothing if NDEBUG is defined.

- The total energy is provided by DRAMPower as a double. We accumulate the
  total energy for every window since we are clearing the library counters.

  Explanation about double precision:
  The double type ensures 15 decimal digits to represent a number. It does not
  matter if the digits are before or after the comma. Thus we only have
  rounding for numbers represented with more than 15 decimal digits.

  In more technical terms:
  An IEEE double has 53 significant bits (see also DBL_MANT_DIG in <cfloat>).
  That is approximately 15.95 decimal digits (log10(2^53)). The implementation
  sets the number of digits (DBL_DIG) to 15, not 16, because it has to round
  down.
2016-04-22 11:50:39 +02:00
Éder F. Zulian
f608eb970d Merge remote-tracking branch 'upstream/master' 2016-04-14 11:45:56 +02:00
Éder F. Zulian
7872fef95a QTCreator project improved. 2016-04-14 11:41:14 +02:00
Éder F. Zulian
d95f460237 Power plots generation fixed.
This is the DRAMSys patch related to the following DRAMPower issue:
https://github.com/ravenrd/DRAMPower/issues/31
2016-04-07 00:28:22 +02:00
Éder F. Zulian
36beda221a Configuration files for tests updated.
Some configuration items were missing.
PowerAnalisys turned on again for the error test.
2016-04-06 21:16:22 +02:00
Éder F. Zulian
cb5f63267f Disabling PowerAnalisys for the error test.
Other changes:
- check if the input trace file for the error test is already there, if yes use
  it, if not create it first then use it.
2016-04-06 19:15:26 +02:00
Éder F. Zulian
f0ce044133 Now the simple test uses its own memconfig file (fifoStrict.xml). 2016-04-06 18:35:36 +02:00
Éder F. Zulian
10d01a832e Created a separate "sim-batch.xml" file for the simple test.
This way eventual changes to the default "sim-batch.xml" file will not affect
the result of this test.

Updated the expected values (expected.txt) after running the test with its own
sim-batch config file.
2016-04-06 17:22:23 +02:00
Éder F. Zulian
f1c1c7b7a7 Let's keep debugs disabled by default.
Users can enable debugs locally to fit their particular needs.
2016-04-06 17:19:59 +02:00
Éder F. Zulian
8e73c2c647 README update 2016-04-04 17:47:33 +02:00
Matthias Jung
c6b61d39e9 Merge pull request #75 from fzeder/master
Since SQLITE 3.7.x there are performance problems
2016-04-01 17:52:06 +02:00
Éder F. Zulian
fb9295d3e2 Since SQLITE 3.7.x there are performance problems
We used EXPLAIN QUERY PLAN and detected differences between machines.

Matthias found out that faster machines (DRAM server) use the "ranges_index"
for the "Transactions" table. But other machines (our laptops) use the primary
key defined for that table. Removing the primary key the performance issues
were solved.
2016-04-01 17:46:38 +02:00
Matthias Jung
ad82d337fe Merge pull request #71 from sprado/master
Power over time charts
2016-04-01 10:34:58 +02:00
Matthias Jung
5042388872 Merge pull request #72 from fzeder/master
Check if database recording is enabled before executing statements.
2016-04-01 10:32:19 +02:00
Matthias Jung
b1be1c24fe small fix regarding power window for ddr3 simulations 2016-03-23 13:00:19 +01:00
Éder F. Zulian
b923a53965 Check if database recording is enable. 2016-03-20 11:50:29 -03:00
Éder F. Zulian
a131e4c6f6 Telling the compiler where the libqwt is. 2016-03-20 10:18:20 -03:00
Felipe Salerno Prado
faababba16 Power over time charts 2016-03-18 17:06:49 +01:00
Matthias Jung
b82e869374 Merge pull request #70 from fzeder/master
Power window size got from configuration.
2016-03-16 08:34:48 +01:00
Éder F. Zulian
d62c0e5cc6 Getting power window size and unity from config. 2016-03-15 22:04:22 -03:00
Éder F. Zulian
5a55453b3d Merge remote-tracking branch 'upstream/master' 2016-03-15 21:13:29 -03:00
Éder F. Zulian
9548bd3e75 Nomenclature improved in thermal simulation related code. 2016-03-15 21:11:59 -03:00
Matthias Jung
835d8deceb Power Recording implemented 2016-03-16 00:24:25 +01:00
Matthias Jung
d3d3ffc2c5 add XML files to Qt Project 2016-03-15 22:58:15 +01:00
Matthias Jung
965d6740f1 test and adjusted some of Felipes changes 2016-03-15 22:51:49 +01:00
Matthias Jung
35e5a957ae Merge pull request #69 from sprado/master
Power over time
2016-03-15 21:58:35 +01:00
sprado
99a623690a cout lines removed 2016-03-15 21:39:39 +01:00
sprado
b2fcde07cf Power over time 2016-03-14 16:03:08 +01:00
Matthias Jung
d9e29a1976 Merge pull request #68 from fzeder/master
One output PDF file per channel with 2 subplots.
2016-03-01 14:15:44 +01:00
Éder F. Zulian
0d2257caea Readme updated with systemC mac targets 2016-02-29 11:20:15 -03:00
Éder F. Zulian
569fc4aafd One output PDF file per channel with 2 subplots. 2016-02-29 09:12:27 -03:00
Matthias Jung
3bee70945d changed from a constant window size to a constant step size 2016-02-27 12:29:25 +01:00
Matthias Jung
65579d2ea4 merge everything together
Merge branch 'master' of git.rhrk.uni-kl.de:EIT-Wehn/dram.vp.system
2016-02-26 21:20:23 +01:00
Matthias Jung
a3ad258809 better view on mac 2016-02-26 21:08:24 +01:00
Matthias Jung
9e10f82836 Merge pull request #65 from sprado/master
Bandwidth Over Time Graphics and Absolute Bandwidth as Text
(I will change to 1024 and push it back)
2016-02-26 21:02:44 +01:00
Matthias Jung
d02c62e734 Small changes to support Clang and Mac OS 2016-02-26 20:11:12 +01:00
sprado
3a0b9142df Bar Charts 2016-02-26 15:47:19 +01:00
Éder F. Zulian
5887c4be6a Created a specific button to generate plots
This makes possible to generate metrics without waiting for the plots
generation.
2016-02-26 08:49:44 -03:00
Matthias Jung
b275e71f0e Merge pull request #55 from fzeder/master
Issue#50 fixed and some improvements
2016-02-23 23:13:31 +01:00
Felipe Salerno Prado
2b99e82cff Bandwidth Over Time Graphics and Absolute Bandwidth as Text 2016-02-23 16:29:30 +01:00
Éder F. Zulian
618b2def49 Merge remote-tracking branch 'upstream/master' 2016-02-17 22:10:20 -02:00
Matthias Jung
647130df32 Merge pull request #58 from fzeder/traceAnalyzer_reload_databases
fixes issue #46, #45 #59, #62
2016-02-17 21:44:23 +01:00
Éder F. Zulian
c1084c21fb Power down related metrics are generated according to config bankwise logic.
IMPORTANT:
Though the mechanism to choose the proper metrics according to the bankwise
logic configuraiton is working fine, we need to check if all calculations are
correct. For exmple: check if the calculation of the total time in SREFB is
correct.
2016-02-17 16:55:13 -02:00
Éder F. Zulian
636ff65a38 Added support to single-line comments in STL files (issue#45).
Lines which start with '#' will be ignored by trace players.

From IP_GFRBM.pdf:
STL syntax supports only single line comments. A single-line comment is
everything on a line following but not including the first occurrence of the #
character and up to, but not including the end of the line. For example:

 # this is a comment

Comments should always begin in a new line.
2016-02-17 13:24:10 -02:00
Éder F. Zulian
6d8a31a904 More improvements 2016-02-16 21:17:58 -02:00
Éder F. Zulian
9c195a42c8 Improvements in tests scripts
Created an extra file memUtil.py which contains utilities that can be imported
and used by other script files.

The idea is to improve maintainability by avoiding duplicate code.
2016-02-16 17:23:20 -02:00
Éder F. Zulian
642899d8b9 Power down related metrics properly displayed (issue#59)
The following metrics will be generated:
- time in PDNA in ns
- time in PDNA percent
- time in PDNP in ns
- time in PDNP percent
- time in SREF in ns
- time in SREF percent
- time in power down states in ns
- time in power down states percent

Other changes:
Avoid a crash that was generated for channels which no accesses performed by
trace players. Now a message will be displayed explained that no metrics were
generated due to the lack of accesses.
2016-02-16 11:46:32 -02:00
Éder F. Zulian
5ed7c56c35 PEP8 related changes.
These changes are a step forward in the direction of the PEP8 style guide for
python code. They do not affect functionality itself.

See also:
https://www.python.org/dev/peps/pep-0008/
2016-02-12 20:36:41 -02:00
Éder F. Zulian
da28a5242b PEP8 related changes.
These changes are a step forward in the direction of the PEP8 style guide for
python code. They do not affect functionality itself.

See also:
https://www.python.org/dev/peps/pep-0008/
2016-02-12 11:55:57 -02:00
Éder F. Zulian
3085b3949b Test script improved
Created classes to get easily memory specifications and memory configurations.
Each class handles the peculiarities of the related XML file.

Other changes:
- git ignore file updated.
2016-02-11 10:35:44 -02:00