Julia-Tempering / Pigeons.jl

Sampling from intractable distributions, with support for distributed and parallel methods
https://pigeons.run/dev/
GNU Affero General Public License v3.0
84 stars 10 forks source link

Can I run ``k`` copies of PT easily? #188

Open astrozot opened 10 months ago

astrozot commented 10 months ago

Section 5.3 of Syed et al., 2021 mentions that it is more efficient, under certain conditions, to run k multiple copies of the PT algorithm rather than increasing N to use more chains.

I might have missed it, but I do not see in Pigeons a direct way to use multiple copies of the PT algorithm. I suppose, one could relatively easily run k copies using Threads.@threads or Distributed.pmap. However, if not implemented yet, it might be sensible to have this implemented inside Pigeons, so to use a consistent interface for the parallelism in all its forms.

nikola-sur commented 10 months ago

Hello, Thank you for your message! At the moment, this functionality is not implemented in Pigeons. However, it has been on our to-do list and I think this is a good issue to keep open. What you suggested should work as a temporary workaround.

astrozot commented 6 months ago

Hi, I just found that using Thread.@threads one would have troubles using checkpoints:

218