simde icon indicating copy to clipboard operation
simde copied to clipboard

replicate the CI testing scenarios in Dockerfiles

Open mr-c opened this issue 4 years ago • 4 comments

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)

mr-c avatar Apr 27 '20 06:04 mr-c

Here's a Dockerfile for testing s390x with an X86-64 Docker container https://github.com/nemequ/simde/blob/docker_local_testing/Dockerfile.s390x

mr-c avatar Apr 27 '20 10:04 mr-c

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).

nemequ avatar Apr 28 '20 00:04 nemequ

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

mr-c avatar Apr 28 '20 09:04 mr-c

I checked a few boxes available with the docker/simde-dev.sh script

mr-c avatar Dec 30 '20 12:12 mr-c