203 | | |
204 | | In `<savannah folder>/build`, use `cmake .. -D<VAR>=<OPTION>` to configure. |
205 | | |
206 | | In this section, we are going to cover to how to Savannah-mc in simulation mode. |
207 | | |
208 | | Please double check the CMake flags in {{{~/Savannah/agora-mmwave/build}}} directory. |
| 203 | * `TIME_EXCLUSIVE` should be always true to ensure the best performance by avoiding unnecessary recording. |
| 204 | * `LDPC_TYPE` allows users to select the LDPC decoder: FlexRAN (software) vs. ACC100 (hardware). |
| 205 | * `LDPC_ENQ_BULK` determines whether OFDM symbols are delayed to push into the ACC100 accelerator at the last uplink symbol for a frame. |
| 206 | * `MAT_OP_TYPE` selects the compute scheme for vectorized matrix operations. Only effective when `small_mimo_acc` is enabled in `.json` config. `AVX512` is always recommended for performance if supported. `ARMA_VEC` is the vectorized option wrapped by Armadillo, and thus is recommended when avx512 is unavailable. `ARMA_CUBE` is for research/experiment evaluation only and does not have good performance as expected. |
| 207 | * `SINGLE_THREAD` defines if Savannah merges the only worker thread and the main scheduling thread. When it is set to True, the worker thread count is limited to 1 and is merged with the main thread. When it is set to False, Savannah acts as a multi-thread model as Agora, and has a total thread count is woker threads + 1 (scheduling, main thread). |
| 208 | |
| 209 | In this section, we are going to cover to how to **Savannah-mc** in **simulation** mode. |
| 210 | |
| 211 | Please double-check the CMake flags in {{{~/Savannah/agora-mmwave/build}}} directory. |