simde
simde copied to clipboard
replicate the CI testing scenarios in Dockerfiles
To help with local testing.
Using cross-compilers for the various architectures and qemu for running the tests, as needed.
from .travis.yml
- [x] gcc-9
- [x] clang-10
- [ ] gcc-8 x86
- [x] aarch64
- [x] ppc64le
- [ ]
-DSIMDE_NO_SHUFFLE_VECTOR
- [x] armv8-a
- [x] armv7-a
- [x] icc
- [ ] pgcc
- [x] xlc
- [ ] msvc x86
- [ ] msvc x86_64
- [ ] msvc arm
- [ ] gcc-7 amd64
- [ ] clang-7 amd64
- [ ] gcc-4.8
- [x] s390x
- [x] emscripten
from .azure-pipelines.yml
- [x] mipsel
from .drone.star
-
[ ] clang9_armv7
-
[x] clang9_armv8
-
[ ] gcc8_armv7
-
[ ] gcc8_armv8
-
[ ] clang7_armv7
-
[ ] clang7_armv8
-
[ ] gcc7_armv7
-
[ ] gcc7_armv8
-
[ ] fedora
-
[ ] fedora_clang_arm64_flags
-
[ ] centos7_clang3
-
[ ] Adding instructions on how to use these in development / testing to https://github.com/nemequ/simde/wiki/Development-Environment
The qemu version 4.2.0 x86-64 target says it supports:
- avx512vnni
- avx512vbmi2
- avx512vbmi
- avx512bitalg
- avx512-bf16
- avx512-4vnniw
- avx512-4fmaps
- avx512-vpopcntdq
- avx512pf
- avx512ifma
- avx512er
- avx512dq
- avx512cd
- avx512vl
- avx512bw
- avx512f
- gfni
- avx2
- avx
- aes
(Currently missing is AVX512_VP2INTERSECT)
Here's a Dockerfile for testing s390x with an X86-64 Docker container https://github.com/nemequ/simde/blob/docker_local_testing/Dockerfile.s390x
Great idea! I'm less concerned with the x86 ones since SDE is a pretty straightforward option there, but for other architectures I think this would be invaluable. Maybe we should just make a test/docker/
and dump a bunch of Dockerfiles in there?
IIRC CircleCI supports Docker, and it's free for Open Source, so we could also get CI set up for these without adding additonal strain on our additional providers (Travis, Drone, GitHub Actions, Azure Pipelines, and AppVeyor).
I know I wrote a script a while back to automatically download SDE. I could try to find that (or recreate it, IIRC it was fairly straightforward).
Great idea!
Thanks!
Maybe we should just make a test/docker/ and dump a bunch of Dockerfiles in there?
Done.
Here is an icc
Dockerfile: https://github.com/nemequ/simde/blob/e479b4deb0cdbe0b1d2712a5f5f38c03e2ad074f/test/docker/Dockerfile.icc
I checked a few boxes available with the docker/simde-dev.sh
script