Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feature request: gp_sampler and opt_gp_sampler #61

Open
oxinabox opened this issue Aug 5, 2024 · 4 comments
Open

feature request: gp_sampler and opt_gp_sampler #61

oxinabox opened this issue Aug 5, 2024 · 4 comments

Comments

@oxinabox
Copy link

oxinabox commented Aug 5, 2024

Target functionality

Currently Cobrexa implements 1 method for flux sampling:
ACHR.
This is set by passing the method argument to flux_sample but there is no other options provid)ed in the package other than sample_chain_achr.

There are two methods which sucessively build on ACHR:

Desired output

  • flux_sample(model, method=gp_sampler)
  • flux_sample(model, method=opt_gp_sampler)
@exaexa
Copy link
Member

exaexa commented Aug 5, 2024

Hi,
because of the general magic involved in the sampling algorithms we chose to offload this to other packages, thus the pluggable method interface.

Some GPU accelerated ones were made for cobrexa1 here https://github.com/LCSB-BioCore/CuFluxSampler.jl and I still have to finish the port to cobrexa2, should be available soon. I'll be adding one extra such package with CPU counterparts so this might fit there nicely.

(Anyway, TBH, I somehow got to the opinion that there isn't much point in implementing more complicated things than ACHR (or the faster-mixing partial-mean ACHR that we have there too), because most of the benefits of the more complex algorithms are completely outweighted on literally any GPU...)

I'll keep this open here as a reminder for later. PRs accepted (if the code is sufficiently small).

@exaexa exaexa changed the title gp_sampler and opt_gp_sampler feature request: gp_sampler and opt_gp_sampler Aug 5, 2024
@exaexa
Copy link
Member

exaexa commented Aug 5, 2024

@stelmo is it just me or (opt)gpSampler improvements are so negligible that our ACHR impl already does them? In the paper I can't detect anything that we don't do already.

@oxinabox
Copy link
Author

oxinabox commented Aug 6, 2024

Once that update/port is done, updating the docs on that page to reference that package.
It would be nice to have docs on what the API for the method argument is meant to tag.
Though not pressing

@stelmo
Copy link
Member

stelmo commented Aug 6, 2024

@stelmo is it just me or (opt)gpSampler improvements are so negligible that our ACHR impl already does them? In the paper I can't detect anything that we don't do already.

Yep, I am not sure there is much benefit in extending sampling functionality beyond what we have right now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants