diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..ad9fc7b --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,46 @@ +# gcc -DTRAINING=1 -Wall -W -O3 -g -I../include denoise.c kiss_fft.c pitch.c celt_lpc.c -o dump_data -lm +# gcc -mfma -msse3 -mavx2 -o test_lpcnet -g -O2 -Wall -W -Wextra lpcnet.c nnet.c nnet_data.c -lm + +cmake_minimum_required(VERSION 3.1) + +project(lpcnet) + +set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) +set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) + +add_executable(dump_data + src/dump_data.c + src/freq.c + src/kiss_fft.c + src/pitch.c + src/celt_lpc.c +) + + +target_compile_definitions(dump_data PRIVATE "TRAINING=1") +target_include_directories(dump_data PRIVATE ${CMAKE_CURRENT_SOURCE}/) +target_link_libraries(dump_data PRIVATE + "m" +) + + +add_executable(test_lpcnet + src/test_lpcnet.c + src/lpcnet.c + src/nnet.c + src/nnet_data.c + src/freq.c + src/kiss_fft.c + src/pitch.c + src/celt_lpc.c +) +add_custom_command(OUTPUT nnet_data.c + COMMAND dump_lpcnet.py `ls -t lpcnet*.h5 | head -1` + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE}/src) + +target_compile_options (test_lpcnet PRIVATE -march=native) +target_include_directories(test_lpcnet PRIVATE ${CMAKE_CURRENT_SOURCE}/) +target_link_libraries(test_lpcnet PRIVATE + "m" +) diff --git a/src/compile.sh b/src/compile.sh old mode 100755 new mode 100644 index 327f23f..1c469b8 --- a/src/compile.sh +++ b/src/compile.sh @@ -1,4 +1,4 @@ #!/bin/sh -gcc -Wall -W -O3 -g -I../include dump_data.c freq.c kiss_fft.c pitch.c celt_lpc.c -o dump_data -lm -gcc -o test_lpcnet -mavx2 -mfma -g -O3 -Wall -W -Wextra test_lpcnet.c lpcnet.c nnet.c nnet_data.c freq.c kiss_fft.c pitch.c celt_lpc.c -lm +gcc -Wall -W -O3 -g -I../include dump_data.c freq.c kiss_fft.c pitch.c celt_lpc.c -o dump_data -lm -Wunused-result +gcc -o test_lpcnet -mavx2 -mfma -g -O3 -Wall -W -Wextra test_lpcnet.c lpcnet.c nnet.c nnet_data.c freq.c kiss_fft.c pitch.c celt_lpc.c -lm -Wunknown-pragmas -Wunused-result diff --git a/src/vec_avx.h b/src/vec_avx.h index 1e58f8d..6ad082f 100644 --- a/src/vec_avx.h +++ b/src/vec_avx.h @@ -216,4 +216,3 @@ static void sparse_sgemv_accum16(float *out, const float *weights, int rows, con _mm256_storeu_ps (&y[8], vy8); } } -