Age | Commit message (Collapse) | Author |
|
succesful benchmarks
Change-Id: Ic5d3942f2a7d38dc42ef940ca1de600dc6e3b7e1
|
|
empty)"
I initially proposed this commit in the following case :
if none of the benchmark is successful, we could consider it as a failure.
This case was finally considered as a EXTERNAL_FAILURE - probably an
infrastructure problem - no need to bisect.
This sounded reasonnable, however, if the tcwg_bmk-build.sh is launched
on a single benchmark only, which is the case during the bisection, when
the single asked benchmark is failing, it ends with a EXTERNAL_FAILURE.
Which is a problem for bisection.
This is why I am now reverting this commit.
This reverts commit 5a30cd3d010c25c351ae551d64420f80f5bdd1b1.
Change-Id: I50d30de74e9040da9fdd979e7ff25f0e00788a81
|
|
The spec builds are splitted in 8 pieces if 8 machines are online.
If some of the machines are busy, one machine can run successively 2
of that 8 slices.
In such case, the results of the second run will overrides the results
of the first ones. Some benchmarks are losts.
Deciding to upload to dest dir the files with spec run id. This should
not affect gather-metrics.sh, and the results should be well found and
used.
Change-Id: Icb541ec6378c01f24fdea05e2b753f979bbb48e4
|
|
When using llvm -Os, bechmark 548.exchange2_r never ends running
Disabling for the moment
Change-Id: Ia6f70fd1ef8a72349ccadb32b8da0b0ec5819611
|
|
Change-Id: I64dfbff754f0a91ae73bbb4d26dabc9f284fe080
|
|
udev service can be reactivated silently.
and there's an (unclear) interaction between udev and set-ntp commands.
when udev service is stopped, the "timedatectl set-ntp true" can hang
and finally timeout.
Change-Id: I99c2517977aafdf76436b9556c075aeebe472d46
|
|
cpu2017 : removed std=legacy flang flag :
error: Only -std=f2018 is allowed currently.
cpu2006 : Removed std=legacy from cam4_s
no such FPORTABILITY option described in
https://www.spec.org/cpu2017/Docs/benchmarks/527.cam4_r.html
Change-Id: I49bf82ed9b30691c3dab9d1e62919d4bc60d2f85
|
|
Change-Id: If702a822a2c4762a3ab863f38d6907592c1a83ad
|
|
Change-Id: I34469842f8374d4d11f078755079f480db7906ad
|
|
Change-Id: I6099890fb71730d7f48782f7ead27a0ca08ec77e
|
|
Change-Id: Ib78282453ba2479079893a0a4aa85359a052ed8f
|
|
This patch introduces a new option --status_csv for passing status.csv to metric
computing scripts (*-data-to-csv.py), and merge status field in
merge-metric-csvs.py.
Change-Id: If4fa4f7f99c1cdc574c326422b03b87d7af3dc71
|
|
The patch adds option --metric_csvs=<metric csv files> which is mandatory,
and an optional --interesting_symbols to pass interesting-symbols.csv.
The rationale of this patch is to emit only interesting symbols in results.csv.
Change-Id: I9d0dd778ad3a1c2b1848ac41c85211d82696ec03
|
|
This patch partially reverts commit to merge status.csv and perf.csv,
and filter out failed benchmarks, thus avoiding special casing of status metric.
Instead the current workflow is to have metric computing scripts filter out
successful bmks, and merge-metric-csvs.py merge the status field.
Change-Id: If21201dfbed70ab3a064c25771618331e368050f
|
|
This is a matter of weights we are applying to each variability data in
the history.
The 2-peaks-linear algorithm gives a weight of
- A linear weights affectation between
--> most recent : 100%
--> and second most recent noise variation : 50%
- No weight for older noise variations : 0%
Change-Id: Iab9dc783786560e257543e3cdff45e83e0dd9c90
Change-Id: Ifd4b56f40047477e7bd60316d5ec0430ce35ffb8
|
|
Change-Id: I74b802a5ffa0f6533c52443fe42487be7e319032
|
|
..related to compute-variability.py changes
Change-Id: Idb0ee8a95b628f9a67942128fcf4a92fb7472697
|
|
Change-Id: I867fd8f509542cee9e5e94638bdfabd305af60ca
|
|
specific_variability file
... and reworked script parameter parsing to use argparse
The variability_file_data can be either "avg" or "max".
When using "avg", it means the values in the specific_variability file is
the sigma std deviation. The used threshold will be
- 2 sigmas in build project (which cover 95% of random values)
- 3 sigmas in bisect project (which cover 98% of random values)
When using "max", the values stored in specific_variability file is the
maximum noise for previous builds. In that case, we directly use this
value as threshold for each symbol
Change-Id: I7a0303b3c88668692b4599327113d87f33f5c8a0
|
|
Change-Id: I947cbd887f7f5b13503c53dfd0d46f17b41203cb
|
|
Change-Id: Ie98b3063a9aae4304551881f40e2bd6e5f31e690
|
|
Change-Id: Idf791494742965fe89672dc3ffedff9b4e74b16f
|
|
Change-Id: I089397196345198ba915a6af2692167571478f86
|
|
Change-Id: I26400fdbe040c4ff576e479770ddd4c14405c030
|
|
Change-Id: Ie4abe9f9cdf03d0388bb8ca5779407fd00db5cfc
|
|
Change-Id: Ic8cb88e88ef36b157bc8ddd7458e5da28da6b723
|
|
After 146fbc595f5ae1f904abfee37af7731f29f05941, we merge status field
in fixup-perf-csv.py, rather than relying on merge-metric-csvs.py.
As a result, the position of status filed in results.py changes from
last to one following the symbol.
For example, in:
https://ci.linaro.org/view/tcwg_bmk/job/tcwg_bmk-code_size-coremark--gnu_eabi-arm_eabi-master-O2-build/106/artifact/artifacts/09-check_regression/results-vs-prev/csv-results-1/results.csv/*view*/
It can be seen that status is now at index 3, rather than being last field.
Change-Id: I779e128b0a29f51763786a18098c0db0699b184d
|
|
The patch extends gen_interesting_symbols.py, to pick set of interesting
symbols from last N perf csvs, instead of just using from the current run.
The patch tries to keep logic similar to csvs2table.py by recording the position
of the symbol from each perf csv, and accumulates that, and sorts the combined result
in descending order w.r.t accumulated position.
For example,
1.csv:
benchmark,symbol,sample,dso
bmk1,exe.default,5000,na
bmk1,sym1,3000,exe.default
bmk1,sym2,900,libm.so
bmk1,sym3,100,na
bmk1,sym5,40,na
2.csv:
benchmark,symbol,sample,dso
bmk1,exe.default,4000,na
bmk1,sym2,1500,libm.so
bmk1,sym4,900,na
bmk1,sym1,200,exe.default
The set of interesting symbols along with it's position
("num_interesting" in csvs2table.py) for 1.csv:
idf1:
benchmark,symbol,dso,index
bmk1,exe.default,na,100
bmk1,sym1,exe.default,99
bmk1,sym2,libm.so,98
Note that it doesn't contain samples anymore, and a new "index" column,
that represents the position of the symbol from perf.csv.
Likewise the set of interesting symbols along with it's position
for 2.csv:
idf2:
benchmark,symbol,dso,index
bmk1,exe.default,na,100
bmk1,sym2,libm.so,99
bmk1,sym4,na,98
After merging idf1 and idf2, we get the final result:
benchmark,symbol,index,dso
bmk1,exe.default,200,na
bmk1,sym2,197,libm.so
bmk1,sym1,99,exe.default
bmk1,sym4,98,na
For symbols that are present in both profiles, we add the "index" column,
rationale being that a symbol appearing more frequently in profiles is
more "interesting" than a symbol appearing less frequently.
In the final out_csv, we drop the "index" column (since it's no longer needed),
and keep benchmark,symbol,dso which is consistent with the current format.
Change-Id: Iafe136f1262eacb3bd34f1cfb835e970ce5cb888
|
|
for failed bmks.
The rationale for this patch is to avoid issues like LLVM-1070 in which metric
and comparison scripts still process symbols for failed benchmarks resulting in
spurious regressions. The patch simply removes any symbol entries for failed bmks,
since IMHO we should only care about bmk profile if it's run successfully.
Change-Id: I198dc15333d3bcd13a1c3e25e8d75009619978ed
|
|
Change-Id: Ic3ca023800666556b04c7c570b564508723a559e
|
|
in np.isnan()
Also specify the order of the columns in the outputed csv file. This is
useful for parsing this file in lnt-utils.sh
Change-Id: I6e6339725958389820f2cfe7c7ac961f70094704
|
|
Change-Id: I24a4658613b523b36947be6e04d7d6ee89de7a17
|
|
Change-Id: I73ca4741b64d4b6b0473edc802d29e3446fb669d
|
|
We pass [options.base] + args to gen_output_fieldnames, even if
options.base is empty, which is the case for non relative mode,
and end up with args = ['', <arg1>.csv, <arg2>.csv, ...]
and up with spurious header in output csv.
Contrived example:
benchmark,symbol,:sample,1:sample,2:sample
bmk1,exe.default,5000,4000
bmk1,sym2,900,1500
Which has a spurious ":sample" in the header.
The patch fixes this by adding options.base to args only if it is
non empty.
Change-Id: I65884d204c4e4136d0856c8f7b23c473c1a67097
|
|
Change-Id: I1f3d2d52b54fb3ded9968aebd2b4216560500074
|
|
Change-Id: Id65cad230b6a6bc5a55cf1c5edccb13e176f0bc9
|
|
- Fix status for coremark
- Correctly regenerate one for old results
- fixed missing passed benchs for spec results
Change-Id: Ibf6ce684abdc711994019c9404d91188a150f649
|
|
This flag has been removed from llvm several months ago (0867d4157328)
Change-Id: Ic9ee674f13c6ded4bcec55dae2fee04536c18278
|
|
Change-Id: I3149c9f89c8f549ab7cb2782ca4bb5f881ddba61
|
|
Also treate "status" field as non numeric values.
Change-Id: I8fb9fdb62bef658b8c034ceac422a550abf0a7ff
|
|
magic numbers
Change-Id: Ie7f1d2f4c0390f5679d9c65ac13288e66a208be2
|
|
instead of magic numbers
For status changes, it will create 1 or 2 new files
status.{regression,improvement}
Change-Id: Icc9e74298e399b720724a4b064cde25d7bda65ae
|
|
... or regenerate it for old results
This is needed to process all existing bare spec results
That will always be necessary because stored bare results
will stay untouched
Change-Id: I1bc972b7aaa5c08b9ed5ddbb9740bde37ed46782
|
|
... containing eihter success, failed-to-build,
or failed-to-run keyword
Change-Id: I45fd0ce834c4844206990f3f27b19934c12d49a0
|
|
Change-Id: Ic0428c0406fc70a7ddd388f493c3f151024f1eb3
|
|
.. including omp_outlined functions
that were skipped up to now.
Change-Id: Id1c2e933d7801a2d638990fbcf5784255e86ec49
|
|
Initial reason for that change is that, sometimes Qualcomm board refuse
to set the scaling_min_freq. First supposition was that was due to the
board was too hot and refuse to setup a higher frequency. But I can now
observe that it sometimes refuse to set lower frequency.
Change-Id: I766eff99b5214ec7d2a56883fdf796590183269f
|
|
... from "BMK slowed down by X%" to "slowed down by X% - BMK".
The new format makes for better summary fields in jira cards.
Change-Id: I4e950323777848843e4210d73412e94998aa9ecd
|
|
Change-Id: I740a5d1e9c8d4d0124214694c506447823a3986c
|
|
As sometimes the board doesn't accept to set the 2.5GHz on cpu 7.
This might be due to a safety protection when the board becomes too hot.
Using 2GHz for cpu7.
Using 0.38GHz for cpu0-3
Change-Id: I28134edba77465f32f9f9667e867aadc1783f4ab
|