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
zzha zzha
OpenXG-RAN
Commits
956d9aa1
Commit
956d9aa1
authored
Jun 02, 2020
by
matzakos
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
added selection between AVX2 and AVX512
parent
8663ee69
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
19 additions
and
7 deletions
+19
-7
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder.c
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder.c
+19
-7
No files found.
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder.c
View file @
956d9aa1
...
@@ -44,6 +44,7 @@
...
@@ -44,6 +44,7 @@
/*********************************include files-> AVX2**********************/
/*********************************include files-> AVX2**********************/
/*----------------------------BG1-----------------------------------------*/
/*----------------------------BG1-----------------------------------------*/
#ifndef __AVX512BW__
#include "nrLDPC_tools/ldpc_gen_files/avx2/nrLDPC_cnProc_BG1_Z384_13_AVX2.c"
#include "nrLDPC_tools/ldpc_gen_files/avx2/nrLDPC_cnProc_BG1_Z384_13_AVX2.c"
#include "nrLDPC_tools/ldpc_gen_files/avx2/nrLDPC_cnProc_BG1_Z352_13_AVX2.c"
#include "nrLDPC_tools/ldpc_gen_files/avx2/nrLDPC_cnProc_BG1_Z352_13_AVX2.c"
#include "nrLDPC_tools/ldpc_gen_files/avx2/nrLDPC_cnProc_BG1_Z320_13_AVX2.c"
#include "nrLDPC_tools/ldpc_gen_files/avx2/nrLDPC_cnProc_BG1_Z320_13_AVX2.c"
...
@@ -102,6 +103,7 @@
...
@@ -102,6 +103,7 @@
/*----------------------------BG2---------------------------------------*/
/*----------------------------BG2---------------------------------------*/
#include "nrLDPC_tools/ldpc_gen_files/avx2/nrLDPC_cnProc_BG2_Z384_13_AVX2.c"
#include "nrLDPC_tools/ldpc_gen_files/avx2/nrLDPC_cnProc_BG2_Z384_13_AVX2.c"
#include "nrLDPC_tools/ldpc_gen_files/avx2/nrLDPC_cnProc_BG2_Z352_13_AVX2.c"
#include "nrLDPC_tools/ldpc_gen_files/avx2/nrLDPC_cnProc_BG2_Z352_13_AVX2.c"
#include "nrLDPC_tools/ldpc_gen_files/avx2/nrLDPC_cnProc_BG2_Z320_13_AVX2.c"
#include "nrLDPC_tools/ldpc_gen_files/avx2/nrLDPC_cnProc_BG2_Z320_13_AVX2.c"
...
@@ -158,13 +160,14 @@
...
@@ -158,13 +160,14 @@
#include "nrLDPC_tools/ldpc_gen_files/avx2/nrLDPC_cnProc_BG2_Z3_13_AVX2.c"
#include "nrLDPC_tools/ldpc_gen_files/avx2/nrLDPC_cnProc_BG2_Z3_13_AVX2.c"
#include "nrLDPC_tools/ldpc_gen_files/avx2/nrLDPC_cnProc_BG2_Z2_13_AVX2.c"
#include "nrLDPC_tools/ldpc_gen_files/avx2/nrLDPC_cnProc_BG2_Z2_13_AVX2.c"
#else
/**************************include files for -->AVX512 ******************/
/**************************include files for -->AVX512 ******************/
//test
//test
#include "nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z384_13_AVX512.c"
#include "nrLDPC_tools/ldpc_gen_files/nrLDPC_cnProc_BG1_Z384_13_AVX512.c"
#endif
/*#include "nrLDPC_tools/ldpc_gen_files/avx2/nrLDPC_cnProc_BG1_Z352_13_AVX2.c"
/*#include "nrLDPC_tools/ldpc_gen_files/avx2/nrLDPC_cnProc_BG1_Z352_13_AVX2.c"
#include "nrLDPC_tools/ldpc_gen_files/avx2/nrLDPC_cnProc_BG1_Z320_13_AVX2.c"
#include "nrLDPC_tools/ldpc_gen_files/avx2/nrLDPC_cnProc_BG1_Z320_13_AVX2.c"
...
@@ -333,8 +336,11 @@ static inline uint32_t nrLDPC_decoder_core(int8_t* p_llr, int8_t* p_out, t_nrLDP
...
@@ -333,8 +336,11 @@ static inline uint32_t nrLDPC_decoder_core(int8_t* p_llr, int8_t* p_out, t_nrLDP
{
{
case
384
:
case
384
:
{
{
//nrLDPC_cnProc_BG1_Z384_13_AVX2(p_procBuf->cnProcBuf,p_procBuf->cnProcBufRes);
#ifndef __AVX512BW__
nrLDPC_cnProc_BG1_Z384_13_AVX512
(
p_procBuf
->
cnProcBuf
,
p_procBuf
->
cnProcBufRes
);
//we test here
nrLDPC_cnProc_BG1_Z384_13_AVX2
(
p_procBuf
->
cnProcBuf
,
p_procBuf
->
cnProcBufRes
);
#else
nrLDPC_cnProc_BG1_Z384_13_AVX512
(
p_procBuf
->
cnProcBuf
,
p_procBuf
->
cnProcBufRes
);
//we test here
#endif
break
;
break
;
}
}
case
352
:
case
352
:
...
@@ -1122,8 +1128,11 @@ static inline uint32_t nrLDPC_decoder_core(int8_t* p_llr, int8_t* p_out, t_nrLDP
...
@@ -1122,8 +1128,11 @@ static inline uint32_t nrLDPC_decoder_core(int8_t* p_llr, int8_t* p_out, t_nrLDP
{
{
case
384
:
case
384
:
{
{
//nrLDPC_cnProc_BG1_Z384_13_AVX2(p_procBuf->cnProcBuf,p_procBuf->cnProcBufRes);
#ifndef __AVX512BW__
nrLDPC_cnProc_BG1_Z384_13_AVX2
(
p_procBuf
->
cnProcBuf
,
p_procBuf
->
cnProcBufRes
);
#else
nrLDPC_cnProc_BG1_Z384_13_AVX512
(
p_procBuf
->
cnProcBuf
,
p_procBuf
->
cnProcBufRes
);
//we test here
nrLDPC_cnProc_BG1_Z384_13_AVX512
(
p_procBuf
->
cnProcBuf
,
p_procBuf
->
cnProcBufRes
);
//we test here
#endif
break
;
break
;
}
}
case
352
:
case
352
:
...
@@ -1922,9 +1931,12 @@ static inline uint32_t nrLDPC_decoder_core(int8_t* p_llr, int8_t* p_out, t_nrLDP
...
@@ -1922,9 +1931,12 @@ static inline uint32_t nrLDPC_decoder_core(int8_t* p_llr, int8_t* p_out, t_nrLDP
{
{
case
384
:
case
384
:
{
{
//nrLDPC_cnProc_BG1_Z384_13_AVX2(p_procBuf->cnProcBuf,p_procBuf->cnProcBufRes);
#ifndef __AVX512BW__
nrLDPC_cnProc_BG1_Z384_13_AVX512
(
p_procBuf
->
cnProcBuf
,
p_procBuf
->
cnProcBufRes
);
//we test here
nrLDPC_cnProc_BG1_Z384_13_AVX2
(
p_procBuf
->
cnProcBuf
,
p_procBuf
->
cnProcBufRes
);
break
;
#else
nrLDPC_cnProc_BG1_Z384_13_AVX512
(
p_procBuf
->
cnProcBuf
,
p_procBuf
->
cnProcBufRes
);
//we test here
#endif
break
;
}
}
case
352
:
case
352
:
{
{
...
...
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