diff --git a/openair1/PHY/CODING/CMakeLists.txt b/openair1/PHY/CODING/CMakeLists.txt index 5a319932e1..c469a2b236 100644 --- a/openair1/PHY/CODING/CMakeLists.txt +++ b/openair1/PHY/CODING/CMakeLists.txt @@ -1,63 +1,52 @@ -set(PHY_TURBOSRC - ${OPENAIR1_DIR}/PHY/CODING/3gpplte_sse.c - ${OPENAIR1_DIR}/PHY/CODING/3gpplte.c - ${OPENAIR1_DIR}/PHY/CODING/3gpplte_turbo_decoder_sse_8bit.c - ${OPENAIR1_DIR}/PHY/CODING/3gpplte_turbo_decoder_sse_16bit.c - ${OPENAIR1_DIR}/PHY/CODING/3gpplte_turbo_decoder_avx2_16bit.c - ${OPENAIR1_DIR}/PHY/CODING/3gpplte_turbo_decoder.c +add_library(coding MODULE + 3gpplte_sse.c + 3gpplte.c + 3gpplte_turbo_decoder_sse_8bit.c + 3gpplte_turbo_decoder_sse_16bit.c + 3gpplte_turbo_decoder_avx2_16bit.c + 3gpplte_turbo_decoder.c ) - -add_library(coding MODULE ${PHY_TURBOSRC} ) set_target_properties(coding PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) -set(PHY_LDPC_ORIG_SRC - ${OPENAIR1_DIR}/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder.c - ${OPENAIR1_DIR}/PHY/CODING/nrLDPC_encoder/ldpc_encoder.c +add_library(ldpc_orig MODULE + nrLDPC_decoder/nrLDPC_decoder.c + nrLDPC_encoder/ldpc_encoder.c ) -add_library(ldpc_orig MODULE ${PHY_LDPC_ORIG_SRC} ) set_target_properties(ldpc_orig PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) target_link_libraries(ldpc_orig PRIVATE ldpc_gen_HEADERS) -set(PHY_LDPC_OPTIM_SRC - ${OPENAIR1_DIR}/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder.c - ${OPENAIR1_DIR}/PHY/CODING/nrLDPC_encoder/ldpc_encoder_optim.c - ) -add_library(ldpc_optim MODULE ${PHY_LDPC_OPTIM_SRC} ) +add_library(ldpc_optim MODULE + nrLDPC_decoder/nrLDPC_decoder.c + nrLDPC_encoder/ldpc_encoder_optim.c +) set_target_properties(ldpc_optim PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) target_link_libraries(ldpc_optim PRIVATE ldpc_gen_HEADERS) -set(PHY_LDPC_OPTIM8SEG_SRC - ${OPENAIR1_DIR}/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder.c - ${OPENAIR1_DIR}/PHY/CODING/nrLDPC_encoder/ldpc_encoder_optim8seg.c +add_library(ldpc_optim8seg MODULE + nrLDPC_decoder/nrLDPC_decoder.c + nrLDPC_encoder/ldpc_encoder_optim8seg.c ) -add_library(ldpc_optim8seg MODULE ${PHY_LDPC_OPTIM8SEG_SRC} ) set_target_properties(ldpc_optim8seg PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) target_link_libraries(ldpc_optim8seg PRIVATE ldpc_gen_HEADERS) -set(PHY_LDPC_OPTIM8SEGMULTI_SRC - ${OPENAIR1_DIR}/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder.c - ${OPENAIR1_DIR}/PHY/CODING/nrLDPC_encoder/ldpc_encoder_optim8segmulti.c - ) -add_library(ldpc_optim8segmulti MODULE ${PHY_LDPC_OPTIM8SEGMULTI_SRC} ) +add_library(ldpc_optim8segmulti MODULE + nrLDPC_decoder/nrLDPC_decoder.c + nrLDPC_encoder/ldpc_encoder_optim8segmulti.c +) set_target_properties(ldpc_optim8segmulti PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) target_link_libraries(ldpc_optim8segmulti PRIVATE ldpc_gen_HEADERS) -set(PHY_LDPC_CUDA_SRC - ${OPENAIR1_DIR}/PHY/CODING/nrLDPC_decoder_LYC/nrLDPC_decoder_LYC.cu - ${OPENAIR1_DIR}/PHY/CODING/nrLDPC_encoder/ldpc_encoder_optim8segmulti.c +add_custom_target(nrLDPC_decoder_kernels_CL + COMMAND gcc nrLDPC_decoder/nrLDPC_decoder_CL.c -dD -DNRLDPC_KERNEL_SOURCE -E -o ${CMAKE_CURRENT_BINARY_DIR}/nrLDPC_decoder_kernels_CL.clc + SOURCES nrLDPC_decoder/nrLDPC_decoder_CL.c + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ) - -set(PHY_LDPC_CL_SRC - ${OPENAIR1_DIR}/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder_CL.c - ${OPENAIR1_DIR}/PHY/CODING/nrLDPC_encoder/ldpc_encoder_optim8segmulti.c +add_library(ldpc_cl MODULE + nrLDPC_decoder/nrLDPC_decoder_CL.c + nrLDPC_encoder/ldpc_encoder_optim8segmulti.c ) -add_custom_target( nrLDPC_decoder_kernels_CL - COMMAND gcc ${OPENAIR1_DIR}/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder_CL.c -dD -DNRLDPC_KERNEL_SOURCE -E -o ${CMAKE_CURRENT_BINARY_DIR}/nrLDPC_decoder_kernels_CL.clc - SOURCES ${OPENAIR1_DIR}/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder_CL.c -) -add_library(ldpc_cl MODULE ${PHY_LDPC_CL_SRC} ) set_target_properties(ldpc_cl PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) -target_link_libraries(ldpc_cl OpenCL) +target_link_libraries(ldpc_cl PRIVATE OpenCL) add_dependencies(ldpc_cl nrLDPC_decoder_kernels_CL) ############################################## @@ -67,14 +56,17 @@ add_dependencies(ldpc_cl nrLDPC_decoder_kernels_CL) add_boolean_option(ENABLE_LDPC_CUDA OFF "Build support for CUDA" OFF) if (ENABLE_LDPC_CUDA) find_package(CUDA REQUIRED) - SET(CUDA_NVCC_FLAG "${CUDA_NVCC_FLAGS};-arch=sm_60;") - SET(CUDA_VERBOSE_BUILD ON) - cuda_add_library(ldpc_cuda MODULE ${PHY_LDPC_CUDA_SRC}) - set_target_properties(ldpc_cuda PROPERTIES CUDA_SEPARABLE_COMPILATION ON) - set_target_properties(ldpc_cuda PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) if (NOT CUDA_FOUND) message(FATAL_ERROR "no CUDA found") endif() + SET(CUDA_NVCC_FLAG "${CUDA_NVCC_FLAGS};-arch=sm_60;") + SET(CUDA_VERBOSE_BUILD ON) + cuda_add_library(ldpc_cuda MODULE + nrLDPC_decoder_LYC/nrLDPC_decoder_LYC.cu + nrLDPC_encoder/ldpc_encoder_optim8segmulti.c + ) + set_target_properties(ldpc_cuda PROPERTIES CUDA_SEPARABLE_COMPILATION ON) + set_target_properties(ldpc_cuda PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) endif() add_dependencies(ldpctest ldpc_orig ldpc_optim ldpc_optim8seg ldpc_optim8segmulti) @@ -82,13 +74,4 @@ if (ENABLE_LDPC_CUDA) add_dependencies(ldpctest ldpc_cuda) endif() -#ensure that the T header files are generated before targets depending on them -if (${T_TRACER}) - foreach(i coding ldpc_orig ldpc_optim ldpc_optim8seg ldpc_optim8segmulti ldpc_cl ldpc_cuda) - if (TARGET ${i}) - add_dependencies(${i} generate_T) - endif() - endforeach(i) -endif (${T_TRACER}) - add_subdirectory(nrLDPC_coding) diff --git a/openair1/PHY/CODING/nrLDPC_coding/nrLDPC_coding_segment/CMakeLists.txt b/openair1/PHY/CODING/nrLDPC_coding/nrLDPC_coding_segment/CMakeLists.txt index 42dcf74607..ca8ff03700 100644 --- a/openair1/PHY/CODING/nrLDPC_coding/nrLDPC_coding_segment/CMakeLists.txt +++ b/openair1/PHY/CODING/nrLDPC_coding/nrLDPC_coding_segment/CMakeLists.txt @@ -1,10 +1,8 @@ -set(PHY_NRLDPC_CODING_SEGMENT_SRC - ${OPENAIR1_DIR}/PHY/CODING/nrLDPC_coding/nrLDPC_coding_segment/nrLDPC_coding_segment_decoder.c - ${OPENAIR1_DIR}/PHY/CODING/nrLDPC_coding/nrLDPC_coding_segment/nrLDPC_coding_segment_encoder.c +add_library(ldpc MODULE + nrLDPC_coding_segment_decoder.c + nrLDPC_coding_segment_encoder.c ${PHY_NR_CODINGIF} ) - -add_library(ldpc MODULE ${PHY_NRLDPC_CODING_SEGMENT_SRC}) set_target_properties(ldpc PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) add_dependencies(nr-softmodem ldpc) @@ -14,10 +12,6 @@ add_dependencies(nr_ulschsim ldpc) add_dependencies(nr_dlsim ldpc) add_dependencies(nr_dlschsim ldpc) -if (${T_TRACER}) - add_dependencies(ldpc generate_T) -endif(${T_TRACER}) - add_dependencies(ldpc ldpc_orig ldpc_optim ldpc_optim8seg ldpc_optim8segmulti) if (ENABLE_LDPC_CUDA) add_dependencies(ldpc ldpc_cuda) diff --git a/openair1/PHY/CODING/nrLDPC_coding/nrLDPC_coding_t2/CMakeLists.txt b/openair1/PHY/CODING/nrLDPC_coding/nrLDPC_coding_t2/CMakeLists.txt index 36504ff506..5b89d36f38 100644 --- a/openair1/PHY/CODING/nrLDPC_coding/nrLDPC_coding_t2/CMakeLists.txt +++ b/openair1/PHY/CODING/nrLDPC_coding/nrLDPC_coding_t2/CMakeLists.txt @@ -15,11 +15,8 @@ if (ENABLE_LDPC_T2) endif() message(STATUS "T2 build: use ${PMD_T2}") - set(PHY_NRLDPC_CODING_T2_SRC - ${OPENAIR1_DIR}/PHY/CODING/nrLDPC_coding/nrLDPC_coding_t2/nrLDPC_coding_t2.c - ) + add_library(ldpc_t2 MODULE nrLDPC_coding_t2.c) - add_library(ldpc_t2 MODULE ${PHY_NRLDPC_CODING_T2_SRC}) set_target_properties(ldpc_t2 PROPERTIES COMPILE_FLAGS "-DALLOW_EXPERIMENTAL_API") set_target_properties(ldpc_t2 PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) target_link_libraries(ldpc_t2 PRIVATE ldpc_gen_HEADERS ${LIBDPDK_T2_LDFLAGS} ${PMD_T2}) @@ -31,8 +28,4 @@ if (ENABLE_LDPC_T2) add_dependencies(nr_dlsim ldpc_t2) add_dependencies(nr_dlschsim ldpc_t2) - if (${T_TRACER}) - add_dependencies(ldpc_t2 generate_T) - endif(${T_TRACER}) - endif() diff --git a/openair1/PHY/CODING/nrLDPC_coding/nrLDPC_coding_xdma/CMakeLists.txt b/openair1/PHY/CODING/nrLDPC_coding/nrLDPC_coding_xdma/CMakeLists.txt index 4b76a5dd94..4e7d79f6d7 100644 --- a/openair1/PHY/CODING/nrLDPC_coding/nrLDPC_coding_xdma/CMakeLists.txt +++ b/openair1/PHY/CODING/nrLDPC_coding/nrLDPC_coding_xdma/CMakeLists.txt @@ -7,14 +7,12 @@ add_boolean_option(ENABLE_LDPC_XDMA OFF "Build support for LDPC Offload to XDMA if (ENABLE_LDPC_XDMA) - set(PHY_NRLDPC_CODING_XDMA_SRC - ${OPENAIR1_DIR}/PHY/CODING/nrLDPC_coding/nrLDPC_coding_xdma/nrLDPC_coding_xdma_offload.c - ${OPENAIR1_DIR}/PHY/CODING/nrLDPC_coding/nrLDPC_coding_xdma/nrLDPC_coding_xdma.c - ${OPENAIR1_DIR}/PHY/CODING/nrLDPC_coding/nrLDPC_coding_segment/nrLDPC_coding_segment_encoder.c - ${OPENAIR1_DIR}/PHY/CODING/nrLDPC_load.c + add_library(ldpc_xdma MODULE + nrLDPC_coding_xdma_offload.c + nrLDPC_coding_xdma.c + ../nrLDPC_coding_segment/nrLDPC_coding_segment_encoder.c + ../../nrLDPC_load.c ) - - add_library(ldpc_xdma MODULE ${PHY_NRLDPC_CODING_XDMA_SRC}) set_target_properties(ldpc_xdma PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) add_dependencies(nr-softmodem ldpc_xdma) @@ -24,10 +22,6 @@ if (ENABLE_LDPC_XDMA) add_dependencies(nr_dlsim ldpc_xdma) add_dependencies(nr_dlschsim ldpc_xdma) - if (${T_TRACER}) - add_dependencies(ldpc_xdma generate_T) - endif(${T_TRACER}) - add_dependencies(ldpc_xdma ldpc_orig ldpc_optim ldpc_optim8seg ldpc_optim8segmulti) if (ENABLE_LDPC_CUDA) add_dependencies(ldpc_xdma ldpc_cuda)