Commit Graph

43099 Commits

Author SHA1 Message Date
Ilhan Ghauri
60dd8de573 feat(tstats): print PDSCH task timers in dlsim 2026-05-20 15:53:57 +02:00
Ilhan Ghauri
49517a2ae4 feat(tstats): split PDSCH task preparation timer 2026-05-20 09:23:14 +02:00
Ilhan Ghauri
6ef6a533b5 feat(tstats): add PDSCH task breakdown timers 2026-05-19 15:54:01 +02:00
Ilhan Ghauri
b4dc76139e fix(tstats): measure L1 TX split only on DL slots 2026-05-19 13:25:21 +02:00
Ilhan Ghauri
eca46d0c78 feat(tstats): split high-level L1 TX processing 2026-05-19 09:54:11 +02:00
Ilhan Ghauri
269cfb3dcc feat(tstats): print PDSCH generation sub-timers 2026-05-18 15:39:24 +02:00
Romain Beurdouche
f2cf6cf8ea feat(tstats): further timers 2026-05-15 11:36:46 +02:00
Romain Beurdouche
0af6eb7615 feat(physim): add distribution in physims 2026-05-15 11:36:44 +02:00
Romain Beurdouche
808cbf6f33 fix(time_meas): Avoid many short sorted lists in LDPC encoder/decoder 2026-05-15 11:34:23 +02:00
Romain Beurdouche
cef157005c feat(phytest): Add DL PMI setting with option -p 2026-05-15 11:34:23 +02:00
Romain Beurdouche
e0fa06868d feat(nr-softmodem): Enable option for advanced statistics
Option `-q` of the NR softmodem can now take an argument to choose the
NR L1 statistics to display:
* no `-q` show no statistics
* `-q` or `-q 1` shows the usual statistics with averaging from gNB start
* `-q 2` shows the advanced statistics with distribution with a reset every second
2026-05-15 11:34:23 +02:00
Romain Beurdouche
4be0802f1c fix(nrL1_stats): Do not start/stop/merge timers on mixed slots
When timers are started/stopped/merged on mixed slot,
the measured times are not homogeneous as the mixed slots are much
lighter than full UL/DL slots.
Then, to make the analysis of results easier,
we do not measure the mixed slots.
2026-05-15 11:34:22 +02:00
Romain Beurdouche
f8da895318 feat(nrL1_stats): Add min, d1, q1, median, q3 and d9 for nrL1_stats 2026-05-15 11:32:01 +02:00
Romain Beurdouche
5f85847d4e feat(time_meas): Use posix clock instead of cpu tick
Timers were relying on rdtsc which gives a number of ticks which should
be proportionated by the clock frequency.
But the clock frequency can vary.
Then this way of calculating time is not reliable.
This commit offers to use the posix clock monotonic raw instead.
2026-05-15 11:32:01 +02:00
Romain Beurdouche
ab502dc95d feat(time_meas): dichotomy to insert new values in sorted list
The insertion in the sorted list for computing the distribution was done
with a naive sequential search.
From this commit, it uses dichotomy instead.
2026-05-15 11:32:01 +02:00
Romain Beurdouche
bbd110f96a feat(time_meas): Add more stats
* Standard Deviation
* Optional Sorted list enabling:
  * min
  * median
  * q1
  * q3
  * d1
  * d9

The sorted list is optional.
It is enabled by initializing the sorted list which allocates the list.
The size of the list that is allocated is an argument of the initialization.
2026-05-15 11:32:01 +02:00
Romain Beurdouche
c7ec5afdda fix(nr_dlsch): time meas in TX symbol processing
* Global timers were started and stopped
  in the TX symbol processing tasks
  which is not thread safe
* gNBs nrL1_stats.log now shows
  PDSCH generation time rather than
  layer mapping and precoding times
2026-05-15 10:57:18 +02:00
Romain Beurdouche
aec761f66c feat(NR_SA_Tutorial_COTS_UE): rework real-time performance section
Rework the real-time performance section of documentation
to include explanation on the `--tx-sym` option
and on the AMD EPYC core complex behavior
2026-05-15 10:57:18 +02:00
Romain Beurdouche
c41f1f4c6b feat(nr_dlsch): option to provide the number of symbols per thread
* Add option `--tx-sym` for the softmodems and `-Y` for `nr_dlsim`
  to provide the number of symbols processed per thread.
  It defaults to 0 which makes that every symbols are processed in one thread.
* The last symbol processing task is processed in the L1 TX thread.
2026-05-15 10:57:18 +02:00
Romain Beurdouche
beeafb2c0d fix(nr_dlsch): symbol offset calculation
There was an indexing error in the calculation of the symbol offset `re_beginning_of_symbol`.
The symbol was tested to hold PTRS or DMRS based on the index of the
first symbol processed in the task and not based on the index of the
symbol as it should be.
Then PDSCH generation was not working properly for more than one symbol
per task.
2026-05-15 10:57:18 +02:00
Robert Schmidt
62853d4aab Reformat 2026-05-15 10:57:18 +02:00
Raymond Knopp
52a5ddb45d added thread-pool support for TX symbol processing
removed warnings in nr_dlsch.c and changed return of do_onelayer
2026-05-15 10:57:18 +02:00
Raymond Knopp
b5cc77b491 hotfix for 4 layer mapping on aarch64 2026-05-15 10:57:18 +02:00
panq
9d095dec9c fix for 256QAM 2026-05-05 09:34:21 +00:00
Qizhi Pan
90f985f16f fix for ulsim via cuda encoder on jetson 2026-05-05 11:27:46 +02:00
Qizhi Pan
2e6d07f3be add buffer memory management; remove an extra synchronization in cuda decoder 2026-04-28 12:40:31 +02:00
Qizhi Pan
54bd833846 add missing initialization on jetson for nr_ulsim. Bug fixed 2026-04-27 15:01:55 +02:00
panq
729fbee731 add acknowledgment 2026-03-17 10:06:02 +00:00
panq
0e4c46f349 add acknowledgment 2026-03-17 09:43:30 +00:00
panq
f388d40035 small modification 2026-03-17 09:09:09 +00:00
panq
6d44677bf9 small modification 2026-03-17 09:07:25 +00:00
panq
0d1dcabb5a small modification 2026-03-17 09:01:39 +00:00
panq
98df373237 small modification 2026-03-16 15:33:59 +00:00
panq
81a1dc1f98 small modification 2026-03-16 15:27:56 +00:00
panq
23d226765c small modification 2026-03-16 14:23:01 +00:00
panq
31b4a57b33 small modification 2026-03-16 14:22:24 +00:00
panq
8151fd3051 small modification 2026-03-16 14:21:35 +00:00
panq
79905a6ef6 modify -h option in dlsim and ulsim. First scratch for nrLDPC GPU decoder tutorial 2026-03-16 14:18:17 +00:00
panq
4b4159efdf fixing 2026-03-12 09:43:09 +00:00
panq
00f9a2965a slight change 2026-03-12 09:25:28 +00:00
panq
7c74e856ed remove legacy define 2026-03-12 09:16:17 +00:00
panq
30e5ef9184 update related work 2026-03-05 10:58:03 +00:00
panq
7eddcdca0a add related work 2026-03-04 09:22:37 +00:00
panq
95c9b98684 modify appendix naming 2026-03-03 13:47:15 +00:00
panq
5539a41878 small fix 2026-03-03 13:42:42 +00:00
panq
5364cada25 add TOC 2026-03-03 13:41:51 +00:00
panq
4623a80a7e fix link 2026-03-03 13:34:27 +00:00
panq
75b3eb9333 modify narrative 2026-03-03 13:22:42 +00:00
panq
d3757ce9ec small modification 2026-03-03 11:23:08 +00:00
panq
0d2886d7d9 add link 2026-03-03 11:21:57 +00:00