The internal framework implementation allows to easily parallelize the generation and pricing of LIBOR rates matrices by modifying the UN parameter. Each unrolled implementation contains a RNG sequence generator for \(F\) uncorrelated factors, a LMM path generator and a copy of the chosen path pricer. Since the calibration data (\(\eta,\bar{\rho},\sigma\)) is computed once and then read only, each MonteCarlo module also contains a copy of the accessed elements of those matrices.
The path generator computes a set of LIBOR rates, which are of the form of a lower triangular matrix, with the following process:
Each LIBOR rates path matrix is fed via an HLS stream into the path pricer in a stridden pattern: First the \(L_0\) column, from \(T_0\) to \(T_n\). Then the \(L_1\) column and so on.
It is responsibility of the path pricer to compute the option price and to consume the all the data fed from the path generator.
The full implementation of the LIBOR Market Model framework has the following architecture: