Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
OpenXG
OpenXG-RAN
Commits
23bfce8d
Commit
23bfce8d
authored
Nov 13, 2024
by
Romain Beurdouche
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat(nrLDPC_coding_interface): Move LDPC and Turdo coding libraries cmake lists in sub directories
parent
97614d18
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
197 additions
and
157 deletions
+197
-157
CMakeLists.txt
CMakeLists.txt
+1
-157
openair1/PHY/CMakeLists.txt
openair1/PHY/CMakeLists.txt
+1
-0
openair1/PHY/CODING/CMakeLists.txt
openair1/PHY/CODING/CMakeLists.txt
+94
-0
openair1/PHY/CODING/nrLDPC_coding/CMakeLists.txt
openair1/PHY/CODING/nrLDPC_coding/CMakeLists.txt
+3
-0
openair1/PHY/CODING/nrLDPC_coding/nrLDPC_coding_segment/CMakeLists.txt
...CODING/nrLDPC_coding/nrLDPC_coding_segment/CMakeLists.txt
+24
-0
openair1/PHY/CODING/nrLDPC_coding/nrLDPC_coding_t2/CMakeLists.txt
.../PHY/CODING/nrLDPC_coding/nrLDPC_coding_t2/CMakeLists.txt
+38
-0
openair1/PHY/CODING/nrLDPC_coding/nrLDPC_coding_xdma/CMakeLists.txt
...HY/CODING/nrLDPC_coding/nrLDPC_coding_xdma/CMakeLists.txt
+36
-0
No files found.
CMakeLists.txt
View file @
23bfce8d
...
...
@@ -485,42 +485,6 @@ target_link_libraries(params_libconfig PRIVATE config_internals ${libconfig_LIBR
add_library
(
shlib_loader OBJECT common/utils/load_module_shlib.c
)
target_link_libraries
(
shlib_loader PRIVATE CONFIG_LIB
)
##########################################################
# LDPC offload library - AMD T2 Accelerator Card
##########################################################
add_boolean_option
(
ENABLE_LDPC_T2 OFF
"Build support for LDPC Offload to T2 library"
OFF
)
if
(
ENABLE_LDPC_T2
)
pkg_check_modules
(
LIBDPDK_T2 REQUIRED libdpdk=20.11.9
)
find_library
(
PMD_T2 NAMES rte_baseband_accl_ldpc HINTS
${
LIBDPDK_T2_LIBRARY_DIRS
}
)
if
(
NOT PMD_T2
)
message
(
FATAL_ERROR
"could not find poll-mode driver for AccelerComm T2 LDPC Offload (rte_baseband_accl_ldpc.so)"
)
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
${
PHY_NRLDPC_CODING_T2_SRC
}
)
set_target_properties
(
ldpc_t2 PROPERTIES COMPILE_FLAGS
"-DALLOW_EXPERIMENTAL_API"
)
target_link_libraries
(
ldpc_t2 PRIVATE ldpc_gen_HEADERS
${
LIBDPDK_T2_LDFLAGS
}
${
PMD_T2
}
)
endif
()
##########################################################
# LDPC offload library - XDMA
##########################################################
add_boolean_option
(
ENABLE_LDPC_XDMA OFF
"Build support for LDPC Offload to XDMA library"
OFF
)
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
${
PHY_NRLDPC_CODING_XDMA_SRC
}
)
endif
()
include_directories
(
"
${
OPENAIR_DIR
}
/radio/COMMON"
)
##############################################################
...
...
@@ -786,14 +750,6 @@ include_directories(${NFAPI_USER_DIR})
# Layer 1
#############################
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
)
set
(
PHY_POLARSRC
${
OPENAIR1_DIR
}
/PHY/CODING/nrPolar_tools/nr_polar_init.c
${
OPENAIR1_DIR
}
/PHY/CODING/nrPolar_tools/nr_bitwise_operations.c
...
...
@@ -816,87 +772,16 @@ set(PHY_TURBOIF
${
OPENAIR1_DIR
}
/PHY/CODING/coding_load.c
)
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
${
PHY_LDPC_ORIG_SRC
}
)
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
}
)
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
${
PHY_LDPC_OPTIM8SEG_SRC
}
)
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
}
)
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
)
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_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
}
)
target_link_libraries
(
ldpc_cl OpenCL
)
add_dependencies
(
ldpc_cl nrLDPC_decoder_kernels_CL
)
set
(
PHY_NR_CODINGIF
${
OPENAIR1_DIR
}
/PHY/CODING/nrLDPC_load.c
)
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
${
PHY_NR_CODINGIF
}
)
set
(
PHY_NRLDPC_CODINGIF
${
OPENAIR1_DIR
}
/PHY/CODING/nrLDPC_coding/nrLDPC_coding_interface_load.c
)
##############################################
# Base CUDA setting
##############################################
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
)
if
(
NOT CUDA_FOUND
)
message
(
FATAL_ERROR
"no CUDA found"
)
endif
()
endif
()
add_library
(
coding MODULE
${
PHY_TURBOSRC
}
)
add_library
(
dfts MODULE
${
OPENAIR1_DIR
}
/PHY/TOOLS/oai_dfts.c
${
OPENAIR1_DIR
}
/PHY/TOOLS/oai_dfts_neon.c
)
add_library
(
ldpc MODULE
${
PHY_NRLDPC_CODING_SEGMENT_SRC
}
)
set
(
PHY_SRC_COMMON
${
OPENAIR1_DIR
}
/PHY/LTE_TRANSPORT/dci_tools_common.c
${
OPENAIR1_DIR
}
/PHY/LTE_TRANSPORT/lte_mcs.c
...
...
@@ -2070,16 +1955,6 @@ if(E2_AGENT)
endif
()
add_dependencies
(
nr-softmodem ldpc_orig ldpc_optim ldpc_optim8seg ldpc_optim8segmulti ldpc
)
if
(
ENABLE_LDPC_T2
)
add_dependencies
(
nr-softmodem ldpc_t2
)
endif
()
if
(
ENABLE_LDPC_XDMA
)
add_dependencies
(
nr-softmodem ldpc_xdma
)
endif
()
# force the generation of ASN.1 so that we don't need to wait during the build
target_link_libraries
(
nr-softmodem PRIVATE
asn1_lte_rrc asn1_nr_rrc asn1_s1ap asn1_ngap asn1_m2ap asn1_m3ap asn1_x2ap asn1_f1ap asn1_lpp
)
...
...
@@ -2131,20 +2006,6 @@ target_link_libraries(nr-uesoftmodem PRIVATE pthread m CONFIG_LIB rt nr_ue_phy_m
target_link_libraries
(
nr-uesoftmodem PRIVATE
${
T_LIB
}
)
target_link_libraries
(
nr-uesoftmodem PRIVATE asn1_nr_rrc_hdrs asn1_lte_rrc_hdrs
)
add_dependencies
(
nr-uesoftmodem ldpc_orig ldpc_optim ldpc_optim8seg ldpc_optim8segmulti ldpc
)
if
(
ENABLE_LDPC_CUDA
)
add_dependencies
(
nr-uesoftmodem ldpc_cuda
)
add_dependencies
(
nr-softmodem ldpc_cuda
)
endif
()
if
(
ENABLE_LDPC_T2
)
add_dependencies
(
nr-uesoftmodem ldpc_t2
)
endif
()
if
(
ENABLE_LDPC_XDMA
)
add_dependencies
(
nr-uesoftmodem ldpc_xdma
)
endif
()
# force the generation of ASN.1 so that we don't need to wait during the build
target_link_libraries
(
nr-uesoftmodem PRIVATE
asn1_lte_rrc asn1_nr_rrc asn1_s1ap asn1_ngap asn1_m2ap asn1_m3ap asn1_x2ap asn1_f1ap asn1_lpp
)
...
...
@@ -2198,11 +2059,6 @@ add_executable(ldpctest
${
PHY_NR_CODINGIF
}
${
OPENAIR1_DIR
}
/PHY/CODING/TESTBENCH/ldpctest.c
)
add_dependencies
(
ldpctest ldpc_orig ldpc_optim ldpc_optim8seg ldpc_optim8segmulti
)
if
(
ENABLE_LDPC_CUDA
)
add_dependencies
(
ldpctest ldpc_cuda
)
endif
()
target_link_libraries
(
ldpctest PRIVATE
-Wl,--start-group UTIL SIMU PHY_COMMON PHY_NR_COMMON -Wl,--end-group
m pthread dl shlib_loader
${
T_LIB
}
...
...
@@ -2299,17 +2155,6 @@ add_executable(nr_ulsim
${
PHY_INTERFACE_DIR
}
/queue_t.c
)
if
(
ENABLE_LDPC_T2
)
add_dependencies
(
nr_ulsim ldpc_t2
)
endif
()
if
(
ENABLE_LDPC_XDMA
)
add_dependencies
(
nr_ulsim ldpc_xdma
)
endif
()
if
(
ENABLE_LDPC_CUDA
)
add_dependencies
(
nr_ulsim ldpc_cuda
)
endif
()
add_dependencies
(
nr_ulsim ldpc ldpc_orig ldpc_optim ldpc_optim8seg ldpc_optim8segmulti
)
target_link_libraries
(
nr_ulsim PRIVATE
-Wl,--start-group UTIL SIMU PHY_COMMON PHY_NR_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB SCHED_NR_UE_LIB MAC_UE_NR MAC_NR_COMMON nr_rrc CONFIG_LIB L2_NR HASHTABLE x2ap SECURITY ngap -lz -Wl,--end-group
m pthread
${
T_LIB
}
ITTI dl shlib_loader nr_ue_phy_meas
...
...
@@ -2368,14 +2213,13 @@ if (${T_TRACER})
#all "add_library" definitions
ITTI lte_rrc nr_rrc s1ap x2ap m2ap m3ap f1ap
params_libconfig oai_usrpdevif oai_bladerfdevif oai_lmssdrdevif oai_iqplayer
oai_eth_transpro oai_mobipass
coding
HASHTABLE UTIL OMG_SUMO
oai_eth_transpro oai_mobipass HASHTABLE UTIL OMG_SUMO
SECURITY SCHED_LIB SCHED_NR_LIB SCHED_RU_LIB SCHED_UE_LIB SCHED_NR_UE_LIB default_sched remote_sched RAL
NFAPI_LIB NFAPI_PNF_LIB NFAPI_VNF_LIB NFAPI_USER_LIB
MISC_NFAPI_LTE_LIB MISC_NFAPI_NR_LIB
PHY_COMMON PHY PHY_UE PHY_NR PHY_NR_COMMON PHY_NR_UE PHY_RU PHY_MEX
L2 L2_LTE L2_NR L2_LTE_NR L2_UE NR_L2_UE L2_UE_LTE_NR MAC_NR_COMMON MAC_UE_NR ngap
CN_UTILS GTPV1U SCTP_CLIENT MME_APP LIB_NAS_UE NB_IoT SIMU OPENAIR0_LIB
ldpc_orig ldpc_optim ldpc_optim8seg ldpc_optim8segmulti ldpc_cl ldpc_cuda ldpc ldpc_t2 ldpc_xdma
dfts config_internals nr_common
)
if
(
TARGET
${
i
}
)
add_dependencies
(
${
i
}
generate_T
)
...
...
openair1/PHY/CMakeLists.txt
View file @
23bfce8d
add_subdirectory
(
nr_phy_common
)
add_subdirectory
(
TOOLS
)
add_subdirectory
(
NR_TRANSPORT
)
add_subdirectory
(
CODING
)
openair1/PHY/CODING/CMakeLists.txt
0 → 100644
View file @
23bfce8d
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
${
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
${
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
}
)
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
${
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
}
)
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
)
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_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
)
add_dependencies
(
ldpc_cl nrLDPC_decoder_kernels_CL
)
##############################################
# Base CUDA setting
##############################################
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
()
endif
()
add_dependencies
(
ldpctest ldpc_orig ldpc_optim ldpc_optim8seg ldpc_optim8segmulti
)
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
)
openair1/PHY/CODING/nrLDPC_coding/CMakeLists.txt
0 → 100644
View file @
23bfce8d
add_subdirectory
(
nrLDPC_coding_segment
)
add_subdirectory
(
nrLDPC_coding_xdma
)
add_subdirectory
(
nrLDPC_coding_t2
)
openair1/PHY/CODING/nrLDPC_coding/nrLDPC_coding_segment/CMakeLists.txt
0 → 100644
View file @
23bfce8d
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
${
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
)
add_dependencies
(
nr-uesoftmodem ldpc
)
add_dependencies
(
nr_ulsim ldpc
)
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
)
endif
()
openair1/PHY/CODING/nrLDPC_coding/nrLDPC_coding_t2/CMakeLists.txt
0 → 100644
View file @
23bfce8d
##########################################################
# LDPC offload library - AMD T2 Accelerator Card
##########################################################
add_boolean_option
(
ENABLE_LDPC_T2 OFF
"Build support for LDPC Offload to T2 library"
OFF
)
if
(
ENABLE_LDPC_T2
)
pkg_check_modules
(
LIBDPDK_T2 REQUIRED libdpdk=20.11.9
)
find_library
(
PMD_T2 NAMES rte_baseband_accl_ldpc HINTS
${
LIBDPDK_T2_LIBRARY_DIRS
}
)
if
(
NOT PMD_T2
)
message
(
FATAL_ERROR
"could not find poll-mode driver for AccelerComm T2 LDPC Offload (rte_baseband_accl_ldpc.so)"
)
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
${
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
}
)
add_dependencies
(
nr-softmodem ldpc_t2
)
add_dependencies
(
nr-uesoftmodem ldpc_t2
)
add_dependencies
(
nr_ulsim ldpc_t2
)
add_dependencies
(
nr_ulschsim 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
()
openair1/PHY/CODING/nrLDPC_coding/nrLDPC_coding_xdma/CMakeLists.txt
0 → 100644
View file @
23bfce8d
##########################################################
# LDPC offload library - XDMA
##########################################################
add_boolean_option
(
ENABLE_LDPC_XDMA OFF
"Build support for LDPC Offload to XDMA library"
OFF
)
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
${
PHY_NRLDPC_CODING_XDMA_SRC
}
)
set_target_properties
(
ldpc_xdma PROPERTIES LIBRARY_OUTPUT_DIRECTORY
${
CMAKE_BINARY_DIR
}
)
add_dependencies
(
nr-softmodem ldpc_xdma
)
add_dependencies
(
nr-uesoftmodem ldpc_xdma
)
add_dependencies
(
nr_ulsim ldpc_xdma
)
add_dependencies
(
nr_ulschsim 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
)
endif
()
endif
()
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment