Skip to content
Snippets Groups Projects
Commit 5439bf9a authored by Michael Kuron's avatar Michael Kuron :mortar_board: Committed by Markus Holzer
Browse files

Compatibility with latest RISCV64 and ARM CI image

parent fddca9ad
1 merge request!297Compatibility with latest RISCV64 and ARM CI image
...@@ -168,25 +168,19 @@ ppc64le: ...@@ -168,25 +168,19 @@ ppc64le:
- sed -i s/mcpu=native/mcpu=power8/g ~/.config/pystencils/config.json - sed -i s/mcpu=native/mcpu=power8/g ~/.config/pystencils/config.json
arm64v9: arm64v9:
# Compiler support for SVE is still pretty rough: GCC 10+11 produce incorrect code for fixed-width vectors, # SVE support is still unreliable in GCC 11 (incorrect code for fixed-width vectors, internal compiler errors).
# while Clang 12 produces memory-corrupting heisenbugs unless we enable the address sanitizer.
# In the RNG tests, GCC 10+11 produce an internal compiler error.
# The memory corruption seems to only happen with qemu-user, not with qemu-system.
# Once the compilers and QEMU have improved, this job should be cleaned up to match the others.
extends: .multiarch_template extends: .multiarch_template
image: i10git.cs.fau.de:5005/pycodegen/pycodegen/arm64 image: i10git.cs.fau.de:5005/pycodegen/pycodegen/arm64
variables: variables:
PYSTENCILS_SIMD: "sve256,sve512,sve" PYSTENCILS_SIMD: "sve256,sve512,sve"
ASAN_OPTIONS: detect_leaks=0
LD_PRELOAD: /usr/lib/aarch64-linux-gnu/libasan.so.6
before_script: before_script:
- *multiarch_before_script - *multiarch_before_script
- sed -i s/march=native/march=armv8-a+sve/g ~/.config/pystencils/config.json - sed -i s/march=native/march=armv8-a+sve/g ~/.config/pystencils/config.json
- sed -i s/g\+\+/clang++/g ~/.config/pystencils/config.json - sed -i s/g\+\+/clang++/g ~/.config/pystencils/config.json
riscv64: riscv64:
# The RISC-V vector extension is still experimental and needs special compiler flags. # RISC-V vector extension are currently not supported by GCC.
# Once they are officially released, this job should be cleaned up to match the others. # Also, the image is built without the libomp package which is not yet available on Ubuntu.
extends: .multiarch_template extends: .multiarch_template
image: i10git.cs.fau.de:5005/pycodegen/pycodegen/riscv64 image: i10git.cs.fau.de:5005/pycodegen/pycodegen/riscv64
variables: variables:
...@@ -194,7 +188,7 @@ riscv64: ...@@ -194,7 +188,7 @@ riscv64:
QEMU_CPU: "rv64,v=true" QEMU_CPU: "rv64,v=true"
before_script: before_script:
- *multiarch_before_script - *multiarch_before_script
- sed -i 's/march=native/march=rv64imfdv0p10 -menable-experimental-extensions/g' ~/.config/pystencils/config.json - sed -i 's/march=native/march=rv64imfdv/g' ~/.config/pystencils/config.json
- sed -i s/g\+\+/clang++/g ~/.config/pystencils/config.json - sed -i s/g\+\+/clang++/g ~/.config/pystencils/config.json
- sed -i 's/fopenmp/fopenmp=libgomp -I\/usr\/include\/riscv64-linux-gnu/g' ~/.config/pystencils/config.json - sed -i 's/fopenmp/fopenmp=libgomp -I\/usr\/include\/riscv64-linux-gnu/g' ~/.config/pystencils/config.json
......
...@@ -50,8 +50,8 @@ def get_vector_instruction_set_riscv(data_type='double', instruction_set='rvv'): ...@@ -50,8 +50,8 @@ def get_vector_instruction_set_riscv(data_type='double', instruction_set='rvv'):
'|': 'mor_mm[0, 1]', '|': 'mor_mm[0, 1]',
'blendv': 'merge_vvm[2, 0, 1]', 'blendv': 'merge_vvm[2, 0, 1]',
'any': 'popc_m[0]', 'any': 'cpop_m[0]',
'all': 'popc_m[0]', 'all': 'cpop_m[0]',
} }
result = dict() result = dict()
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment