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
9ff74080
Commit
9ff74080
authored
Dec 20, 2023
by
Eurecom
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
TASK_MANAGER_SIM
parent
e1bea49b
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
72 additions
and
28 deletions
+72
-28
common/utils/thread_pool/task_manager.h
common/utils/thread_pool/task_manager.h
+1
-1
executables/nr-gnb.c
executables/nr-gnb.c
+2
-18
executables/nr-uesoftmodem.h
executables/nr-uesoftmodem.h
+6
-2
openair1/SIMULATION/NR_PHY/dlschsim.c
openair1/SIMULATION/NR_PHY/dlschsim.c
+32
-3
openair1/SIMULATION/NR_PHY/dlsim.c
openair1/SIMULATION/NR_PHY/dlsim.c
+31
-4
No files found.
common/utils/thread_pool/task_manager.h
View file @
9ff74080
...
...
@@ -10,7 +10,7 @@
//#define TASK_MANAGER_UE
//#define TASK_MANAGER_UE_DECODING
//
#define TASK_MANAGER_SIM
#define TASK_MANAGER_SIM
#include "task.h"
...
...
executables/nr-gnb.c
View file @
9ff74080
...
...
@@ -497,9 +497,8 @@ static
int
num_threads
(
char
*
params
)
{
char
*
saveptr
,
*
curptr
;
char
*
parms_cpy
=
strdup
(
params
);
int
nbThreads
=
0
;
curptr
=
strtok_r
(
parms_cpy
,
","
,
&
saveptr
);
curptr
=
strtok_r
(
params
,
","
,
&
saveptr
);
while
(
curptr
!=
NULL
)
{
int
c
=
toupper
(
curptr
[
0
]);
...
...
@@ -509,31 +508,16 @@ int num_threads(char* params)
break
;
default:
printf
(
"create a thread for core %d
\n
"
,
atoi
(
curptr
));
int
core_id
=
atoi
(
curptr
);
//Configure the thread scheduler policy for Linux
// set the thread name for debugging
printf
(
"create a thread for core %d
\n
"
,
core_id
);
nbThreads
++
;
}
curptr
=
strtok_r
(
NULL
,
","
,
&
saveptr
);
}
free
(
parms_cpy
);
printf
(
"Num threads %d
\n
"
,
nbThreads
);
printf
(
"Num threads %d
\n
"
,
nbThreads
);
printf
(
"Num threads %d
\n
"
,
nbThreads
);
printf
(
"Num threads %d
\n
"
,
nbThreads
);
printf
(
"Num threads %d
\n
"
,
nbThreads
);
printf
(
"Num threads %d
\n
"
,
nbThreads
);
printf
(
"Num threads %d
\n
"
,
nbThreads
);
printf
(
"Num threads %d
\n
"
,
nbThreads
);
printf
(
"Num threads %d
\n
"
,
nbThreads
);
printf
(
"Num threads %d
\n
"
,
nbThreads
);
return
nbThreads
;
}
void
init_gNB_Tpool
(
int
inst
)
{
PHY_VARS_gNB
*
gNB
;
gNB
=
RC
.
gNB
[
inst
];
...
...
executables/nr-uesoftmodem.h
View file @
9ff74080
...
...
@@ -69,10 +69,14 @@ typedef struct {
uint64_t
optmask
;
//mask to store boolean config options
uint32_t
ofdm_offset_divisor
;
// Divisor for sample offset computation for each OFDM symbol
int
max_ldpc_iterations
;
// number of maximum LDPC iterations
#if defined TASK_MANAGER_UE || defined TASK_MANAGER_UE_DECODING
#if defined (TASK_MANAGER_UE) && defined (TASK_MANAGER_UE_DECODING) && defined(TASK_MANAGER_SIM)
task_manager_t
man
;
#elif !defined (TASK_MANAGER_UE) || !defined(TASK_MANAGER_UE_DECODING) || !defined(TASK_MANAGER_SIM)
task_manager_t
man
;
#endif
tpool_t
Tpool
;
// thread pool
#else
tpool_t
Tpool
;
// thread pool
#endif
int
UE_scan_carrier
;
int
UE_fo_compensation
;
int
timing_advance
;
...
...
openair1/SIMULATION/NR_PHY/dlschsim.c
View file @
9ff74080
...
...
@@ -19,6 +19,7 @@
* contact@openairinterface.org
*/
#include <ctype.h>
#include <string.h>
#include <math.h>
#include <unistd.h>
...
...
@@ -101,6 +102,35 @@ nrUE_params_t *get_nrUE_params(void) {
}
configmodule_interface_t
*
uniqCfg
=
NULL
;
static
int
num_threads
(
char
*
parms_cpy
)
{
char
*
saveptr
,
*
curptr
;
int
nbThreads
=
0
;
curptr
=
strtok_r
(
parms_cpy
,
","
,
&
saveptr
);
while
(
curptr
!=
NULL
)
{
int
c
=
toupper
(
curptr
[
0
]);
switch
(
c
)
{
case
'N'
:
//pool->activated=false;
break
;
default:
int
const
core_id
=
atoi
(
curptr
);
printf
(
"create a thread for core %d
\n
"
,
core_id
);
nbThreads
++
;
}
curptr
=
strtok_r
(
NULL
,
","
,
&
saveptr
);
}
return
nbThreads
;
}
int
main
(
int
argc
,
char
**
argv
)
{
char
c
;
...
...
@@ -375,9 +405,8 @@ int main(int argc, char **argv)
RC
.
gNB
[
0
]
=
calloc
(
1
,
sizeof
(
PHY_VARS_gNB
));
gNB
=
RC
.
gNB
[
0
];
#ifdef TASK_MANAGER_SIM
int
const
log_cores
=
get_nprocs_conf
();
assert
(
log_cores
>
0
);
init_task_manager
(
&
gNB
->
man
,
log_cores
);
int
const
n_threads
=
num_threads
(
gNBthreads
);
init_task_manager
(
&
gNB
->
man
,
n_threads
);
init_task_manager
(
&
nrUE_params
.
man
,
dlsch_threads
);
#else
initNamedTpool
(
gNBthreads
,
&
gNB
->
threadPool
,
true
,
"gNB-tpool"
);
...
...
openair1/SIMULATION/NR_PHY/dlsim.c
View file @
9ff74080
...
...
@@ -19,6 +19,7 @@
* contact@openairinterface.org
*/
#include <ctype.h>
#include <fcntl.h>
#include <math.h>
#include <string.h>
...
...
@@ -261,6 +262,34 @@ void validate_input_pmi(nr_pdsch_AntennaPorts_t pdsch_AntennaPorts, int nrOfLaye
}
static
int
num_threads
(
char
*
parms_cpy
)
{
char
*
saveptr
,
*
curptr
;
int
nbThreads
=
0
;
curptr
=
strtok_r
(
parms_cpy
,
","
,
&
saveptr
);
while
(
curptr
!=
NULL
)
{
int
c
=
toupper
(
curptr
[
0
]);
switch
(
c
)
{
case
'N'
:
//pool->activated=false;
break
;
default:
int
const
core_id
=
atoi
(
curptr
);
printf
(
"create a thread for core %d
\n
"
,
core_id
);
nbThreads
++
;
}
curptr
=
strtok_r
(
NULL
,
","
,
&
saveptr
);
}
return
nbThreads
;
}
int
NB_UE_INST
=
1
;
configmodule_interface_t
*
uniqCfg
=
NULL
;
int
main
(
int
argc
,
char
**
argv
)
...
...
@@ -916,10 +945,8 @@ int main(int argc, char **argv)
int
n_errs
=
0
;
#ifdef TASK_MANAGER_SIM
int
const
log_cores
=
get_nprocs_conf
();
assert
(
log_cores
>
0
);
// Assuming: Physical cores = Logical cores / 2
init_task_manager
(
&
gNB
->
man
,
log_cores
/
2
);
int
const
n_threads
=
num_threads
(
gNBthreads
);
init_task_manager
(
&
gNB
->
man
,
n_threads
);
#else
initNamedTpool
(
gNBthreads
,
&
gNB
->
threadPool
,
true
,
"gNB-tpool"
);
#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