From afebdb4e528dd566d8cb7635e763abab5c096141 Mon Sep 17 00:00:00 2001 From: Michael Kuron <mkuron@icp.uni-stuttgart.de> Date: Thu, 16 Jun 2022 12:57:45 +0200 Subject: [PATCH] Update RISC-V vectorization --- .gitlab-ci.yml | 6 +++--- pystencils/backends/riscv_instruction_sets.py | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ab865c557..bf4b2d259 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -188,8 +188,8 @@ arm64v9: - sed -i s/g\+\+/clang++/g ~/.config/pystencils/config.json riscv64: - # The RISC-V vector extension is still experimental and needs special compiler flags. - # Once they are officially released, this job should be cleaned up to match the others. + # The RISC-V vector extension are so new they are not supported by GCC yet. + # Also, the image is built without the libomp package which is not yet available on Ubuntu. extends: .multiarch_template image: i10git.cs.fau.de:5005/pycodegen/pycodegen/riscv64:testing variables: @@ -197,7 +197,7 @@ riscv64: QEMU_CPU: "rv64,v=true" 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/fopenmp/fopenmp=libgomp -I\/usr\/include\/riscv64-linux-gnu/g' ~/.config/pystencils/config.json diff --git a/pystencils/backends/riscv_instruction_sets.py b/pystencils/backends/riscv_instruction_sets.py index d93aee701..8e0ab7edd 100644 --- a/pystencils/backends/riscv_instruction_sets.py +++ b/pystencils/backends/riscv_instruction_sets.py @@ -50,8 +50,8 @@ def get_vector_instruction_set_riscv(data_type='double', instruction_set='rvv'): '|': 'mor_mm[0, 1]', 'blendv': 'merge_vvm[2, 0, 1]', - 'any': 'popc_m[0]', - 'all': 'popc_m[0]', + 'any': 'cpop_m[0]', + 'all': 'cpop_m[0]', } result = dict() -- GitLab