## 6 Results
### Discussion  
In this section, we address some overall considerations on the performance of our flexible design under different contexts (i.e., sets of parameters) regarding the GPU architecture leveraged for the validation of our method. Firstly, we notice that for the functional blocks requiring monodimensional parallelization and that do not include a high number of operations (e.g., _Particle Initialization  
Figure 16: Resampling alternative methods—elapsed time. Figure 15: Resampling traditional methods—elapsed time. (Section 6.1) and _Particle Prediction_ (Section 6.2)), the \(MB1T\) parallelization is ideal for lower values of \(N_{p}\), while, for higher numbers of particles, it is preferable to limit the number of launched blocks while prioritizing a small grid maximizing the capacity of the single blocks. Secondly, in the case of those kernels that are richer in operations and that require a bi-dimensional parallelization (depending on \(Np\) and \(N_{l}\)), such as the _Mahalanobis Distance_ kernel (Section 6.3.1), the fully parallel modality is by far the most preferable under all the cases considered in the landmark-based sensitivity analysis (Figure 10b) and in most of the cases considered in the particle-based sensitivity analysis (Figure 10a). For small values on \(N_{p}\), the single-block implementation is to be preferred. This is observable because, for the particle-wise sensitivity analysis, the number of landmarks set to \(N_{l}=1024\) (textiti.e., full block occupancy) and, with the number of particles being quite low, the latency cost of launching multiple blocks at their full capacity is higher than the time gain guaranteed by the parallelization. Similar considerations can be highlighted for the _Problem Preparation_, _Branch and Bound_, _Proposal Adjustment_, and _Landmark Estimation_ kernels (Sections 6.3.2-6.4). The _Branch and Bound_ kernel had a slightly different behavior in the particle-based sensitivity analysis performed with a lower number of landmarks (Figure 12a). In this case, for lower values of \(N_{p}\), the fully parallel modality is still the preferable option. This is because blocks are not launched at the maximum of their capacity. The time gain provided by higher levels of parallelization has more impact than the latency given by the launch of the blocks. As for the resampling algorithms, discussed in Section 6.6, the \(MBNT\) configuration is to be preferred under all test cases for the traditional methods (Figure 15). In fact, although they support only particle-wise parallelization like the _Particle Prediction_ and _Particle Initialization_ kernels, they still require the computation of a collective operation, which would be carried out sequentially in the \(MB1T\) configuration, decreasing its performance even for smaller values of \(N_{p}\). On the other hand, this is not the case for the Metropolis methods (Figures 16), which show instead a similar behavior to the other two functional blocks. On the other hand, the rejection resampling algorithm (Figure 16a) shows a similar behavior as the traditional methods, where the \(MBNT\) configuration is preferable under all test cases, and the \(MB1T\) configuration is more sensitive to the increase in \(N_{p}\) in terms of processing time. This is due to the necessity of computing the maximum weight \(w_{max}\), computed via a parallel reduction in every block. It is worth remarking that, for higher numbers of particles, the \(MBNT\) configuration settles on a lower value for the traditional methods in comparison with the alternative methods. These results seem to contradict the conclusions drawn in the state-of-the-art [53]. In fact, the alternative methods should benefit more from the parallel programming due to the removal of collective operations and, in the cases of Metropolis C1 and Metropolis C2, by the access of more compact portions of the shared memory.