-
Notifications
You must be signed in to change notification settings - Fork 16
Open
Description
AVX2 is enabled by default.
Line 51 in ba80e04
| option (ENABLE_AVX2 "Compile with AVX2 instruction set support" ON) |
If GCC is used and threading is enabled, compilation fails:
$ CC=gcc CXX=g++ cmake -S . -B build -D ENABLE_THREADS=ON
$ cmake --build build
…
/usr/bin/make -f CMakeFiles/libfftw3.dir/build.make CMakeFiles/libfftw3.dir/build
make[2]: Entering directory '/var/tmp/amd-fftw/build'
[ 0%] Building C object CMakeFiles/libfftw3.dir/dft/simd/avx2-128/codlist.c.o
/usr/bin/gcc -DAOCL_FFTW_VERSION="\"AOCL-FFTW 5.2.0 Build 20260113\"" -DFFTW_DLL -Dlibfftw3_EXPORTS -I/var/tmp/amd-fftw/. -I/var/tmp/amd-fftw/build -O3 -DNDEBUG -fPIC -MD -MT CMakeFiles/libfftw3.dir/dft/simd/avx2-128/codlist.c.o -MF CMakeFiles/libfftw3.dir/dft/simd/avx2-128/codlist.c.o.d -o CMakeFiles/libfftw3.dir/dft/simd/avx2-128/codlist.c.o -c /var/tmp/amd-fftw/dft/simd/avx2-128/codlist.c
In file included from /var/tmp/amd-fftw/dft/simd/avx2-128/../common/codlist.c:2,
from /var/tmp/amd-fftw/dft/simd/avx2-128/codlist.c:3:
/var/tmp/amd-fftw/./simd-support/simd-avx2-128.h:42:2: error: #error "compiling simd-avx2-128.h without avx2 support"
42 | #error "compiling simd-avx2-128.h without avx2 support"
| ^~~~~
make[2]: *** [CMakeFiles/libfftw3.dir/build.make:6085: CMakeFiles/libfftw3.dir/dft/simd/avx2-128/codlist.c.o] Error 1
make[2]: Leaving directory '/var/tmp/amd-fftw/build'
make[1]: *** [CMakeFiles/Makefile2:102: CMakeFiles/libfftw3.dir/all] Error 2
make[1]: Leaving directory '/var/tmp/amd-fftw/build'
make: *** [Makefile:146: all] Error 2amd-fftw/simd-support/simd-avx2-128.h
Lines 41 to 43 in ba80e04
| #if defined(__GNUC__) && !defined(__AVX2__) /* sanity check */ | |
| #error "compiling simd-avx2-128.h without avx2 support" | |
| #endif |
-mavx2 flag is not added to compilation options in the branch
Line 363 in ba80e04
| else() |
Even if -mavx2 is manually set, linkages fails:
$ cmake --build build -- VERBOSE=1
make[2]: Entering directory '/var/tmp/amd-fftw/build'
[100%] Linking C executable fftw-wisdom
/usr/bin/cmake -E cmake_link_script CMakeFiles/fftw-wisdom.dir/link.txt --verbose=1
/usr/bin/gcc -O2 -g -DNDEBUG -Wl,--dependency-file=CMakeFiles/fftw-wisdom.dir/link.d "CMakeFiles/fftw-wisdom.dir/tools/fftw-wisdom.c.o" -o fftw-wisdom -Wl,-rpath,/var/tmp/amd-fftw/build: liblibbench2.a liblibfftw3_threads.so.3 liblibtestbench.a -lm
/usr/bin/ld: liblibtestbench.a(fftw-bench.c.o): in function `rdwisdom':
/var/tmp/amd-fftw/tests/fftw-bench.c:152:(.text+0x8e): undefined reference to `timer_start'
/usr/bin/ld: /var/tmp/amd-fftw/tests/fftw-bench.c:160:(.text+0xcf): undefined reference to `timer_stop'
/usr/bin/ld: /var/tmp/amd-fftw/tests/fftw-bench.c:160:(.text+0x208): undefined reference to `timer_stop'
/usr/bin/ld: liblibtestbench.a(fftw-bench.c.o): in function `wrwisdom':
/var/tmp/amd-fftw/tests/fftw-bench.c:185:(.text+0x247): undefined reference to `timer_start'
/usr/bin/ld: /var/tmp/amd-fftw/tests/fftw-bench.c:190:(.text+0x27c): undefined reference to `timer_stop'
/usr/bin/ld: liblibtestbench.a(fftw-bench.c.o): in function `can_do':
/var/tmp/amd-fftw/tests/fftw-bench.c:225:(.text+0x5c9): undefined reference to `timer_start'
/usr/bin/ld: /var/tmp/amd-fftw/tests/fftw-bench.c:227:(.text+0x60e): undefined reference to `timer_stop'
/usr/bin/ld: liblibtestbench.a(fftw-bench.c.o): in function `setup':
/var/tmp/amd-fftw/tests/fftw-bench.c:268:(.text+0x70c): undefined reference to `timer_start'
/usr/bin/ld: /var/tmp/amd-fftw/tests/fftw-bench.c:270:(.text+0x74b): undefined reference to `timer_stop'
/usr/bin/ld: /var/tmp/amd-fftw/tests/fftw-bench.c:268:(.text+0x844): undefined reference to `timer_start'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/fftw-wisdom.dir/build.make:104: fftw-wisdom] Error 1
make[2]: Leaving directory '/var/tmp/amd-fftw/build'
make[1]: *** [CMakeFiles/Makefile2:232: CMakeFiles/fftw-wisdom.dir/all] Error 2
make[1]: Leaving directory '/var/tmp/amd-fftw/build'
make: *** [Makefile:146: all] Error 2The linkage command should be
/usr/bin/gcc -O2 -g -DNDEBUG -Wl,--dependency-file=CMakeFiles/fftw-wisdom.dir/link.d "CMakeFiles/fftw-wisdom.dir/tools/fftw-wisdom.c.o" -o fftw-wisdom -Wl,-rpath,/var/tmp/amd-fftw/build: \
liblibtestbench.a liblibbench2.a liblibfftw3_threads.so.3 -lm
# or
/usr/bin/gcc -O2 -g -DNDEBUG -Wl,--dependency-file=CMakeFiles/fftw-wisdom.dir/link.d "CMakeFiles/fftw-wisdom.dir/tools/fftw-wisdom.c.o" -o fftw-wisdom -Wl,-rpath,/var/tmp/amd-fftw/build: \
-Wl,--start-group liblibbench2.a liblibfftw3_threads.so.3 liblibtestbench.a -Wl,--end-group -lmMetadata
Metadata
Assignees
Labels
No labels