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
promise
OpenXG-RAN
Commits
fdc1049a
Commit
fdc1049a
authored
4 years ago
by
frtabu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix phy simulators compilation, number of threads for dlsch configurable
parent
aa3317a0
develop
NRUE_usedlschparallel
NR_10MHz
NR_DLUL_PF
NR_DLUL_PF_4UL
NR_DL_MIMO
NR_FAPI_beamindex_SSB_RO
NR_FDD_FIX
NR_MAC_Multi_Rach_GlobalEdge
NR_MAC_TCI_UCI_GlobalEdge
NR_RA_cleanup
NR_SA_F1AP_RFSIMULATOR
NR_SA_F1AP_RFSIMULATOR2
NR_SA_itti_sim_wk48
NR_Wireshark
NR_scheduling_request3
benetel_driver_uldl_pf_merge
benetel_driver_update
bugfix-x2-SgNBAdditionRequest
cleanup_softmodem_main
develop-SA-RA
develop-sib1-update
develop-sib1-update-test1
develop-sib1-update-ue
integration_2021_wk02
integration_2021_wk02_wMR988
integration_2021_wk04
integration_2021_wk05
inter-RRU-final
lte-ulsch-bugfix
nasmesh_kernel_5.8
new-gtpu
nfapi_nr_develop
nr_ul_scfdma
oairu
oairu-dockerfile-support
rh_ci_ra_fr2
rh_ci_ue_parallel
ue-fixes
wireshark-T-hack-ueid
2021.w04
2021.w02
No related merge requests found
Changes
10
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
192 additions
and
296 deletions
+192
-296
cmake_targets/CMakeLists.txt
cmake_targets/CMakeLists.txt
+5
-0
common/utils/LOG/log.h
common/utils/LOG/log.h
+1
-0
executables/nr-ue.c
executables/nr-ue.c
+7
-7
executables/nr-uesoftmodem.c
executables/nr-uesoftmodem.c
+12
-20
executables/nr-uesoftmodem.h
executables/nr-uesoftmodem.h
+6
-8
openair1/PHY/NR_TRANSPORT/nr_dlsch.h
openair1/PHY/NR_TRANSPORT/nr_dlsch.h
+1
-1
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_decoding.c
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_decoding.c
+128
-242
openair1/SCHED_NR_UE/defs.h
openair1/SCHED_NR_UE/defs.h
+7
-5
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
+16
-9
openair1/SIMULATION/NR_PHY/dlsim.c
openair1/SIMULATION/NR_PHY/dlsim.c
+9
-4
No files found.
cmake_targets/CMakeLists.txt
View file @
fdc1049a
...
...
@@ -3231,6 +3231,7 @@ add_executable(nr_dlschsim
${
OPENAIR_DIR
}
/common/utils/system.c
${
OPENAIR_DIR
}
/common/utils/nr/nr_common.c
${
OPENAIR_DIR
}
/common/utils/utils.c
${
OPENAIR_DIR
}
/common/utils/threadPool/thread-pool.c
${
UTIL_SRC
}
${
T_SOURCE
}
${
SHLIB_LOADER_SOURCES
}
...
...
@@ -3245,6 +3246,7 @@ add_executable(nr_pbchsim
${
OPENAIR_DIR
}
/common/utils/system.c
${
OPENAIR_DIR
}
/common/utils/nr/nr_common.c
${
OPENAIR_DIR
}
/common/utils/utils.c
${
OPENAIR_DIR
}
/common/utils/threadPool/thread-pool.c
${
UTIL_SRC
}
${
T_SOURCE
}
${
SHLIB_LOADER_SOURCES
}
...
...
@@ -3261,6 +3263,7 @@ add_executable(nr_pucchsim
${
OPENAIR_DIR
}
/common/utils/nr/nr_common.c
${
OPENAIR_DIR
}
/common/utils/system.c
${
OPENAIR_DIR
}
/common/utils/utils.c
${
OPENAIR_DIR
}
/common/utils/threadPool/thread-pool.c
${
UTIL_SRC
}
${
T_SOURCE
}
${
SHLIB_LOADER_SOURCES
}
...
...
@@ -3279,6 +3282,7 @@ add_executable(nr_dlsim
${
OPENAIR2_DIR
}
/RRC/NAS/nas_config.c
${
OPENAIR1_DIR
}
/SIMULATION/ETH_TRANSPORT/netlink_init.c
${
NFAPI_USER_DIR
}
/nfapi.c
${
OPENAIR_DIR
}
/common/utils/threadPool/thread-pool.c
${
UTIL_SRC
}
${
T_SOURCE
}
${
SHLIB_LOADER_SOURCES
}
...
...
@@ -3298,6 +3302,7 @@ add_executable(nr_prachsim
${
OPENAIR2_DIR
}
/RRC/NAS/nas_config.c
${
OPENAIR1_DIR
}
/SIMULATION/ETH_TRANSPORT/netlink_init.c
${
NFAPI_USER_DIR
}
/nfapi.c
${
OPENAIR_DIR
}
/common/utils/threadPool/thread-pool.c
${
UTIL_SRC
}
${
T_SOURCE
}
${
SHLIB_LOADER_SOURCES
}
)
...
...
This diff is collapsed.
Click to expand it.
common/utils/LOG/log.h
View file @
fdc1049a
...
...
@@ -148,6 +148,7 @@ extern "C" {
#define DEBUG_SECURITY (1<<11)
#define DEBUG_NAS (1<<12)
#define DEBUG_RLC (1<<13)
#define DEBUG_DLSCH_DECOD (1<<14)
#define UE_TIMING (1<<20)
...
...
This diff is collapsed.
Click to expand it.
executables/nr-ue.c
View file @
fdc1049a
...
...
@@ -411,7 +411,7 @@ void processSlotRX( PHY_VARS_NR_UE *UE, UE_nr_rxtx_proc_t *proc) {
phy_procedures_slot_parallelization_nrUE_RX
(
UE
,
proc
,
0
,
0
,
1
,
UE
->
mode
,
no_relay
,
NULL
);
#else
uint64_t
a
=
rdtsc
();
phy_procedures_nrUE_RX
(
UE
,
proc
,
0
,
UE
->
mode
);
phy_procedures_nrUE_RX
(
UE
,
proc
,
0
,
UE
->
mode
,
get_nrUE_params
()
->
nr_dlsch_parallel
);
LOG_D
(
PHY
,
"phy_procedures_nrUE_RX: slot:%d, time %lu
\n
"
,
proc
->
nr_slot_rx
,
(
rdtsc
()
-
a
)
/
3500
);
//printf(">>> nr_ue_pdcch_procedures ended\n");
#endif
...
...
@@ -624,7 +624,7 @@ void *UE_thread(void *arg) {
while
(
!
oai_exit
)
{
if
(
syncRunning
)
{
notifiedFIFO_elt_t
*
res
=
tryPullTpool
(
&
nf
,
Tpool
);
notifiedFIFO_elt_t
*
res
=
tryPullTpool
(
&
nf
,
&
(
get_nrUE_params
()
->
Tpool
)
);
if
(
res
)
{
syncRunning
=
false
;
...
...
@@ -650,7 +650,7 @@ void *UE_thread(void *arg) {
syncData_t
*
syncMsg
=
(
syncData_t
*
)
NotifiedFifoData
(
Msg
);
syncMsg
->
UE
=
UE
;
memset
(
&
syncMsg
->
proc
,
0
,
sizeof
(
syncMsg
->
proc
));
pushTpool
(
Tpool
,
Msg
);
pushTpool
(
&
(
get_nrUE_params
()
->
Tpool
)
,
Msg
);
trashed_frames
=
0
;
syncRunning
=
true
;
continue
;
...
...
@@ -765,7 +765,7 @@ void *UE_thread(void *arg) {
notifiedFIFO_elt_t
*
res
;
while
(
nbSlotProcessing
>=
RX_NB_TH
)
{
res
=
pullTpool
(
&
nf
,
Tpool
);
res
=
pullTpool
(
&
nf
,
&
(
get_nrUE_params
()
->
Tpool
)
);
nbSlotProcessing
--
;
processingData_t
*
tmp
=
(
processingData_t
*
)
res
->
msgData
;
...
...
@@ -798,13 +798,13 @@ void *UE_thread(void *arg) {
nbSlotProcessing
++
;
msgToPush
->
key
=
slot_nr
;
pushTpool
(
Tpool
,
msgToPush
);
pushTpool
(
&
(
get_nrUE_params
()
->
Tpool
)
,
msgToPush
);
if
(
IS_SOFTMODEM_RFSIM
||
IS_SOFTMODEM_NOS1
)
{
//getenv("RFSIMULATOR")
// FixMe: Wait previous thread is done, because race conditions seems too bad
// in case of actual RF board, the overlap between threads mitigate the issue
// We must receive one message, that proves the slot processing is done
res
=
pullTpool
(
&
nf
,
Tpool
);
res
=
pullTpool
(
&
nf
,
&
(
get_nrUE_params
()
->
Tpool
)
);
nbSlotProcessing
--
;
processingData_t
*
tmp
=
(
processingData_t
*
)
res
->
msgData
;
...
...
@@ -860,7 +860,7 @@ void init_NR_UE_threads(int nb_inst) {
LOG_I
(
PHY
,
"Intializing UE Threads for instance %d (%p,%p)...
\n
"
,
inst
,
PHY_vars_UE_g
[
inst
],
PHY_vars_UE_g
[
inst
][
0
]);
threadCreate
(
&
threads
[
inst
],
UE_thread
,
(
void
*
)
UE
,
"UEthread"
,
-
1
,
OAI_PRIORITY_RT_MAX
);
if
(
IS_DLSCH_PARALLEL
)
if
(
get_nrUE_params
()
->
nr_dlsch_parallel
)
{
pthread_t
dlsch0_threads
;
threadCreate
(
&
dlsch0_threads
,
dlsch_thread
,
(
void
*
)
UE
,
"DLthread"
,
-
1
,
OAI_PRIORITY_RT_MAX
-
1
);
...
...
This diff is collapsed.
Click to expand it.
executables/nr-uesoftmodem.c
View file @
fdc1049a
...
...
@@ -43,6 +43,7 @@
#include "PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h"
#include "SCHED/sched_common_vars.h"
#include "PHY/MODULATION/modulation_vars.h"
#include "PHY/NR_TRANSPORT/nr_dlsch.h"
//#include "../../SIMU/USER/init_lte.h"
#include "LAYER2/MAC/mac_vars.h"
...
...
@@ -97,8 +98,8 @@ pthread_cond_t sync_cond;
pthread_mutex_t
sync_mutex
;
int
sync_var
=-
1
;
//!< protected by mutex \ref sync_mutex.
int
config_sync_var
=-
1
;
tpool_t
*
Tpool
;
tpool_t
*
Tpool_dl
;
RAN_CONTEXT_t
RC
;
volatile
int
start_eNB
=
0
;
...
...
@@ -218,11 +219,16 @@ uint64_t set_nrUE_optmask(uint64_t bitmask) {
nrUE_params_t
*
get_nrUE_params
(
void
)
{
return
&
nrUE_params
;
}
/* initialie thread pools used for NRUE processing paralleliation */
void
init_tpools
(
uint8_t
nun_dlsch_threads
)
{
initTpool
(
"-1,-1"
,
&
(
nrUE_params
.
Tpool
),
false
);
init_dlsch_tpool
(
nrUE_params
.
nr_dlsch_parallel
);
}
static
void
get_options
(
void
)
{
char
*
loopfile
=
NULL
;
int32_t
nr_dlsch_parallel
=
0
;
paramdef_t
cmdline_params
[]
=
CMDLINE_PARAMS_DESC_UE
;
config_process_cmdline
(
cmdline_params
,
sizeof
(
cmdline_params
)
/
sizeof
(
paramdef_t
),
NULL
);
paramdef_t
cmdline_uemodeparams
[]
=
CMDLINE_UEMODEPARAMS_DESC
;
...
...
@@ -249,8 +255,6 @@ static void get_options(void) {
if
((
cmdline_uemodeparams
[
CMDLINE_DUMPMEMORY_IDX
].
paramflags
&
PARAMFLAG_PARAMSET
)
!=
0
)
mode
=
rx_dump_frame
;
if
(
nr_dlsch_parallel
)
set_nrUE_optmask
(
NRUE_DLSCH_PARALLEL_BIT
);
if
(
vcdflag
>
0
)
ouput_vcd
=
1
;
...
...
@@ -261,6 +265,7 @@ static void get_options(void) {
printf
(
"%s
\n
"
,
uecap_xer
);
uecap_xer_in
=
1
;
}
/* UE with config file */
init_tpools
(
nrUE_params
.
nr_dlsch_parallel
);
}
// set PHY vars from command line
...
...
@@ -450,19 +455,6 @@ void *rrc_enb_process_msg(void *notUsed) {
return
NULL
;
}
/* initialie thread pools used for NRUE processing paralleliation */
void
init_tpools
(
void
)
{
tpool_t
pool
;
Tpool
=
&
pool
;
char
params
[]
=
"-1,-1"
;
initTpool
(
params
,
Tpool
,
false
);
if
(
IS_DLSCH_PARALLEL
)
{
tpool_t
pool_dl
;
Tpool_dl
=
&
pool_dl
;
char
params_dl
[]
=
"-1,-1,-1,-1"
;
initTpool
(
params_dl
,
Tpool_dl
,
false
);
}
}
int
main
(
int
argc
,
char
**
argv
)
{
//uint8_t beta_ACK=0,beta_RI=0,beta_CQI=2;
...
...
@@ -489,7 +481,7 @@ int main( int argc, char **argv ) {
#endif
//randominit (0);
set_taus_seed
(
0
);
init_tpools
();
cpuf
=
get_cpu_freq_GHz
();
itti_init
(
TASK_MAX
,
THREAD_MAX
,
MESSAGES_ID_MAX
,
tasks_info
,
messages_info
);
...
...
This diff is collapsed.
Click to expand it.
executables/nr-uesoftmodem.h
View file @
fdc1049a
...
...
@@ -53,17 +53,17 @@
}
#define CONFIG_HLP_DLSCH_PARA "
enable dlsch processing
parallelization"
#define CONFIG_HLP_DLSCH_PARA "
number of threads for dlsch processing 0 for no
parallelization"
/*----------------------------------------------------------------------------------------------------------------------------------------------------*/
/* command line parameters common to gNB and UE */
/* optname helpstr paramflags XXXptr defXXXval type numelt */
/*----------------------------------------------------------------------------------------------------------------------------------------------------*/
#define CMDLINE_PARAMS_DESC_UE { \
{"single-thread-disable", CONFIG_HLP_NOSNGLT, PARAMFLAG_BOOL, iptr:&single_thread_flag, defintval:1, TYPE_INT, 0}, \
{"dlsch-parallel", CONFIG_HLP_DLSCH_PARA,
PARAMFLAG_BOOL, iptr:(int32_t *)&nr_dlsch_parallel, defintval:0, TYPE_INT,
0}, \
{"dlsch-parallel", CONFIG_HLP_DLSCH_PARA,
0, iptr:(int32_t *)&nrUE_params.nr_dlsch_parallel, defintval:0, TYPE_UINT8,
0}, \
{"nr-dlsch-demod-shift", CONFIG_HLP_DLSHIFT, 0, iptr:(int32_t *)&nr_dlsch_demod_shift, defintval:0, TYPE_INT, 0}, \
{"A" , CONFIG_HLP_TADV, 0, uptr:&timing_advance, defintval:0, TYPE_UINT, 0}, \
{"E" , CONFIG_HLP_TQFS, PARAMFLAG_BOOL, i8ptr:&(openair0_cfg[0].threequarter_fs),
defintval:0, TYPE_INT8, 0}, \
{"E" , CONFIG_HLP_TQFS, PARAMFLAG_BOOL, i8ptr:&(openair0_cfg[0].threequarter_fs), defintval:0, TYPE_INT8, 0}, \
{"T" , CONFIG_HLP_TDD, PARAMFLAG_BOOL, iptr:&tddflag, defintval:0, TYPE_INT, 0}, \
{"V" , CONFIG_HLP_VCD, PARAMFLAG_BOOL, iptr:&vcdflag, defintval:0, TYPE_INT, 0}, \
{"ue-timing-correction-disable", CONFIG_HLP_DISABLETIMECORR, PARAMFLAG_BOOL, iptr:&UE_no_timing_correction, defintval:0, TYPE_INT, 0}, \
...
...
@@ -72,12 +72,11 @@
#define NRUE_DLSCH_PARALLEL_BIT (1<<0)
#define IS_DLSCH_PARALLEL ( get_nrUE_optmask() & NRUE_DLSCH_PARALLEL_BIT)
typedef
struct
{
uint64_t
optmask
;
//mask to store boolean config options
uint8_t
nr_dlsch_parallel
;
// number of threads for dlsch decoding, 0 means no parallelization
tpool_t
Tpool
;
// thread pool
}
nrUE_params_t
;
extern
uint64_t
get_nrUE_optmask
(
void
);
extern
uint64_t
set_nrUE_optmask
(
uint64_t
bitmask
);
...
...
@@ -96,6 +95,5 @@ extern void reset_opp_meas(void);
extern
void
print_opp_meas
(
void
);
void
*
UE_thread
(
void
*
arg
);
void
init_nr_ue_vars
(
PHY_VARS_NR_UE
*
ue
,
uint8_t
UE_id
,
uint8_t
abstraction_flag
);
extern
tpool_t
*
Tpool
;
extern
tpool_t
*
Tpool_dl
;
#endif
This diff is collapsed.
Click to expand it.
openair1/PHY/NR_TRANSPORT/nr_dlsch.h
View file @
fdc1049a
...
...
@@ -95,7 +95,7 @@ int nr_dlsch_encoding(PHY_VARS_gNB *gNB,
time_stats_t
*
dlsch_interleaving_stats
,
time_stats_t
*
dlsch_segmentation_stats
);
void
init_dlsch_tpool
(
uint8_t
nun_dlsch_threads
);
void
nr_emulate_dlsch_payload
(
uint8_t
*
payload
,
uint16_t
size
);
void
dump_pdsch_stats
(
PHY_VARS_gNB
*
gNB
);
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_decoding.c
View file @
fdc1049a
This diff is collapsed.
Click to expand it.
openair1/SCHED_NR_UE/defs.h
View file @
fdc1049a
...
...
@@ -110,15 +110,17 @@ int phy_procedures_RN_UE_RX(unsigned char last_slot, unsigned char next_slot, re
void
phy_procedures_nrUE_TX
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
uint8_t
eNB_id
);
/*! \brief Scheduling for UE RX procedures in normal subframes.
@param ue Pointer to UE variables on which to act
@param proc Pointer to proc information
@param gNB_id Local id of eNB on which to act
@param mode calibration/debug mode
@param ue Pointer to UE variables on which to act
@param proc Pointer to proc information
@param gNB_id Local id of eNB on which to act
@param mode calibration/debug mode
@param dlsch_parallel use multithreaded dlsch processing
*/
int
phy_procedures_nrUE_RX
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
uint8_t
gNB_id
,
runmode_t
mode
);
runmode_t
mode
,
uint8_t
dlsch_parallel
);
int
phy_procedures_slot_parallelization_nrUE_RX
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
uint8_t
eNB_id
,
uint8_t
abstraction_flag
,
uint8_t
do_pdcch_flag
,
runmode_t
mode
,
relaying_type_t
r_type
);
...
...
This diff is collapsed.
Click to expand it.
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
View file @
fdc1049a
...
...
@@ -918,7 +918,8 @@ void nr_ue_dlsch_procedures(PHY_VARS_NR_UE *ue,
NR_UE_DLSCH_t
*
dlsch0
,
NR_UE_DLSCH_t
*
dlsch1
,
int
*
dlsch_errors
,
runmode_t
mode
)
{
runmode_t
mode
,
uint8_t
dlsch_parallel
)
{
if
(
dlsch0
==
NULL
)
AssertFatal
(
0
,
"dlsch0 should be defined at this level
\n
"
);
...
...
@@ -1049,7 +1050,7 @@ void nr_ue_dlsch_procedures(PHY_VARS_NR_UE *ue,
start_meas
(
&
ue
->
dlsch_decoding_stats
[
proc
->
thread_id
]);
#endif
if
(
IS_DLSCH_PARALLEL
)
if
(
dlsch_parallel
)
{
ret
=
nr_dlsch_decoding_mthread
(
ue
,
proc
,
...
...
@@ -1135,7 +1136,7 @@ void nr_ue_dlsch_procedures(PHY_VARS_NR_UE *ue,
start_meas
(
&
ue
->
dlsch_decoding_stats
[
proc
->
thread_id
]);
#endif
if
(
IS_DLSCH_PARALLEL
)
if
(
dlsch_parallel
)
{
ret1
=
nr_dlsch_decoding_mthread
(
ue
,
proc
,
...
...
@@ -1711,8 +1712,10 @@ int is_pbch_in_slot(fapi_nr_config_request_t *config, int frame, int slot, NR_DL
int
phy_procedures_nrUE_RX
(
PHY_VARS_NR_UE
*
ue
,
UE_nr_rxtx_proc_t
*
proc
,
uint8_t
gNB_id
,
runmode_t
mode
)
{
runmode_t
mode
,
uint8_t
dlsch_parallel
)
{
int
frame_rx
=
proc
->
frame_rx
;
int
nr_slot_rx
=
proc
->
nr_slot_rx
;
int
slot_pbch
;
...
...
@@ -1920,7 +1923,8 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,
ue
->
dlsch_SI
[
gNB_id
],
NULL
,
&
ue
->
dlsch_SI_errors
[
gNB_id
],
mode
);
mode
,
dlsch_parallel
);
// deactivate dlsch once dlsch proc is done
ue
->
dlsch_SI
[
gNB_id
]
->
active
=
0
;
...
...
@@ -1945,7 +1949,8 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,
ue
->
dlsch_p
[
gNB_id
],
NULL
,
&
ue
->
dlsch_p_errors
[
gNB_id
],
mode
);
mode
,
dlsch_parallel
);
// deactivate dlsch once dlsch proc is done
ue
->
dlsch_p
[
gNB_id
]
->
active
=
0
;
...
...
@@ -1970,7 +1975,8 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,
ue
->
dlsch_ra
[
gNB_id
],
NULL
,
&
ue
->
dlsch_ra_errors
[
gNB_id
],
mode
);
mode
,
dlsch_parallel
);
// deactivate dlsch once dlsch proc is done
ue
->
dlsch_ra
[
gNB_id
]
->
active
=
0
;
...
...
@@ -1996,7 +2002,8 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,
ue
->
dlsch
[
proc
->
thread_id
][
gNB_id
][
0
],
ue
->
dlsch
[
proc
->
thread_id
][
gNB_id
][
1
],
&
ue
->
dlsch_errors
[
gNB_id
],
mode
);
mode
,
dlsch_parallel
);
#if UE_TIMING_TRACE
...
...
This diff is collapsed.
Click to expand it.
openair1/SIMULATION/NR_PHY/dlsim.c
View file @
fdc1049a
...
...
@@ -269,7 +269,7 @@ int main(int argc, char **argv)
uint16_t
ptrsSymbPerSlot
=
0
;
uint16_t
rbSize
=
106
;
uint8_t
mcsIndex
=
9
;
uint8_t
dlsch_threads
=
0
;
if
(
load_configmodule
(
argc
,
argv
,
CONFIG_ENABLECMDLINEONLY
)
==
0
)
{
exit_fun
(
"[NR_DLSIM] Error, configuration module init failed
\n
"
);
}
...
...
@@ -280,7 +280,7 @@ int main(int argc, char **argv)
FILE
*
scg_fd
=
NULL
;
while
((
c
=
getopt
(
argc
,
argv
,
"f:hA:pf:g:i:j:n:s:S:t:x:y:z:M:N:F:GR:dPIL:Ea:b:e:m:w:T:U:"
))
!=
-
1
)
{
while
((
c
=
getopt
(
argc
,
argv
,
"f:hA:pf:g:i:j:n:s:S:t:x:y:z:M:N:F:GR:dPIL:Ea:b:
d:
e:m:w:T:U:"
))
!=
-
1
)
{
switch
(
c
)
{
case
'f'
:
scg_fd
=
fopen
(
optarg
,
"r"
);
...
...
@@ -447,7 +447,9 @@ int main(int argc, char **argv)
case
'b'
:
g_rbSize
=
atoi
(
optarg
);
break
;
case
'd'
:
dlsch_threads
=
atoi
(
optarg
);
break
;
case
'e'
:
g_mcsIndex
=
atoi
(
optarg
);
break
;
...
...
@@ -512,6 +514,7 @@ int main(int argc, char **argv)
printf
(
"-U Change DMRS Config, arguments list DMRS TYPE{0=A,1=B} DMRS AddPos{0:2}, e.g. -U 2 0 2
\n
"
);
printf
(
"-P Print DLSCH performances
\n
"
);
printf
(
"-w Write txdata to binary file (one frame)
\n
"
);
printf
(
"-d number of dlsch threads, 0: no dlsch parallelization
\n
"
);
exit
(
-
1
);
break
;
}
...
...
@@ -527,6 +530,7 @@ int main(int argc, char **argv)
if
(
snr1set
==
0
)
snr1
=
snr0
+
10
;
init_dlsch_tpool
(
dlsch_threads
);
RC
.
gNB
=
(
PHY_VARS_gNB
**
)
malloc
(
sizeof
(
PHY_VARS_gNB
*
));
...
...
@@ -981,7 +985,8 @@ int main(int argc, char **argv)
phy_procedures_nrUE_RX
(
UE
,
&
UE_proc
,
0
,
normal_txrx
);
normal_txrx
,
dlsch_threads
);
//printf("dlsim round %d ends\n",round);
round
++
;
...
...
This diff is collapsed.
Click to expand it.
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