rahulchaphalkar opened PR #11777 from rahulchaphalkar:sde-emulator-pr to bytecodealliance:main:
Adds Intel SDE to the CI in preparation of testing new instructions like APX, which are not available in QEMU.
SDE only testswasmtime-toolsfor now, viacratefield inconfig.
Have disabled sharding whencratefield is present, assumption for now is this would only list few crates (1 in this case).
Uses following action to setup SDE - https://github.com/petarpetrovt/setup-sdeSDE Tests get triggered with a
prtest:sdecommit message, similar to some other components.
prtest:sdewill only run sde testsprtest:fullwill run everything _except_ sde testsprtest:full+prtest:sdewill run all tests including sde testsThe env variables like
WASMTIME_TEST_NO_SDEare introduced (similar to Qemu) to provide a clean way to disable any tests that are problematic, but are not being used right now. Can remove them if needed.@jlb6740 @abrown
rahulchaphalkar requested pchickey for a review on PR #11777.
rahulchaphalkar requested wasmtime-default-reviewers for a review on PR #11777.
alexcrichton created PR review comment:
For this we have enough concurrency that it's ok to omit this. Basically it's fine to run by default on CI, and I'm at least personally otherwise wary of not running it by default as it means it would likely bitrot pretty quickly.
alexcrichton submitted PR review:
Thanks! One thing this might be useful for is the avx512 lowerings which probably aren't tested much on CI right now. Could you confirm that our avx512 runtests are running in the SDE?
alexcrichton created PR review comment:
Does this do much more than a curl + tar command? If so could this be manually done instead of using a 3rd-party action?
rahulchaphalkar commented on PR #11777:
Thanks! One thing this might be useful for is the avx512 lowerings which probably aren't tested much on CI right now. Could you confirm that our avx512 runtests are running in the SDE?
@alexcrichton I was looking into this to have a definite answer, and here's where I am thus far -
- There are 4 runtests which include some variant of avx512 like
has_avx512f,has_avx512vletc.- I am testing these out locally on a system with AVX512 present (ICX) with
RUST_LOG=trace, just natively without SDE- I see SSE and AVX instructions in the log, but not AVX512. I tested by modifying a clif test (simd-shuffle.clif) to only include
has_avx512vland variants (and removesse,avxetc) and I don't see anyvshufpsinstructions. When I includehas_avxthen I do seevshufps.With SDE -
- I tested in a similar way with SDE, and have same results. When I configure SDE with a platform without AVX support, then I see just
shufpsas expected from SSE, and configured with AVX capable platform, I seevshufps.I also checked this with the python script that CI uses to kick things off,
./ci/run-tests.pywith and without SDE.
To summarize, I do think AVX512 tests from runtests are being run, and the results match with and without SDE, but I am not sure if AVX512 instructions are being generated or not (doesn't look like it) for either case.
alexcrichton commented on PR #11777:
Thanks for investigating! That matches what my rough expectations would be, so I think it's safe to conclude "yep working as intended"
rahulchaphalkar updated PR #11777.
rahulchaphalkar submitted PR review.
rahulchaphalkar created PR review comment:
Done, doing it manually similar to qemu now.
rahulchaphalkar submitted PR review.
rahulchaphalkar created PR review comment:
Sure, removed it, now sde tests should run with full ci run
rahulchaphalkar edited PR #11777:
Adds Intel SDE to the CI in preparation of testing new instructions like APX, which are not available in QEMU.
SDE only testswasmtime-toolsfor now, viacratefield inconfig.
Have disabled sharding whencratefield is present, assumption for now is this would only list few crates (1 in this case).
Uses following action to setup SDE - https://github.com/petarpetrovt/setup-sdeSDE Tests get triggered with a
prtest:sdecommit message, similar to some other components.
prtest:sdewill only run sde testsprtest:fullwill run everything _except_ sde testsprtest:full+prtest:sdewill run all tests including sde testsThe env variables like
WASMTIME_TEST_NO_SDEare introduced (similar to Qemu) to provide a clean way to disable any tests that are problematic, but are not being used right now. Can remove them if needed.@jlb6740 @abrown
Edit -
Based off feedback below, SDE tests now run with a full CI run as well, previously they were filtered out and only ran forprtest:sde. Now they run forprtest:sdeas well asprtest:full.
alexcrichton submitted PR review.
alexcrichton merged PR #11777.
Last updated: Dec 06 2025 at 06:05 UTC