Skip to content

Latest commit

 

History

History
executable file
·
18 lines (11 loc) · 874 Bytes

README.md

File metadata and controls

executable file
·
18 lines (11 loc) · 874 Bytes

A C++ implementation of distributed Iterative Belief Propagation (IBP)
wrote everything from scratch (without using any pre-existing code). probably the first distributed C++ implementation of IBP on the internet.

usage: g++ -lpthread -std=c++11 node.cpp message.cpp NdArray.cpp main.cpp -o main ./main

In main.cpp, we have implemented a basic BP pipeline in which we randomly set up a network with NUM_NODES nodes and run belief propagation using NUM_THREADS threads up to NUM_ITERS iterations. The marginal probabilities from the last iteration will be saved in marginals_size_NUM_NODES_threads_NUM_THREADS.txt

You can modify the experiment setting, i.e. NUM_NODES and NUM_THREADS at the top of main.cpp AND RECOMPILE;

We have also implemented a scalability experiment and a speedup experiment which you can uncomment and run in main.cpp