Bkmz21 / CompactCNNCascade

A binary library for very fast face detection using compact CNNs.
Other
156 stars 50 forks source link

How do you compile this? #13

Open rajhlinux opened 2 years ago

rajhlinux commented 2 years ago

I have an AMD GPU (Radeon RX 580) and AMD CPU (FX-8350).

The CPU support AVX:
Architecture:            amd64
Byte Order:              Little Endian
Total CPU(s):            8
Thread(s) per core:      1
Core(s) per socket:      8
Socket(s):               1
Vendor:                  AuthenticAMD
CPU family:              21
Model:                   2
Model name:              AMD FX(tm)-8350 Eight-Core Processor           
Stepping:                0
L1d cache:               16K
L1i cache:               64K
L2 cache:                2048K
L3 cache:                8M
Flags:                   fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 cflsh mmx fxsr sse sse2 htt sse3 pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 popcnt aes xsave osxsave avx f16c syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm lahf_lm cmp_legacy svm extapic cr8_legacy lzcnt sse4a misalignsse 3dnowprefetch osvw ibs xop skinit wdt lwp fma4 tce nodeid_msr tbm topoext perfctr_core perfctr_nb

Using clang++ compiler and throws error:

$ make

Consolidate compiler generated dependencies of target CNNObjectDetector
[  5%] Building CXX object CMakeFiles/CNNObjectDetector.dir/src/CNNObjectDetector/cnnpp_cplusplus.cpp.o
In file included from /home/user/CompactCNNCascade/src/CNNObjectDetector/cnnpp_cplusplus.cpp:21:
/home/user/CompactCNNCascade/src/CNNObjectDetector/cnnpp_cplusplus.h:44:138: error: unknown type name 'size_t'
                        void conv_3x3(float* __restrict dst, int dst_size_l, float* __restrict src, int src_size_l, int src_size_h, float* __restrict kernel, size_t L = 0, size_t H = 0);
                                                                                                                                                              ^
/home/user/CompactCNNCascade/src/CNNObjectDetector/cnnpp_cplusplus.h:44:152: error: unknown type name 'size_t'
                        void conv_3x3(float* __restrict dst, int dst_size_l, float* __restrict src, int src_size_l, int src_size_h, float* __restrict kernel, size_t L = 0, size_t H = 0);
                                                                                                                                                                            ^
/home/user/CompactCNNCascade/src/CNNObjectDetector/cnnpp_cplusplus.h:45:138: error: unknown type name 'size_t'
                        void conv_4x4(float* __restrict dst, int dst_size_l, float* __restrict src, int src_size_l, int src_size_h, float* __restrict kernel, size_t L = 0, size_t H = 0);
                                                                                                                                                              ^
/home/user/CompactCNNCascade/src/CNNObjectDetector/cnnpp_cplusplus.h:45:152: error: unknown type name 'size_t'
                        void conv_4x4(float* __restrict dst, int dst_size_l, float* __restrict src, int src_size_l, int src_size_h, float* __restrict kernel, size_t L = 0, size_t H = 0);
                                                                                                                                                                            ^
/home/user/CompactCNNCascade/src/CNNObjectDetector/cnnpp_cplusplus.h:46:138: error: unknown type name 'size_t'
                        void conv_5x4(float* __restrict dst, int dst_size_l, float* __restrict src, int src_size_l, int src_size_h, float* __restrict kernel, size_t L = 0, size_t H = 0);
                                                                                                                                                              ^
/home/user/CompactCNNCascade/src/CNNObjectDetector/cnnpp_cplusplus.h:46:152: error: unknown type name 'size_t'
                        void conv_5x4(float* __restrict dst, int dst_size_l, float* __restrict src, int src_size_l, int src_size_h, float* __restrict kernel, size_t L = 0, size_t H = 0);
                                                                                                                                                                            ^
/home/user/CompactCNNCascade/src/CNNObjectDetector/cnnpp_cplusplus.h:47:138: error: unknown type name 'size_t'
                        void conv_5x5(float* __restrict dst, int dst_size_l, float* __restrict src, int src_size_l, int src_size_h, float* __restrict kernel, size_t L = 0, size_t H = 0);
                                                                                                                                                              ^
/home/user/CompactCNNCascade/src/CNNObjectDetector/cnnpp_cplusplus.h:47:152: error: unknown type name 'size_t'
                        void conv_5x5(float* __restrict dst, int dst_size_l, float* __restrict src, int src_size_l, int src_size_h, float* __restrict kernel, size_t L = 0, size_t H = 0);
                                                                                                                                                                            ^
/home/user/CompactCNNCascade/src/CNNObjectDetector/cnnpp_cplusplus.h:48:138: error: unknown type name 'size_t'
                        void conv_6x5(float* __restrict dst, int dst_size_l, float* __restrict src, int src_size_l, int src_size_h, float* __restrict kernel, size_t L = 0, size_t H = 0);
                                                                                                                                                              ^
/home/user/CompactCNNCascade/src/CNNObjectDetector/cnnpp_cplusplus.h:48:152: error: unknown type name 'size_t'
                        void conv_6x5(float* __restrict dst, int dst_size_l, float* __restrict src, int src_size_l, int src_size_h, float* __restrict kernel, size_t L = 0, size_t H = 0);
                                                                                                                                                                            ^
/home/user/CompactCNNCascade/src/CNNObjectDetector/cnnpp_cplusplus.h:49:138: error: unknown type name 'size_t'
                        void conv_6x6(float* __restrict dst, int dst_size_l, float* __restrict src, int src_size_l, int src_size_h, float* __restrict kernel, size_t L = 0, size_t H = 0);
                                                                                                                                                              ^
/home/user/CompactCNNCascade/src/CNNObjectDetector/cnnpp_cplusplus.h:49:152: error: unknown type name 'size_t'
                        void conv_6x6(float* __restrict dst, int dst_size_l, float* __restrict src, int src_size_l, int src_size_h, float* __restrict kernel, size_t L = 0, size_t H = 0);
                                                                                                                                                                            ^
/home/user/CompactCNNCascade/src/CNNObjectDetector/cnnpp_cplusplus.h:50:138: error: unknown type name 'size_t'
                        void conv_7x7(float* __restrict dst, int dst_size_l, float* __restrict src, int src_size_l, int src_size_h, float* __restrict kernel, size_t L = 0, size_t H = 0);
                                                                                                                                                              ^
/home/user/CompactCNNCascade/src/CNNObjectDetector/cnnpp_cplusplus.h:50:152: error: unknown type name 'size_t'
                        void conv_7x7(float* __restrict dst, int dst_size_l, float* __restrict src, int src_size_l, int src_size_h, float* __restrict kernel, size_t L = 0, size_t H = 0);
                                                                                                                                                                            ^
/home/user/CompactCNNCascade/src/CNNObjectDetector/cnnpp_cplusplus.h:51:138: error: unknown type name 'size_t'
                        void conv_8x7(float* __restrict dst, int dst_size_l, float* __restrict src, int src_size_l, int src_size_h, float* __restrict kernel, size_t L = 0, size_t H = 0);
                                                                                                                                                              ^
/home/user/CompactCNNCascade/src/CNNObjectDetector/cnnpp_cplusplus.h:51:152: error: unknown type name 'size_t'
                        void conv_8x7(float* __restrict dst, int dst_size_l, float* __restrict src, int src_size_l, int src_size_h, float* __restrict kernel, size_t L = 0, size_t H = 0);
                                                                                                                                                                            ^
/home/user/CompactCNNCascade/src/CNNObjectDetector/cnnpp_cplusplus.h:52:138: error: unknown type name 'size_t'
                        void conv_8x8(float* __restrict dst, int dst_size_l, float* __restrict src, int src_size_l, int src_size_h, float* __restrict kernel, size_t L = 0, size_t H = 0);
                                                                                                                                                              ^
/home/user/CompactCNNCascade/src/CNNObjectDetector/cnnpp_cplusplus.h:52:152: error: unknown type name 'size_t'
                        void conv_8x8(float* __restrict dst, int dst_size_l, float* __restrict src, int src_size_l, int src_size_h, float* __restrict kernel, size_t L = 0, size_t H = 0);
                                                                                                                                                                            ^
/home/user/CompactCNNCascade/src/CNNObjectDetector/cnnpp_cplusplus.h:53:140: error: unknown type name 'size_t'
                        void conv_11x10(float* __restrict dst, int dst_size_l, float* __restrict src, int src_size_l, int src_size_h, float* __restrict kernel, size_t L = 0, size_t H = 0);
                                                                                                                                                                ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
*** Error code 1

Stop.
make[2]: stopped in /usr/home/user/CompactCNNCascade/build
*** Error code 1

Stop.
make[1]: stopped in /usr/home/user/CompactCNNCascade/build
*** Error code 1

Stop.
make: stopped in /usr/home/user/CompactCNNCascade/build

How to compile for FreeBSD 13.1 using gcc11 or clang?

Thanks.