Parallelize PUSCH channel estimation
This MR adds PUSCH channel estimation parallelization which reduces the processing time. It also adds time measurements for each antenna and makes num_antennas_per_thread configurable in nr_ulsim and the gNB config file.
Some results:
./nr_ulsim -n200 -m25 -s40 -S40 -q1 -R273 -r273 -z4 -P
273 PRBs 4 antennas Number of threads | ULSCH channel estimation time (us) develop | ULSCH channel estimation time (us) | Antenna Processing time (us) |
---|---|---|---|
0 | 194.06 | 193.17 | 134.82 |
2 | 194.88 | 154.02 | 93.43 |
4 | 195.23 | 134.27 | 72.71 |
./nr_ulsim -n200 -m25 -s40 -S40 -q1 -R273 -r273 -z8 -P
273 PRBs 8 antennas Number of threads | ULSCH channel estimation time (us) develop | ULSCH channel estimation time (us) | Antenna Processing time (us) |
---|---|---|---|
0 | 387.93 | 384.99 | 269.39 |
2 | 388.10 | 279.47 | 161.32 |
4 | 387.47 | 225.37 | 106.52 |
8 | 390.53 | 204.48 | 83.74 |
./nr_ulsim -n100 -m9 -r106 -s10 -W4 -y4 -z4 -P
106 PRBs MIMO 4 layers Number of threads | ULSCH channel estimation time (us) develop | ULSCH channel estimation time (us) | Antenna Processing time (us) |
---|---|---|---|
0 | 263.20 | 268.97 | 57.49 |
2 | 263.90 | 252.61 | 51.22 |
4 | 264.17 | 192.49 | 36.29 |
Edited by Nada Bouknana