Skip to content

An open source framework for resampling algorithms on GPUs

License

Notifications You must be signed in to change notification settings

AdelaideAuto-IDLab/Megopolis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Megopolis

Megopolis Project Code and Documentation.

Introduction

Megopolis is an open source framework for resampling algorithms on GPUs, which is an essential part to improve performance of Sequential Monte Carlo (SMC) or Particle Filtering algorithms. This repository is provided as part of the following papers :

Chesser J., Nguyen H. V., & Damith C. (2021). The Megopolis Resampler: Memory Coalesced Resampling on GPUs, which is accepted to Digital Signal Processing. See Paper.

Cite using:

@article{chesser2021,
  title={Memory Coalesced Metropolis Resampling: The Megopolis Resampler},
  author={Chesser, Joshua A. and Nguyen, Hoa Van and Ranasinghe, Damith C.},
  journal={Digital Signal Processing},
  year={2021}
}

Structure

The implementation of the GPU accelerated resampling algorithms can be found in src/resampling. This code is header only and exists in the namespace resampling. The remaining code uses the resampling algorithm implmentations for benchmarking.

Running the Benchmarks

The benchmarks rely on RapidJson for parsing the config files. Place the rapidjson/include/rapidjson header only libary into the include directory:

$ mkdir Megopolis/include
$ cp -R rapidjson/include/rapidjson Megopolis/include/rapidjson

Ensure you have the CUDA Toolkit installed. NOTE This build process has been tested with CUDA version 11.7.

Build the target directory and run the make file. NOTE For windows users, CUDA can be used on WSL2:

$ cd Megopolis
$ mkdir target
$ make

This will create two binaries target/resample_test and target/filter_bench. resample_test will run the resampling benchmarks while filter_bench will run the filtering benchmarks. To run these benchmarks, simply pass the desired config file as a parameter:

$ ./target/resample_test configs/resample_config.json
$ ./target/filter_bench configs/filter_config.json

License

This project is licensed under the MIT License - see the LICENSE.md file for details

About

An open source framework for resampling algorithms on GPUs

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published