Fix #1: remove non-SIMD package, fix build
This package is currently broken (see #1):
- code does not compile with recent gcc,
- non-SIMD build does contain SIMD instructions,
- SIMD build
srslte-avx2
also contains AVX512 instructions, - both SIMD and non-SIMD packages are built with
-march=native
.
Running the binaries on a different CPU results in a segfault:
[root@bc0929b559dc /]# srsenb
Illegal instruction (core dumped)
[root@bc0929b559dc /]# srsepc
Illegal instruction (core dumped)
- add
-DENABLE_WERROR=False
to fix build errors - remove hard-coded optimization levels (
-O3
,-Ofast
) - merge both
srslte
andsrslte-avx2
into a single package [1] - explicitly specify
-DGCC_ARCH=x86-64
to avoid-march=native
- add
-DAUTO_DETECT_ISA=False
to disable automatic SIMD detection during build; specify supported SIMD kinds manually
[1] The upstream does not seem to support non-SIMD builds anymore.
40% of unit tests are failing when compiled with -DDISABLE_SIMD=True
,
so it makes no sense to provide broken non-SIMD package.
See https://github.com/srsran/srsRAN_4G/issues/796#issuecomment-1027725983.
\cc @gromit @hanabishi @loqs