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
spbro
OpenXG-RAN
Commits
8dd5346e
Commit
8dd5346e
authored
Oct 27, 2021
by
frtabu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fixes after rebase
parent
68d415fd
Changes
2
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
149 additions
and
41 deletions
+149
-41
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder_CL.c
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder_CL.c
+138
-33
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder_kernels_CL.cl
...r1/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder_kernels_CL.cl
+11
-8
No files found.
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder_CL.c
View file @
8dd5346e
This diff is collapsed.
Click to expand it.
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder_kernels_CL.cl
View file @
8dd5346e
...
@@ -45,11 +45,11 @@ typedef struct{
...
@@ -45,11 +45,11 @@ typedef struct{
//__global
char
dev_llr[68*384]
;
//__global
char
dev_llr[68*384]
;
//__global
unsigned
char
dev_tmp[68*384]
;
//__global
unsigned
char
dev_tmp[68*384]
;
__constant
h_element
h_compact1
[46*19]
=
{}
;
__constant
h_element
h_compact2
[68*30]
=
{}
;
__constant
h_element
dev_h_compact1[46*19]
=
{}
; // used in kernel 1
__constant
h_element
dev_h_compact2[68*30]
=
{}
; // used in kernel 2
//__constant
h_element
dev_h_compact1[46*19]
=
{}
; // used in kernel 1
//__constant
h_element
dev_h_compact2[68*30]
=
{}
; // used in kernel 2
//
__device__
__constantant__
h_element
dev_h_compact1[46*19]
; // used in kernel 1
//
__device__
__constantant__
h_element
dev_h_compact1[46*19]
; // used in kernel 1
//
__device__
__constantant__
h_element
dev_h_compact2[68*30]
; // used in kernel 2
//
__device__
__constantant__
h_element
dev_h_compact2[68*30]
; // used in kernel 2
...
@@ -86,7 +86,7 @@ __constant char h_ele_col_bg2_count[52] = {
...
@@ -86,7 +86,7 @@ __constant char h_ele_col_bg2_count[52] = {
//
Kernel
1
//
Kernel
1
__kernel
void
ldpc_cnp_kernel_1st_iter
(
__
local
char
*
dev_llr,
__local
char
*
dev_dt
,
int
BG,
int
row,
int
col,
int
Zc
)
__kernel
void
ldpc_cnp_kernel_1st_iter
(
__
global
char
*
dev_llr,
__global
char
*
dev_dt,
__local
h_element
*dev_h_compact1
,
int
BG,
int
row,
int
col,
int
Zc
)
{
{
//
int
iMCW
=
blockIdx.y
; // codeword id
//
int
iMCW
=
blockIdx.y
; // codeword id
//
int
iBlkRow
=
blockIdx.x
; // block row in h_base
//
int
iBlkRow
=
blockIdx.x
; // block row in h_base
...
@@ -158,7 +158,7 @@ __kernel void ldpc_cnp_kernel_1st_iter( __local char * dev_llr, __local char * d
...
@@ -158,7 +158,7 @@ __kernel void ldpc_cnp_kernel_1st_iter( __local char * dev_llr, __local char * d
}
}
// Kernel_1
// Kernel_1
__kernel void ldpc_cnp_kernel( __
local char * dev_llr, __local char * dev_dt
, int BG, int row, int col, int Zc)
__kernel void ldpc_cnp_kernel( __
global char * dev_llr, __global char * dev_dt, __local h_element *dev_h_compact1
, int BG, int row, int col, int Zc)
{
{
// if(blockIdx.x == 0 && threadIdx.x == 1) printf("cnp\n");
// if(blockIdx.x == 0 && threadIdx.x == 1) printf("cnp\n");
// int iMCW = blockIdx.y;
// int iMCW = blockIdx.y;
...
@@ -234,8 +234,11 @@ __kernel void ldpc_cnp_kernel( __local char * dev_llr, __local char * dev_dt, in
...
@@ -234,8 +234,11 @@ __kernel void ldpc_cnp_kernel( __local char * dev_llr, __local char * dev_dt, in
//
Kernel
2:
VNP
processing
//
Kernel
2:
VNP
processing
__kernel
void
__kernel
void
ldpc_vnp_kernel_normal
(
__
local
char
*
dev_llr,
__local
char
*
dev_dt,
/*
char
*
dev_const_llr,*/
int
BG,
int
row,
int
col,
int
Zc
)
ldpc_vnp_kernel_normal
(
__
global
char
*
dev_llr,
__global
char
*
dev_dt,
__global
char
*
dev_const_llr,
__local
h_element
*dev_h_compact2,
int
BG,
int
row,
int
col,
int
Zc
)
{
{
//
int
iMCW
=
blockIdx.y
;
//
int
iBlkCol
=
blockIdx.x
;
//
int
iSubCol
=
threadIdx.x
;
int
iMCW
=
get_group_id
(
1
)
;
int
iMCW
=
get_group_id
(
1
)
;
int
iBlkCol
=
get_group_id
(
0
)
;
int
iBlkCol
=
get_group_id
(
0
)
;
int
iBlkRow
;
int
iBlkRow
;
...
...
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