Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(929)

Issue 1026243002: Add Subzero to test scripts. (Closed)

Created:
5 years, 9 months ago by Jim Stichnoth
Modified:
5 years, 9 months ago
CC:
native-client-reviews_googlegroups.com
Base URL:
https://chromium.googlesource.com/native_client/src/native_client.git@master
Target Ref:
refs/heads/master
Project:
nacl
Visibility:
Public.

Description

Add Subzero to test scripts. Scons tests can enable Subzero on PNaCl/x86-32. ./scons -j32 platform=x86-32 bitcode=1 use_sz=1 smoke_tests Can also use translate_fast=1 . Gcc torture tests on x86-32 now include a couple of Subzero configs. tools/toolchain_tester/torture_test.py pnacl x86-32 --concurrency=32 LLVM test suite has options to enable Subzero. PNACL_CONCURRENCY=32 pnacl/scripts/llvm-test.py --testsuite-all --arch x86-32 --opt O2b_sz PNACL_CONCURRENCY=32 pnacl/scripts/llvm-test.py --testsuite-all --arch x86-32 --opt O0b_sz (Also need to set LD_LIBRARY_PATH to something like $NACL/toolchain/linux_x86/pnacl_newlib/lib) Spec2k tests on x86-32 allows a couple of Subzero configs: ./run_all.sh TimedBuildAndRunBenchmarks SetupPnaclX8632OptSz train ./run_all.sh TimedBuildAndRunBenchmarks SetupPnaclTranslatorX8632OptSz train (The SetupPnaclTranslatorX8632OptSz config is not yet tested.) BUG= https://code.google.com/p/nativeclient/issues/detail?id=4092 TEST= ./scons -j32 platform=x86-32 bitcode=1 use_sz=1 smoke_tests TEST= ./scons -j32 platform=x86-32 bitcode=1 use_sz=1 translate_fast=1 smoke_tests TEST= tools/toolchain_tester/torture_test.py pnacl x86-32 --concurrency=32 TEST= PNACL_CONCURRENCY=32 pnacl/scripts/llvm-test.py --testsuite-all --arch x86-32 --opt O2b_sz TEST= PNACL_CONCURRENCY=32 pnacl/scripts/llvm-test.py --testsuite-all --arch x86-32 --opt O0b_sz TEST= cd tests/spec2k ; ./run_all.sh TimedBuildAndRunBenchmarks SetupPnaclX8632OptSz train TEST= cd tests/spec2k ; ./run_all.sh TimedBuildAndRunBenchmarks SetupPnaclTranslatorX8632OptSz train R=jvoung@chromium.org Committed: https://chromium.googlesource.com/native_client/src/native_client/+/e0ca6487422c55485dbd73454d700b4bf0971e86

Patch Set 1 #

Patch Set 2 : Add spec2k support #

Patch Set 3 : Refactor the repetition in building configs #

Patch Set 4 : Formatting #

Total comments: 8

Patch Set 5 : Code review changes #

Unified diffs Side-by-side diffs Delta from patch set Stats (+106 lines, -117 lines) Patch
M SConstruct View 1 2 3 4 5 chunks +8 lines, -0 lines 0 comments Download
M pnacl/driver/pnacl-translate.py View 2 chunks +2 lines, -1 line 0 comments Download
M pnacl/scripts/llvm-test.py View 2 chunks +7 lines, -2 lines 0 comments Download
M tests/minnacl/nacl.scons View 1 1 chunk +5 lines, -0 lines 0 comments Download
M tests/spec2k/Makefile.common View 1 2 3 3 chunks +11 lines, -0 lines 0 comments Download
M tests/spec2k/run_all.sh View 1 2 3 7 chunks +15 lines, -6 lines 0 comments Download
M tools/toolchain_tester/toolchain_config.py View 1 2 3 4 5 chunks +53 lines, -108 lines 0 comments Download
M tools/toolchain_tester/torture_test.py View 1 2 3 4 1 chunk +5 lines, -0 lines 0 comments Download

Messages

Total messages: 8 (1 generated)
Jim Stichnoth
I'll also need to update the Subzero revision for all the latest bug fixes.
5 years, 9 months ago (2015-03-25 00:21:45 UTC) #2
Jim Stichnoth
https://codereview.chromium.org/1026243002/diff/60001/tools/toolchain_tester/torture_test.py File tools/toolchain_tester/torture_test.py (right): https://codereview.chromium.org/1026243002/diff/60001/tools/toolchain_tester/torture_test.py#newcode96 tools/toolchain_tester/torture_test.py:96: # Add some extra Subzero configurations. This adds two ...
5 years, 9 months ago (2015-03-25 01:17:09 UTC) #3
jvoung (off chromium)
On 2015/03/25 00:21:45, stichnot wrote: > I'll also need to update the Subzero revision for ...
5 years, 9 months ago (2015-03-25 18:17:53 UTC) #4
jvoung (off chromium)
Otherwise LGTM (after bumping deps too) https://codereview.chromium.org/1026243002/diff/60001/SConstruct File SConstruct (right): https://codereview.chromium.org/1026243002/diff/60001/SConstruct#newcode3187 SConstruct:3187: ('use_sz', 'sz'), maybe ...
5 years, 9 months ago (2015-03-25 18:41:38 UTC) #5
Jim Stichnoth
https://codereview.chromium.org/1026243002/diff/60001/SConstruct File SConstruct (right): https://codereview.chromium.org/1026243002/diff/60001/SConstruct#newcode3187 SConstruct:3187: ('use_sz', 'sz'), On 2015/03/25 18:41:38, jvoung wrote: > maybe ...
5 years, 9 months ago (2015-03-25 20:13:17 UTC) #6
Jim Stichnoth
Committed patchset #5 (id:80001) manually as e0ca6487422c55485dbd73454d700b4bf0971e86 (presubmit successful).
5 years, 9 months ago (2015-03-25 20:47:41 UTC) #7
jvoung (off chromium)
5 years, 9 months ago (2015-03-25 21:02:12 UTC) #8
Message was sent while issue was closed.
On 2015/03/25 20:13:17, stichnot wrote:
> https://codereview.chromium.org/1026243002/diff/60001/SConstruct
> File SConstruct (right):
> 
> https://codereview.chromium.org/1026243002/diff/60001/SConstruct#newcode3187
> SConstruct:3187: ('use_sz', 'sz'),
> On 2015/03/25 18:41:38, jvoung wrote:
> > maybe expand the directory name suffix to "subzero" =/
> 
> Done.
> 
>
https://codereview.chromium.org/1026243002/diff/60001/tools/toolchain_tester/...
> File tools/toolchain_tester/toolchain_config.py (right):
> 
>
https://codereview.chromium.org/1026243002/diff/60001/tools/toolchain_tester/...
> tools/toolchain_tester/toolchain_config.py:353:
> base=TOOLCHAIN_CONFIGS['llvm_pnacl_x86-32_O3'],
> On 2015/03/25 18:41:38, jvoung wrote:
> > nit: The other cases seem to have base=... first (e.g.,
> > llvm_pnacl_x86-32_O3_O0_sz).
> 
> Oops!  Fixed here and above.
> 
>
https://codereview.chromium.org/1026243002/diff/60001/tools/toolchain_tester/...
> File tools/toolchain_tester/torture_test.py (right):
> 
>
https://codereview.chromium.org/1026243002/diff/60001/tools/toolchain_tester/...
> tools/toolchain_tester/torture_test.py:96: # Add some extra Subzero
> configurations.
> On 2015/03/25 18:41:38, jvoung wrote:
> > On 2015/03/25 01:17:09, stichnot wrote:
> > > This adds two new configurations, 50% more runtime.  Should we drop one of
> the
> > > old configs, like O0_O0?
> > 
> > Maybe... but O0f_O2b might be the weirder config. On the other hand, it
could
> > tickle weird optimization bugs in the backend from mixing O0/O2 which we may
> or
> > may not be interested in fixing.
> > 
> > O0f_O0b might be more representative of debugging.
> 
> OK.  For now, I just left a TODO about possible pruning.


Some other ideas:

- Shard and move the torture_tests run to a different try/buildbot. We only run
this with the host toolchain, so it's not super-dependent on the linux x86-64
bot which builds the sandboxed translator.

It'll be another bot building the toolchain but maybe that's not so bad w/
memoization.

The linux-x86-64 pnacl bot *is* taking a long time now... 6 hours here (for a
DEPS update):
http://build.chromium.org/p/client.nacl.toolchain/builders/linux-pnacl-x86_64...

or 3 and half here (for a memoized build):
http://build.chromium.org/p/client.nacl.toolchain/builders/linux-pnacl-x86_64...

- Share the pexes across torture_test runs that have the same frontend opt
level, rather than rebuild from scratch.

Powered by Google App Engine
This is Rietveld 408576698