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
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
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
lizhongxiao
OpenXG-RAN
Commits
dde6d61d
Commit
dde6d61d
authored
Jun 09, 2022
by
Robert Schmidt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Dynamically create LDPC decoder headers when building ldpc libs
parent
7b68c486
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
176 additions
and
30 deletions
+176
-30
cmake_targets/CMakeLists.txt
cmake_targets/CMakeLists.txt
+5
-0
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder.c
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder.c
+30
-30
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/CMakeLists.txt
...ir1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/CMakeLists.txt
+19
-0
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/generator_bnProc/CMakeLists.txt
...LDPC_decoder/nrLDPC_tools/generator_bnProc/CMakeLists.txt
+36
-0
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/generator_bnProc_avx512/CMakeLists.txt
...coder/nrLDPC_tools/generator_bnProc_avx512/CMakeLists.txt
+36
-0
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/generator_cnProc/CMakeLists.txt
...LDPC_decoder/nrLDPC_tools/generator_cnProc/CMakeLists.txt
+25
-0
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/generator_cnProc_avx512/CMakeLists.txt
...coder/nrLDPC_tools/generator_cnProc_avx512/CMakeLists.txt
+25
-0
No files found.
cmake_targets/CMakeLists.txt
View file @
dde6d61d
...
@@ -1390,8 +1390,11 @@ set(PHY_NR_CODINGIF
...
@@ -1390,8 +1390,11 @@ set(PHY_NR_CODINGIF
)
)
add_library
(
ldpc_orig MODULE
${
PHY_LDPC_ORIG_SRC
}
)
add_library
(
ldpc_orig MODULE
${
PHY_LDPC_ORIG_SRC
}
)
target_link_libraries
(
ldpc_orig PRIVATE ldpc_gen_HEADERS
)
add_library
(
ldpc_optim MODULE
${
PHY_LDPC_OPTIM_SRC
}
)
add_library
(
ldpc_optim MODULE
${
PHY_LDPC_OPTIM_SRC
}
)
target_link_libraries
(
ldpc_optim PRIVATE ldpc_gen_HEADERS
)
add_library
(
ldpc_optim8seg MODULE
${
PHY_LDPC_OPTIM8SEG_SRC
}
)
add_library
(
ldpc_optim8seg MODULE
${
PHY_LDPC_OPTIM8SEG_SRC
}
)
target_link_libraries
(
ldpc_optim8seg PRIVATE ldpc_gen_HEADERS
)
add_library
(
ldpc_cl MODULE
${
PHY_LDPC_CL_SRC
}
)
add_library
(
ldpc_cl MODULE
${
PHY_LDPC_CL_SRC
}
)
target_link_libraries
(
ldpc_cl OpenCL
)
target_link_libraries
(
ldpc_cl OpenCL
)
add_dependencies
(
ldpc_cl nrLDPC_decoder_kernels_CL
)
add_dependencies
(
ldpc_cl nrLDPC_decoder_kernels_CL
)
...
@@ -1403,6 +1406,7 @@ if (CUDA_FOUND)
...
@@ -1403,6 +1406,7 @@ if (CUDA_FOUND)
endif
(
CUDA_FOUND
)
endif
(
CUDA_FOUND
)
add_library
(
ldpc MODULE
${
PHY_LDPC_OPTIM8SEGMULTI_SRC
}
)
add_library
(
ldpc MODULE
${
PHY_LDPC_OPTIM8SEGMULTI_SRC
}
)
target_link_libraries
(
ldpc PRIVATE ldpc_gen_HEADERS
)
add_library
(
coding MODULE
${
PHY_TURBOSRC
}
)
add_library
(
coding MODULE
${
PHY_TURBOSRC
}
)
...
@@ -3160,3 +3164,4 @@ ADD_CUSTOM_TARGET(oarf
...
@@ -3160,3 +3164,4 @@ ADD_CUSTOM_TARGET(oarf
)
)
include
(
${
OPENAIR_DIR
}
/common/utils/telnetsrv/telnetsrv_CMakeLists.txt
)
include
(
${
OPENAIR_DIR
}
/common/utils/telnetsrv/telnetsrv_CMakeLists.txt
)
include
(
${
OPENAIR1_DIR
}
/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/CMakeLists.txt
)
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder.c
View file @
dde6d61d
...
@@ -42,13 +42,13 @@
...
@@ -42,13 +42,13 @@
//BG1-------------------------------------------------------------------
//BG1-------------------------------------------------------------------
#ifdef __AVX512BW__
#ifdef __AVX512BW__
#include "
nrLDPC_tools/ldpc_gen_files/
cnProc_avx512/nrLDPC_cnProc_BG1_R13_AVX512.h"
#include "cnProc_avx512/nrLDPC_cnProc_BG1_R13_AVX512.h"
#include "
nrLDPC_tools/ldpc_gen_files/
cnProc_avx512/nrLDPC_cnProc_BG1_R23_AVX512.h"
#include "cnProc_avx512/nrLDPC_cnProc_BG1_R23_AVX512.h"
#include "
nrLDPC_tools/ldpc_gen_files/
cnProc_avx512/nrLDPC_cnProc_BG1_R89_AVX512.h"
#include "cnProc_avx512/nrLDPC_cnProc_BG1_R89_AVX512.h"
//BG2-------------------------------------------------------------------
//BG2-------------------------------------------------------------------
#include "
nrLDPC_tools/ldpc_gen_files/
cnProc_avx512/nrLDPC_cnProc_BG2_R15_AVX512.h"
#include "cnProc_avx512/nrLDPC_cnProc_BG2_R15_AVX512.h"
#include "
nrLDPC_tools/ldpc_gen_files/
cnProc_avx512/nrLDPC_cnProc_BG2_R13_AVX512.h"
#include "cnProc_avx512/nrLDPC_cnProc_BG2_R13_AVX512.h"
#include "
nrLDPC_tools/ldpc_gen_files/
cnProc_avx512/nrLDPC_cnProc_BG2_R23_AVX512.h"
#include "cnProc_avx512/nrLDPC_cnProc_BG2_R23_AVX512.h"
#else
#else
...
@@ -57,13 +57,13 @@
...
@@ -57,13 +57,13 @@
/----------------------------------------------------------------------*/
/----------------------------------------------------------------------*/
//BG1------------------------------------------------------------------
//BG1------------------------------------------------------------------
#include "
nrLDPC_tools/ldpc_gen_files/
cnProc/nrLDPC_cnProc_BG1_R13_AVX2.h"
#include "cnProc/nrLDPC_cnProc_BG1_R13_AVX2.h"
#include "
nrLDPC_tools/ldpc_gen_files/
cnProc/nrLDPC_cnProc_BG1_R23_AVX2.h"
#include "cnProc/nrLDPC_cnProc_BG1_R23_AVX2.h"
#include "
nrLDPC_tools/ldpc_gen_files/
cnProc/nrLDPC_cnProc_BG1_R89_AVX2.h"
#include "cnProc/nrLDPC_cnProc_BG1_R89_AVX2.h"
//BG2 --------------------------------------------------------------------
//BG2 --------------------------------------------------------------------
#include "
nrLDPC_tools/ldpc_gen_files/
cnProc/nrLDPC_cnProc_BG2_R15_AVX2.h"
#include "cnProc/nrLDPC_cnProc_BG2_R15_AVX2.h"
#include "
nrLDPC_tools/ldpc_gen_files/
cnProc/nrLDPC_cnProc_BG2_R13_AVX2.h"
#include "cnProc/nrLDPC_cnProc_BG2_R13_AVX2.h"
#include "
nrLDPC_tools/ldpc_gen_files/
cnProc/nrLDPC_cnProc_BG2_R23_AVX2.h"
#include "cnProc/nrLDPC_cnProc_BG2_R23_AVX2.h"
#endif
#endif
...
@@ -73,34 +73,34 @@
...
@@ -73,34 +73,34 @@
//bnProcPc-------------------------------------------------------------
//bnProcPc-------------------------------------------------------------
//BG1------------------------------------------------------------------
//BG1------------------------------------------------------------------
#include "
nrLDPC_tools/ldpc_gen_files/
bnProcPc/nrLDPC_bnProcPc_BG1_R13_AVX2.h"
#include "bnProcPc/nrLDPC_bnProcPc_BG1_R13_AVX2.h"
#include "
nrLDPC_tools/ldpc_gen_files/
bnProcPc/nrLDPC_bnProcPc_BG1_R23_AVX2.h"
#include "bnProcPc/nrLDPC_bnProcPc_BG1_R23_AVX2.h"
#include "
nrLDPC_tools/ldpc_gen_files/
bnProcPc/nrLDPC_bnProcPc_BG1_R89_AVX2.h"
#include "bnProcPc/nrLDPC_bnProcPc_BG1_R89_AVX2.h"
//BG2 --------------------------------------------------------------------
//BG2 --------------------------------------------------------------------
#include "
nrLDPC_tools/ldpc_gen_files/
bnProcPc/nrLDPC_bnProcPc_BG2_R15_AVX2.h"
#include "bnProcPc/nrLDPC_bnProcPc_BG2_R15_AVX2.h"
#include "
nrLDPC_tools/ldpc_gen_files/
bnProcPc/nrLDPC_bnProcPc_BG2_R13_AVX2.h"
#include "bnProcPc/nrLDPC_bnProcPc_BG2_R13_AVX2.h"
#include "
nrLDPC_tools/ldpc_gen_files/
bnProcPc/nrLDPC_bnProcPc_BG2_R23_AVX2.h"
#include "bnProcPc/nrLDPC_bnProcPc_BG2_R23_AVX2.h"
//bnProc----------------------------------------------------------------
//bnProc----------------------------------------------------------------
#ifdef __AVX512BW__
#ifdef __AVX512BW__
//BG1-------------------------------------------------------------------
//BG1-------------------------------------------------------------------
#include "
nrLDPC_tools/ldpc_gen_files/
bnProc_avx512/nrLDPC_bnProc_BG1_R13_AVX512.h"
#include "bnProc_avx512/nrLDPC_bnProc_BG1_R13_AVX512.h"
#include "
nrLDPC_tools/ldpc_gen_files/
bnProc_avx512/nrLDPC_bnProc_BG1_R23_AVX512.h"
#include "bnProc_avx512/nrLDPC_bnProc_BG1_R23_AVX512.h"
#include "
nrLDPC_tools/ldpc_gen_files/
bnProc_avx512/nrLDPC_bnProc_BG1_R89_AVX512.h"
#include "bnProc_avx512/nrLDPC_bnProc_BG1_R89_AVX512.h"
//BG2 --------------------------------------------------------------------
//BG2 --------------------------------------------------------------------
#include "
nrLDPC_tools/ldpc_gen_files/
bnProc_avx512/nrLDPC_bnProc_BG2_R15_AVX512.h"
#include "bnProc_avx512/nrLDPC_bnProc_BG2_R15_AVX512.h"
#include "
nrLDPC_tools/ldpc_gen_files/
bnProc_avx512/nrLDPC_bnProc_BG2_R13_AVX512.h"
#include "bnProc_avx512/nrLDPC_bnProc_BG2_R13_AVX512.h"
#include "
nrLDPC_tools/ldpc_gen_files/
bnProc_avx512/nrLDPC_bnProc_BG2_R23_AVX512.h"
#include "bnProc_avx512/nrLDPC_bnProc_BG2_R23_AVX512.h"
#else
#else
#include "
nrLDPC_tools/ldpc_gen_files/
bnProc/nrLDPC_bnProc_BG1_R13_AVX2.h"
#include "bnProc/nrLDPC_bnProc_BG1_R13_AVX2.h"
#include "
nrLDPC_tools/ldpc_gen_files/
bnProc/nrLDPC_bnProc_BG1_R23_AVX2.h"
#include "bnProc/nrLDPC_bnProc_BG1_R23_AVX2.h"
#include "
nrLDPC_tools/ldpc_gen_files/
bnProc/nrLDPC_bnProc_BG1_R89_AVX2.h"
#include "bnProc/nrLDPC_bnProc_BG1_R89_AVX2.h"
//BG2 --------------------------------------------------------------------
//BG2 --------------------------------------------------------------------
#include "
nrLDPC_tools/ldpc_gen_files/
bnProc/nrLDPC_bnProc_BG2_R15_AVX2.h"
#include "bnProc/nrLDPC_bnProc_BG2_R15_AVX2.h"
#include "
nrLDPC_tools/ldpc_gen_files/
bnProc/nrLDPC_bnProc_BG2_R13_AVX2.h"
#include "bnProc/nrLDPC_bnProc_BG2_R13_AVX2.h"
#include "
nrLDPC_tools/ldpc_gen_files/
bnProc/nrLDPC_bnProc_BG2_R23_AVX2.h"
#include "bnProc/nrLDPC_bnProc_BG2_R23_AVX2.h"
#endif
#endif
...
...
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/CMakeLists.txt
0 → 100644
View file @
dde6d61d
add_subdirectory
(
${
CMAKE_CURRENT_LIST_DIR
}
/generator_bnProc ldpc/generator_bnProc
)
add_subdirectory
(
${
CMAKE_CURRENT_LIST_DIR
}
/generator_bnProc_avx512 ldpc/generator_bnProc_avx512
)
add_subdirectory
(
${
CMAKE_CURRENT_LIST_DIR
}
/generator_cnProc ldpc/generator_cnProc
)
add_subdirectory
(
${
CMAKE_CURRENT_LIST_DIR
}
/generator_cnProc_avx512 ldpc/generator_cnProc_avx512
)
# custom target to build all generators
add_custom_target
(
ldpc_generators
)
add_dependencies
(
ldpc_generators
bnProc_gen_avx2
bnProc_gen_avx512
cnProc_gen_avx2
cnProc_gen_avx512
)
add_library
(
ldpc_gen_HEADERS INTERFACE
)
target_link_libraries
(
ldpc_gen_HEADERS INTERFACE
bnProc_gen_avx2_HEADERS
bnProc_gen_avx512_HEADERS
cnProc_gen_avx2_HEADERS
cnProc_gen_avx512_HEADERS
)
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/generator_bnProc/CMakeLists.txt
0 → 100644
View file @
dde6d61d
add_executable
(
bnProc_gen_avx2
bnProc_gen_BG1_avx2.c
bnProc_gen_BG2_avx2.c
bnProcPc_gen_BG1_avx2.c
bnProcPc_gen_BG2_avx2.c
main.c
)
target_compile_options
(
bnProc_gen_avx2 PRIVATE -W -Wall -mavx2
)
#set(bnProc_headers
# bnProc/nrLDPC_bnProc_BG1_R13_AVX2.h
# bnProc/nrLDPC_bnProc_BG1_R23_AVX2.h
# bnProc/nrLDPC_bnProc_BG1_R89_AVX2.h
# bnProc/rLDPC_bnProc_BG2_R13_AVX2.h
# bnProc/rLDPC_bnProc_BG2_R15_AVX2.h
# bnProc/rLDPC_bnProc_BG2_R23_AVX2.h)
#
#set(bnProcPc_headers
# bnProcPc/rLDPC_bnProcPc_BG1_R13_AVX2.h
# bnProcPc/rLDPC_bnProcPc_BG1_R23_AVX2.h
# bnProcPc/rLDPC_bnProcPc_BG1_R89_AVX2.h
# bnProcPc/rLDPC_bnProcPc_BG2_R13_AVX2.h
# bnProcPc/rLDPC_bnProcPc_BG2_R15_AVX2.h
# bnProcPc/rLDPC_bnProcPc_BG2_R23_AVX2.h)
add_custom_command
(
TARGET bnProc_gen_avx2 POST_BUILD
#OUTPUT ${bnProc_headers} ${bnProcPc_headers}
COMMAND
${
CMAKE_COMMAND
}
-E make_directory bnProc
COMMAND
${
CMAKE_COMMAND
}
-E make_directory bnProcPc
COMMAND bnProc_gen_avx2 .
DEPENDS bnProc_gen_avx2
COMMENT
"Generating LDPC bnProc header files for AVX2"
)
add_library
(
bnProc_gen_avx2_HEADERS INTERFACE
)
target_include_directories
(
bnProc_gen_avx2_HEADERS INTERFACE
${
CMAKE_CURRENT_BINARY_DIR
}
)
add_dependencies
(
bnProc_gen_avx2_HEADERS bnProc_gen_avx2
)
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/generator_bnProc_avx512/CMakeLists.txt
0 → 100644
View file @
dde6d61d
add_executable
(
bnProc_gen_avx512
bnProc_gen_BG1_avx512.c
bnProc_gen_BG2_avx512.c
bnProcPc_gen_BG1_avx512.c
bnProcPc_gen_BG2_avx512.c
main.c
)
target_compile_options
(
bnProc_gen_avx512 PRIVATE -W -Wall -mavx2
)
#set(bnProc_avx512_headers
# bnProc_avx512/rLDPC_bnProc_BG1_R13_AVX512.h
# bnProc_avx512/rLDPC_bnProc_BG1_R23_AVX512.h
# bnProc_avx512/rLDPC_bnProc_BG1_R89_AVX512.h
# bnProc_avx512/rLDPC_bnProc_BG2_R13_AVX512.h
# bnProc_avx512/rLDPC_bnProc_BG2_R15_AVX512.h
# bnProc_avx512/rLDPC_bnProc_BG2_R23_AVX512.h)
#
#set(bnProcPc_avx512_headers
# bnProcPc_avx512/rLDPC_bnProcPc_BG1_R13_AVX512.h
# bnProcPc_avx512/rLDPC_bnProcPc_BG1_R23_AVX512.h
# bnProcPc_avx512/rLDPC_bnProcPc_BG1_R89_AVX512.h
# bnProcPc_avx512/rLDPC_bnProcPc_BG2_R13_AVX512.h
# bnProcPc_avx512/rLDPC_bnProcPc_BG2_R15_AVX512.h
# bnProcPc_avx512/rLDPC_bnProcPc_BG2_R23_AVX512.h)
add_custom_command
(
TARGET bnProc_gen_avx512 POST_BUILD
#OUTPUT ${bnProc_avx512_headers} ${bnProcPc_avx512_headers}
COMMAND
${
CMAKE_COMMAND
}
-E make_directory bnProc_avx512
COMMAND
${
CMAKE_COMMAND
}
-E make_directory bnProcPc_avx512
COMMAND bnProc_gen_avx512 .
DEPENDS bnProc_gen_avx512
COMMENT
"Generating LDPC bnProc header files for AVX512"
)
add_library
(
bnProc_gen_avx512_HEADERS INTERFACE
)
target_include_directories
(
bnProc_gen_avx512_HEADERS INTERFACE
${
CMAKE_CURRENT_BINARY_DIR
}
)
add_dependencies
(
bnProc_gen_avx512_HEADERS bnProc_gen_avx512
)
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/generator_cnProc/CMakeLists.txt
0 → 100644
View file @
dde6d61d
add_executable
(
cnProc_gen_avx2
cnProc_gen_BG1_avx2.c
cnProc_gen_BG2_avx2.c
main.c
)
target_compile_options
(
cnProc_gen_avx2 PRIVATE -W -Wall -mavx2
)
#set(cnProc_headers
# cnProc/rLDPC_cnProc_BG1_R13_AVX2.h
# cnProc/rLDPC_cnProc_BG1_R23_AVX2.h
# cnProc/rLDPC_cnProc_BG1_R89_AVX2.h
# cnProc/rLDPC_cnProc_BG2_R13_AVX2.h
# cnProc/rLDPC_cnProc_BG2_R15_AVX2.h
# cnProc/rLDPC_cnProc_BG2_R23_AVX2.h)
add_custom_command
(
TARGET cnProc_gen_avx2 POST_BUILD
#OUTPUT ${cnProc_headers}
COMMAND
${
CMAKE_COMMAND
}
-E make_directory cnProc
COMMAND cnProc_gen_avx2 .
DEPENDS cnProc_gen_avx2
COMMENT
"Generating LDPC cnProc header files for AVX2"
)
add_library
(
cnProc_gen_avx2_HEADERS INTERFACE
)
target_include_directories
(
cnProc_gen_avx2_HEADERS INTERFACE
${
CMAKE_CURRENT_BINARY_DIR
}
)
add_dependencies
(
cnProc_gen_avx2_HEADERS cnProc_gen_avx2
)
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/generator_cnProc_avx512/CMakeLists.txt
0 → 100644
View file @
dde6d61d
add_executable
(
cnProc_gen_avx512
cnProc_gen_BG1_avx512.c
cnProc_gen_BG2_avx512.c
main.c
)
target_compile_options
(
cnProc_gen_avx512 PRIVATE -W -Wall -mavx2
)
#set(cnProc_avx512_headers
# cnProc_avx512/nrLDPC_cnProc_BG1_R13_AVX512.h
# cnProc_avx512/nrLDPC_cnProc_BG1_R23_AVX512.h
# cnProc_avx512/nrLDPC_cnProc_BG1_R89_AVX512.h
# cnProc_avx512/nrLDPC_cnProc_BG2_R13_AVX512.h
# cnProc_avx512/nrLDPC_cnProc_BG2_R15_AVX512.h
# cnProc_avx512/nrLDPC_cnProc_BG2_R23_AVX512.h)
add_custom_command
(
TARGET cnProc_gen_avx512 POST_BUILD
#OUTPUT ${cnProc_avx512_headers}
COMMAND
${
CMAKE_COMMAND
}
-E make_directory cnProc_avx512
COMMAND cnProc_gen_avx512 .
DEPENDS cnProc_gen_avx512
COMMENT
"Generating LDPC cnProc header files for AVX512"
)
add_library
(
cnProc_gen_avx512_HEADERS INTERFACE
)
target_include_directories
(
cnProc_gen_avx512_HEADERS INTERFACE
${
CMAKE_CURRENT_BINARY_DIR
}
)
add_dependencies
(
cnProc_gen_avx512_HEADERS cnProc_gen_avx512
)
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