Abstract
Due to having many particles, the particle filter has high computational cost. Owing to many cores in its architecture, graphics processing unit (GPU) offers promising solutions. The resampling stage of the particle filter has long execution time because of interactions among the particles. As Metropolis resampling does not need collective operations on particles, it avoids the numerical instability problem and performs fast. However, reading the weights from the global memory becomes serial as the number of particles increases. This is because of non-coalesced global memory access patterns of the Metropolis resampling. We devised two variations of Metropolis, namely, Metropolis-C1 and Metropolis-C2, in our previous work to ameliorate this problem. In these techniques, we ensure that the threads in a warp access the same segments of the global memory. We gain up to 9.7x speed up with Metropolis-C1 and up to 5.5x speed up with Metropolis-C2. Moreover, the quality (root mean square error) results of Metropolis-C1 and Metropolis-C2 on a highly non-linear equation are similar to those of Metropolis. In this study, we investigate the impact of non-coalesced global memory access patterns on the speed of the Metropolis resampling by using the CUDA profiler. We show that the number of global memory load transactions reduces with Metropolis-C1 and Metropolis-C2 leading to shorter execution time of the resampling stage.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.