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
e516e536
Commit
e516e536
authored
Jul 19, 2018
by
tyhsu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
turbo decoder gpu
parent
7f8b393d
Changes
3
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
843 additions
and
0 deletions
+843
-0
openair1/PHY/CUDA/LTE_TRANSPORT/turbo_parm.h
openair1/PHY/CUDA/LTE_TRANSPORT/turbo_parm.h
+64
-0
openair1/PHY/CUDA/LTE_TRANSPORT/turbo_rx_gpu.cu
openair1/PHY/CUDA/LTE_TRANSPORT/turbo_rx_gpu.cu
+726
-0
openair1/PHY/CUDA/LTE_TRANSPORT/turbo_rx_gpu.h
openair1/PHY/CUDA/LTE_TRANSPORT/turbo_rx_gpu.h
+53
-0
No files found.
openair1/PHY/CUDA/LTE_TRANSPORT/turbo_parm.h
0 → 100644
View file @
e516e536
/*! \file PHY\CUDA/LTE_TRANSPORT/turbo_parm.h
* \brief turbo decoder using gpu
* \author TerngYin Hsu, JianYa Chu
* \date 2018
* \version 0.1
* \company ISIP LAB/NCTU CS
* \email: tyhsu@cs.nctu.edu.tw
* \note
* \warning
*/
#include<stdio.h>
#include<stdlib.h>
#include<cuda_runtime.h>
typedef
float
llr_t
;
typedef
struct
{
llr_t
*
sys_d
;
llr_t
*
sys1_d
;
llr_t
*
sys2_d
;
llr_t
*
ypar1_d
;
llr_t
*
ypar2_d
;
llr_t
*
ext_d
;
llr_t
*
ext2_d
;
llr_t
*
alpha_d
;
int
*
decode_tmp
;
llr_t
*
decode_ext2
;
llr_t
*
alpha_pre_1
;
llr_t
*
alpha_pre_2
;
llr_t
*
beta_pre_1
;
llr_t
*
beta_pre_2
;
unsigned
char
*
decode_h
;
unsigned
char
*
decode_d
;
}
turbo_parm_s
;
typedef
struct
{
// for excution time
cudaEvent_t
e_start
;
cudaEvent_t
e_stop
;
float
e_time
;
// for fetch time
cudaEvent_t
f_start
,
f_stop
;
float
f_time
;
// for memcpy
cudaEvent_t
m_start
,
m_stop
;
float
m_time
;
// for turbo kernel excution time
cudaEvent_t
t_start
,
t_stop
;
float
t_time
;
// for decode excution time
cudaEvent_t
d_start
,
d_stop
;
float
d_time
;
// for crc check
cudaEvent_t
s_check
[
3
];
// for algorithm & decode stream
cudaStream_t
stream
[
2
];
}
cuda_parm_s
;
turbo_parm_s
*
turbo_parm
;
cuda_parm_s
cuda_parm
;
\ No newline at end of file
openair1/PHY/CUDA/LTE_TRANSPORT/turbo_rx_gpu.cu
0 → 100644
View file @
e516e536
This diff is collapsed.
Click to expand it.
openair1/PHY/CUDA/LTE_TRANSPORT/turbo_rx_gpu.h
0 → 100644
View file @
e516e536
/*! \file PHY\CUDA/LTE_TRANSPORT/turbo_rx_gpu.h
* \brief turbo decoder using gpu
* \author TerngYin Hsu, JianYa Chu
* \date 2018
* \version 0.1
* \company ISIP LAB/NCTU CS
* \email: tyhsu@cs.nctu.edu.tw
* \note
* \warning
*/
#ifndef __TURBO_RX_GPU__H__
#define __TURBO_RX_GPU__H__
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#define CRC24_A 0
#define CRC24_B 1
#define CRC16 2
#define CRC8 3
typedef
char
Binary
;
typedef
float
llr_t
;
typedef
short
channel_t
;
#ifdef __cplusplus
extern
"C"
#endif
unsigned
char
phy_threegpplte_turbo_decoder_gpu
(
short
**
y
,
unsigned
char
**
decoded_bytes
,
unsigned
int
codeword_num
,
unsigned
short
n
,
unsigned
short
f1
,
unsigned
short
f2
,
unsigned
char
max_iterations
,
unsigned
char
crc_type
,
unsigned
char
*
f_tmp
,
unsigned
char
*
ret
);
#ifdef __cplusplus
extern
"C"
#endif
void
free_ptr
(
void
);
#ifdef __cplusplus
extern
"C"
#endif
void
init_alloc
(
void
);
#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