Maratyszcza / NNPACK

Acceleration package for neural networks on multi-core CPUs
BSD 2-Clause "Simplified" License
1.67k stars 317 forks source link

still not working with python3? #124

Closed machuck closed 6 years ago

machuck commented 6 years ago

Is NNPACK not compatible with python 3?

root@r710:~/NNPACK# python3.4 ./configure.py
Detected root directory: /root/NNPACK
Configuring dependency pthreadpool
Configuring dependency fxdiv
Configuring dependency googletest
Configuring dependency googlebenchmark
Configuring dependency cpuinfo
Traceback (most recent call last):
  File "./configure.py", line 456, in <module>
    main(sys.argv[1:]).generate()
  File "./configure.py", line 46, in main
    (build.deps.pthreadpool, build.deps.cpuinfo, build.deps.fxdiv, build.deps.fp16): any,
  File "/usr/local/lib/python3.4/dist-packages/confu/builds/deps.py", line 48, in __getattr__
    config = configure.main(["--target", self._target])
  File "/root/NNPACK/deps/cpuinfo/configure.py", line 77, in main
    build.static_library("cpuinfo", map(build.cc, sources))
  File "/usr/local/lib/python3.4/dist-packages/confu/builds/unix.py", line 95, in static_library
    libraries=self._deps_libraries, rule="archive")
  File "/usr/local/lib/python3.4/dist-packages/confu/results/collection.py", line 22, in __init__
    index=i))
TypeError: Unsupported type of object #0: CompilationResult expected
Maratyszcza commented 6 years ago

Change build.static_library("cpuinfo", map(build.cc, sources)) into build.static_library("cpuinfo", list(map(build.cc, sources))), it should help. If you are interested in NNPACK as a user, rather than a developer, consider building it with CMake.

machuck commented 6 years ago

Thanks! ninja compiled. But ninja smoketest failed on many. Please see below.

can@r710:~/NNPACK$ for i in bin/*test ; do ${i} ; done
convolution-inference-alexnet-test: /home/can/NNPACK/test/convolution-inference/alexnet.cc:258: int main(int, char**): Assertion `init_status == nnp_status_success' failed.
Aborted (core dumped)
convolution-inference-overfeat-fast-test: /home/can/NNPACK/test/convolution-inference/overfeat-fast.cc:258: int main(int, char**): Assertion `init_status == nnp_status_success' failed.
Aborted (core dumped)
convolution-inference-smoketest: /home/can/NNPACK/test/convolution-inference/smoke.cc:828: int main(int, char**): Assertion `init_status == nnp_status_success' failed.
Aborted (core dumped)
convolution-inference-vgg-a-test: /home/can/NNPACK/test/convolution-inference/vgg-a.cc:458: int main(int, char**): Assertion `init_status == nnp_status_success' failed.
Aborted (core dumped)
convolution-input-gradient-alexnet-test: /home/can/NNPACK/test/convolution-input-gradient/alexnet.cc:103: int main(int, char**): Assertion `init_status == nnp_status_success' failed.
Aborted (core dumped)
convolution-input-gradient-overfeat-fast-test: /home/can/NNPACK/test/convolution-input-gradient/overfeat-fast.cc:103: int main(int, char**): Assertion `init_status == nnp_status_success' failed.
Aborted (core dumped)
convolution-input-gradient-smoketest: /home/can/NNPACK/test/convolution-input-gradient/smoke.cc:303: int main(int, char**): Assertion `init_status == nnp_status_success' failed.
Aborted (core dumped)
convolution-input-gradient-vgg-a-test: /home/can/NNPACK/test/convolution-input-gradient/vgg-a.cc:185: int main(int, char**): Assertion `init_status == nnp_status_success' failed.
Aborted (core dumped)
convolution-kernel-gradient-alexnet-test: /home/can/NNPACK/test/convolution-kernel-gradient/alexnet.cc:103: int main(int, char**): Assertion `init_status == nnp_status_success' failed.
Aborted (core dumped)
convolution-kernel-gradient-overfeat-fast-test: /home/can/NNPACK/test/convolution-kernel-gradient/overfeat-fast.cc:103: int main(int, char**): Assertion `init_status == nnp_status_success' failed.
Aborted (core dumped)
convolution-kernel-gradient-smoketest: /home/can/NNPACK/test/convolution-kernel-gradient/smoke.cc:303: int main(int, char**): Assertion `init_status == nnp_status_success' failed.
Aborted (core dumped)
convolution-kernel-gradient-vgg-a-test: /home/can/NNPACK/test/convolution-kernel-gradient/vgg-a.cc:185: int main(int, char**): Assertion `init_status == nnp_status_success' failed.
Aborted (core dumped)
convolution-output-alexnet-test: /home/can/NNPACK/test/convolution-output/alexnet.cc:180: int main(int, char**): Assertion `init_status == nnp_status_success' failed.
Aborted (core dumped)
convolution-output-overfeat-fast-test: /home/can/NNPACK/test/convolution-output/overfeat-fast.cc:180: int main(int, char**): Assertion `init_status == nnp_status_success' failed.
Aborted (core dumped)
convolution-output-smoketest: /home/can/NNPACK/test/convolution-output/smoke.cc:570: int main(int, char**): Assertion `init_status == nnp_status_success' failed.
Aborted (core dumped)
convolution-output-vgg-a-test: /home/can/NNPACK/test/convolution-output/vgg-a.cc:332: int main(int, char**): Assertion `init_status == nnp_status_success' failed.
Aborted (core dumped)
[==========] Running 32 tests from 27 test cases.
[----------] Global test environment set-up.
[----------] 2 tests from FFT2_AOS
[ RUN      ] FFT2_AOS.reference_sample
[       OK ] FFT2_AOS.reference_sample (0 ms)
[ RUN      ] FFT2_AOS.forward_and_inverse
[       OK ] FFT2_AOS.forward_and_inverse (2 ms)
[----------] 2 tests from FFT2_AOS (2 ms total)

[----------] 2 tests from FFT4_AOS
[ RUN      ] FFT4_AOS.reference_sample
[       OK ] FFT4_AOS.reference_sample (0 ms)
[ RUN      ] FFT4_AOS.forward_and_inverse
[       OK ] FFT4_AOS.forward_and_inverse (5 ms)
[----------] 2 tests from FFT4_AOS (5 ms total)

[----------] 2 tests from FFT8_AOS
[ RUN      ] FFT8_AOS.reference_sample
[       OK ] FFT8_AOS.reference_sample (0 ms)
[ RUN      ] FFT8_AOS.forward_and_inverse
[       OK ] FFT8_AOS.forward_and_inverse (9 ms)
[----------] 2 tests from FFT8_AOS (9 ms total)

[----------] 2 tests from FFT16_AOS
[ RUN      ] FFT16_AOS.reference_sample
[       OK ] FFT16_AOS.reference_sample (0 ms)
[ RUN      ] FFT16_AOS.forward_and_inverse
[       OK ] FFT16_AOS.forward_and_inverse (14 ms)
[----------] 2 tests from FFT16_AOS (14 ms total)

[----------] 2 tests from FFT32_AOS
[ RUN      ] FFT32_AOS.reference_sample
[       OK ] FFT32_AOS.reference_sample (0 ms)
[ RUN      ] FFT32_AOS.forward_and_inverse
[       OK ] FFT32_AOS.forward_and_inverse (33 ms)
[----------] 2 tests from FFT32_AOS (33 ms total)

[----------] 1 test from FFT2_SOA
[ RUN      ] FFT2_SOA.match_aos
[       OK ] FFT2_SOA.match_aos (0 ms)
[----------] 1 test from FFT2_SOA (0 ms total)

[----------] 1 test from FFT4_SOA
[ RUN      ] FFT4_SOA.match_aos
[       OK ] FFT4_SOA.match_aos (0 ms)
[----------] 1 test from FFT4_SOA (0 ms total)

[----------] 1 test from FFT8_SOA
[ RUN      ] FFT8_SOA.match_aos
[       OK ] FFT8_SOA.match_aos (1 ms)
[----------] 1 test from FFT8_SOA (1 ms total)

[----------] 1 test from FFT16_SOA
[ RUN      ] FFT16_SOA.match_aos
[       OK ] FFT16_SOA.match_aos (1 ms)
[----------] 1 test from FFT16_SOA (1 ms total)

[----------] 1 test from FFT32_SOA
[ RUN      ] FFT32_SOA.match_aos
[       OK ] FFT32_SOA.match_aos (3 ms)
[----------] 1 test from FFT32_SOA (3 ms total)

[----------] 1 test from IFFT2_SOA
[ RUN      ] IFFT2_SOA.match_aos
[       OK ] IFFT2_SOA.match_aos (0 ms)
[----------] 1 test from IFFT2_SOA (0 ms total)

[----------] 1 test from IFFT4_SOA
[ RUN      ] IFFT4_SOA.match_aos
[       OK ] IFFT4_SOA.match_aos (0 ms)
[----------] 1 test from IFFT4_SOA (0 ms total)

[----------] 1 test from IFFT8_SOA
[ RUN      ] IFFT8_SOA.match_aos
[       OK ] IFFT8_SOA.match_aos (1 ms)
[----------] 1 test from IFFT8_SOA (1 ms total)

[----------] 1 test from IFFT16_SOA
[ RUN      ] IFFT16_SOA.match_aos
[       OK ] IFFT16_SOA.match_aos (1 ms)
[----------] 1 test from IFFT16_SOA (1 ms total)

[----------] 1 test from IFFT32_SOA
[ RUN      ] IFFT32_SOA.match_aos
[       OK ] IFFT32_SOA.match_aos (3 ms)
[----------] 1 test from IFFT32_SOA (3 ms total)

[----------] 1 test from FFT8_REAL
[ RUN      ] FFT8_REAL.match_complex
[       OK ] FFT8_REAL.match_complex (0 ms)
[----------] 1 test from FFT8_REAL (0 ms total)

[----------] 1 test from FFT16_REAL
[ RUN      ] FFT16_REAL.match_complex
[       OK ] FFT16_REAL.match_complex (1 ms)
[----------] 1 test from FFT16_REAL (1 ms total)

[----------] 1 test from FFT32_REAL
[ RUN      ] FFT32_REAL.match_complex
[       OK ] FFT32_REAL.match_complex (2 ms)
[----------] 1 test from FFT32_REAL (2 ms total)

[----------] 1 test from IFFT8_REAL
[ RUN      ] IFFT8_REAL.match_complex
[       OK ] IFFT8_REAL.match_complex (1 ms)
[----------] 1 test from IFFT8_REAL (1 ms total)

[----------] 1 test from IFFT16_REAL
[ RUN      ] IFFT16_REAL.match_complex
[       OK ] IFFT16_REAL.match_complex (0 ms)
[----------] 1 test from IFFT16_REAL (0 ms total)

[----------] 1 test from IFFT32_REAL
[ RUN      ] IFFT32_REAL.match_complex
[       OK ] IFFT32_REAL.match_complex (3 ms)
[----------] 1 test from IFFT32_REAL (3 ms total)

[----------] 1 test from FFT8_DUALREAL
[ RUN      ] FFT8_DUALREAL.match_real
[       OK ] FFT8_DUALREAL.match_real (0 ms)
[----------] 1 test from FFT8_DUALREAL (0 ms total)

[----------] 1 test from FFT16_DUALREAL
[ RUN      ] FFT16_DUALREAL.match_real
[       OK ] FFT16_DUALREAL.match_real (1 ms)
[----------] 1 test from FFT16_DUALREAL (1 ms total)

[----------] 1 test from FFT32_DUALREAL
[ RUN      ] FFT32_DUALREAL.match_real
[       OK ] FFT32_DUALREAL.match_real (3 ms)
[----------] 1 test from FFT32_DUALREAL (3 ms total)

[----------] 1 test from IFFT8_DUALREAL
[ RUN      ] IFFT8_DUALREAL.match_real
[       OK ] IFFT8_DUALREAL.match_real (1 ms)
[----------] 1 test from IFFT8_DUALREAL (1 ms total)

[----------] 1 test from IFFT16_DUALREAL
[ RUN      ] IFFT16_DUALREAL.match_real
[       OK ] IFFT16_DUALREAL.match_real (1 ms)
[----------] 1 test from IFFT16_DUALREAL (1 ms total)

[----------] 1 test from IFFT32_DUALREAL
[ RUN      ] IFFT32_DUALREAL.match_real
[       OK ] IFFT32_DUALREAL.match_real (3 ms)
[----------] 1 test from IFFT32_DUALREAL (3 ms total)

[----------] Global test environment tear-down
[==========] 32 tests from 27 test cases ran. (89 ms total)
[  PASSED  ] 32 tests.
[==========] Running 15 tests from 15 test cases.
[----------] Global test environment set-up.
[----------] 1 test from FFT8_WITHIN_ROWS
[ RUN      ] FFT8_WITHIN_ROWS.match_reference
Illegal instruction (core dumped)
fully-connected-inference-alexnet-test: /home/can/NNPACK/test/fully-connected-inference/alexnet.cc:58: int main(int, char**): Assertion `init_status == nnp_status_success' failed.
Aborted (core dumped)
fully-connected-inference-overfeat-fast-test: /home/can/NNPACK/test/fully-connected-inference/overfeat-fast.cc:58: int main(int, char**): Assertion `init_status == nnp_status_success' failed.
Aborted (core dumped)
fully-connected-inference-vgg-a-test: /home/can/NNPACK/test/fully-connected-inference/vgg-a.cc:58: int main(int, char**): Assertion `init_status == nnp_status_success' failed.
Aborted (core dumped)
fully-connected-output-alexnet-test: /home/can/NNPACK/test/fully-connected-output/alexnet.cc:43: int main(int, char**): Assertion `init_status == nnp_status_success' failed.
Aborted (core dumped)
fully-connected-output-overfeat-fast-test: /home/can/NNPACK/test/fully-connected-output/overfeat-fast.cc:43: int main(int, char**): Assertion `init_status == nnp_status_success' failed.
Aborted (core dumped)
fully-connected-output-smoketest: /home/can/NNPACK/test/fully-connected-output/smoke.cc:164: int main(int, char**): Assertion `init_status == nnp_status_success' failed.
Aborted (core dumped)
fully-connected-output-vgg-a-test: /home/can/NNPACK/test/fully-connected-output/vgg-a.cc:43: int main(int, char**): Assertion `init_status == nnp_status_success' failed.
Aborted (core dumped)
51
max-pooling-output-smoketest: /home/can/NNPACK/test/max-pooling-output/smoke.cc:410: int main(int, char**): Assertion `init_status == nnp_status_success' failed.
Aborted (core dumped)
max-pooling-output-vgg-a-test: /home/can/NNPACK/test/max-pooling-output/vgg-a.cc:60: int main(int, char**): Assertion `init_status == nnp_status_success' failed.
Aborted (core dumped)
relu-input-gradient-alexnet-test: /home/can/NNPACK/test/relu-input-gradient/alexnet.cc:70: int main(int, char**): Assertion `init_status == nnp_status_success' failed.
Aborted (core dumped)
relu-input-gradient-overfeat-fast-test: /home/can/NNPACK/test/relu-input-gradient/overfeat-fast.cc:80: int main(int, char**): Assertion `init_status == nnp_status_success' failed.
Aborted (core dumped)
relu-input-gradient-vgg-a-test: /home/can/NNPACK/test/relu-input-gradient/vgg-a.cc:80: int main(int, char**): Assertion `init_status == nnp_status_success' failed.
Aborted (core dumped)
relu-output-alexnet-test: /home/can/NNPACK/test/relu-output/alexnet.cc:106: int main(int, char**): Assertion `init_status == nnp_status_success' failed.
Aborted (core dumped)
relu-output-overfeat-fast-test: /home/can/NNPACK/test/relu-output/overfeat-fast.cc:122: int main(int, char**): Assertion `init_status == nnp_status_success' failed.
Aborted (core dumped)
relu-output-vgg-a-test: /home/can/NNPACK/test/relu-output/vgg-a.cc:122: int main(int, char**): Assertion `init_status == nnp_status_success' failed.
Aborted (core dumped)
Running main() from gtest_main.cc
[==========] Running 6 tests from 2 test cases.
[----------] Global test environment set-up.
[----------] 3 tests from FAST4x24
[ RUN      ] FAST4x24.kc1
Illegal instruction (core dumped)
softmax-output-imagenet-test: /home/can/NNPACK/test/softmax-output/imagenet.cc:119: int main(int, char**): Assertion `init_status == nnp_status_success' failed.
Aborted (core dumped)
softmax-output-smoketest: /home/can/NNPACK/test/softmax-output/smoke.cc:55: int main(int, char**): Assertion `init_status == nnp_status_success' failed.
Aborted (core dumped)
[==========] Running 6 tests from 2 test cases.
[----------] Global test environment set-up.
[----------] 3 tests from F6k3
[ RUN      ] F6k3.input
Illegal instruction (core dumped)
Maratyszcza commented 6 years ago

@machuck It looks like you are trying to use NNPACK on an x86-64 processor without AVX2

Maratyszcza commented 6 years ago

The original problem with Python 3 fixed in Maratyszcza/confu@e118ff6e0b305711b6fdbb3aa313dea3554da8a7