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
常顺宇
OpenXG-RAN
Commits
13752beb
Commit
13752beb
authored
May 31, 2021
by
cucengineer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
debug accelerate cuFFT2048
parent
9470c019
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
24 additions
and
22 deletions
+24
-22
common/utils/LOG/vcd_signal_dumper.c
common/utils/LOG/vcd_signal_dumper.c
+1
-0
common/utils/LOG/vcd_signal_dumper.h
common/utils/LOG/vcd_signal_dumper.h
+1
-0
common/utils/T/T_defs.h
common/utils/T/T_defs.h
+1
-1
common/utils/T/T_messages.txt
common/utils/T/T_messages.txt
+5
-0
openair1/PHY/CODING/nrLDPC_defs.h
openair1/PHY/CODING/nrLDPC_defs.h
+1
-0
openair1/PHY/CODING/nrLDPC_extern.h
openair1/PHY/CODING/nrLDPC_extern.h
+2
-2
openair1/PHY/CODING/nrLDPC_load.c
openair1/PHY/CODING/nrLDPC_load.c
+8
-8
openair1/PHY/MODULATION/slot_fep_nr.c
openair1/PHY/MODULATION/slot_fep_nr.c
+5
-11
targets/PROJECTS/GENERIC-NR-5GC/CONF/cuFFT.so
targets/PROJECTS/GENERIC-NR-5GC/CONF/cuFFT.so
+0
-0
No files found.
common/utils/LOG/vcd_signal_dumper.c
View file @
13752beb
...
...
@@ -535,6 +535,7 @@ const char* eurecomFunctionsNames[] = {
"nr_rx_pusch"
,
"nr_ulsch_procedures_rx"
,
"macxface_gNB_dlsch_ulsch_scheduler"
,
"cufft_wait"
,
/*NR ue-softmodem signal*/
"nr_ue_ulsch_encoding"
,
...
...
common/utils/LOG/vcd_signal_dumper.h
View file @
13752beb
...
...
@@ -527,6 +527,7 @@ typedef enum {
VCD_SIGNAL_DUMPER_FUNCTIONS_NR_RX_PUSCH
,
VCD_SIGNAL_DUMPER_FUNCTIONS_NR_ULSCH_PROCEDURES_RX
,
VCD_SIGNAL_DUMPER_FUNCTIONS_gNB_DLSCH_ULSCH_SCHEDULER
,
VCD_SIGNAL_DUMPER_FUNCTIONS_CUFFT_WAIT
,
/* NR ue-softmodem signal*/
VCD_SIGNAL_DUMPER_FUNCTIONS_NR_UE_ULSCH_ENCODING
,
...
...
common/utils/T/T_defs.h
View file @
13752beb
...
...
@@ -73,7 +73,7 @@ typedef struct {
}
T_cache_t
;
/* number of VCD functions (to be kept up to date! see in T_messages.txt) */
#define VCD_NUM_FUNCTIONS (27
3
)
#define VCD_NUM_FUNCTIONS (27
4
)
/* number of VCD variables (to be kept up to date! see in T_messages.txt) */
#define VCD_NUM_VARIABLES (187)
...
...
common/utils/T/T_messages.txt
View file @
13752beb
...
...
@@ -3513,6 +3513,11 @@ ID = VCD_FUNCTION_gNB_DLSCH_ULSCH_SCHEDULER
GROUP = ALL:VCD:ENB:VCD_FUNCTION
FORMAT = int,value
VCD_NAME = macxface_gNB_dlsch_ulsch_scheduler
ID = VCD_FUNCTION_CUFFT_WAIT
DESC = VCD function CUFFT_WAIT
GROUP = ALL:VCD:ENB:VCD_FUNCTION
FORMAT = int,value
VCD_NAME = cufft_wait
#function for nrUE
ID = VCD_FUNCTION_NR_UE_ULSCH_ENCODING
...
...
openair1/PHY/CODING/nrLDPC_defs.h
View file @
13752beb
...
...
@@ -57,4 +57,5 @@ typedef int(*nrLDPC_encoderfunc_t)(unsigned char **,unsigned char **,int,int,sho
*/
typedef
int32_t
(
*
nrLDPC_decoderfunc_t
)(
t_nrLDPC_dec_params
*
,
int8_t
*
,
int8_t
*
,
t_nrLDPC_procBuf
*
,
t_nrLDPC_time_stats
*
);
typedef
void
(
*
cudft_EnTx
)(
int16_t
*
,
int16_t
*
,
unsigned
char
);
typedef
void
(
*
cudft_load
)(
void
);
#endif
\ No newline at end of file
openair1/PHY/CODING/nrLDPC_extern.h
View file @
13752beb
...
...
@@ -24,7 +24,7 @@
nrLDPC_decoderfunc_t
nrLDPC_decoder
;
nrLDPC_encoderfunc_t
nrLDPC_encoder
;
cudft_EnTx
cudft2048
;
// cudft_EnTx cudft204
;
cudft_load
load_cudft
;
#else
/* functions to load the LDPC shared lib, implemented in openair1/PHY/CODING/nrLDPC_load.c */
extern
int
load_nrLDPClib
(
void
)
;
...
...
@@ -34,7 +34,7 @@ extern int load_cuFFT(void) ;
extern
nrLDPC_decoderfunc_t
nrLDPC_decoder
;
extern
nrLDPC_encoderfunc_t
nrLDPC_encoder
;
extern
cudft_EnTx
cudft2048
;
// extern cudft_EnTx cudft204
;
extern
cudft_load
load_cudft
;
// inline functions:
#include "openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_init_mem.h"
#endif
\ No newline at end of file
openair1/PHY/CODING/nrLDPC_load.c
View file @
13752beb
...
...
@@ -84,17 +84,17 @@ int load_cuFFT(void) {
//根据动态链接库操作句柄与符号,返回符号对应的地址
cudft2048
=
(
cudft_EnTx
)
dlsym
(
handle
,
"_Z9cudft2048PsS_h"
);
if
(
!
cudft2048
){
printf
(
"cuFFT.so error!
\n
"
);
printf
(
"cuFFT.so
cudft2048
error!
\n
"
);
dlclose
(
handle
);
return
-
1
;
}
// cudft204 = (cudft_EnTx) dlsym(handle, "_Z8testtestPsS_h
");
// if(!cudft204
){
// printf("cutest.so
error!\n");
//
dlclose(handle);
//
return -1;
//
}
load_cudft
=
(
cudft_load
)
dlsym
(
handle
,
"_Z10load_cuFFTv
"
);
if
(
!
load_cudft
){
printf
(
"cutest.so load_cudft
error!
\n
"
);
dlclose
(
handle
);
return
-
1
;
}
load_cudft
();
return
0
;
}
openair1/PHY/MODULATION/slot_fep_nr.c
View file @
13752beb
...
...
@@ -27,6 +27,8 @@
#include "PHY/NR_UE_ESTIMATION/nr_estimation.h"
#include <common/utils/LOG/log.h>
#include "PHY/CODING/nrLDPC_extern.h"
#include "common/utils/LOG/vcd_signal_dumper.h"
#include "common/utils/LOG/log.h"
//#define DEBUG_FEP
...
...
@@ -139,16 +141,6 @@ int nr_slot_fep(PHY_VARS_NR_UE *ue,
(
int16_t
*
)
&
common_vars
->
common_vars_rx_data_per_thread
[
proc
->
thread_id
].
rxdataF
[
aa
][
frame_parms
->
ofdm_symbol_size
*
symbol
],
1
);
static
int
cu_2048
=
1
;
if
(
cu_2048
==
1
)
{
LOG_M
(
"FFT0.m"
,
"input"
,
rxdata_ptr
,
2048
,
1
,
3
);
LOG_M
(
"FFT1.m"
,
"output"
,(
int16_t
*
)
&
common_vars
->
common_vars_rx_data_per_thread
[
proc
->
thread_id
].
rxdataF
[
aa
][
frame_parms
->
ofdm_symbol_size
*
symbol
],
2048
,
1
,
1
);
cudft2048
(
rxdata_ptr
,(
int16_t
*
)
&
common_vars
->
common_vars_rx_data_per_thread
[
proc
->
thread_id
].
rxdataF
[
aa
][
frame_parms
->
ofdm_symbol_size
*
symbol
],
1
);
LOG_M
(
"cuFFT0.m"
,
"input"
,
rxdata_ptr
,
2048
,
1
,
3
);
LOG_M
(
"cuFFT1.m"
,
"output"
,(
int16_t
*
)
&
common_vars
->
common_vars_rx_data_per_thread
[
proc
->
thread_id
].
rxdataF
[
aa
][
frame_parms
->
ofdm_symbol_size
*
symbol
],
2048
,
1
,
1
);
cu_2048
++
;
}
#if UE_TIMING_TRACE
stop_meas
(
&
ue
->
rx_dft_stats
);
#endif
...
...
@@ -339,13 +331,15 @@ int nr_slot_fep_ul(NR_DL_FRAME_PARMS *frame_parms,
}
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_CUFFT_WAIT
,
1
);
cudft2048
(
rxdata_ptr
,
(
int16_t
*
)
&
rxdataF
[
symbol
*
frame_parms
->
ofdm_symbol_size
],
1
);
0
);
// dft(dftsize,
// rxdata_ptr,
// (int16_t *)&rxdataF[symbol * frame_parms->ofdm_symbol_size],
// 1);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_CUFFT_WAIT
,
0
);
// clear DC carrier from OFDM symbols
rxdataF
[
symbol
*
frame_parms
->
ofdm_symbol_size
]
=
0
;
...
...
targets/PROJECTS/GENERIC-NR-5GC/CONF/cuFFT.so
View file @
13752beb
No preview for this file type
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