Fibermc
Differentiable Monte Carlo in JAX with applications to computational geometry, differentiable simulation, and topology optimization.
Hardware accelerated: our estimators and geometric kernels can target CPUs as well as accelerators (GPU, TPU) inheriting from Jax.
Compatible with Jax transformations: fully compatible with Jax transforms like
vmap
for vectorizing/batching andjit
for just-in-time compilation.Differentiable: estimators can be used directly with
jax.grad
; we provide implementations for implicitly differentiating flexible geometries.
Installation
To install the latest release of fibermc, use the following command:
$ pip install fibermc
Alternatively, it can be installed from source with the following command:
$ python3 -m build
$ pip install dist/*.whl
Documentation:
API
Examples
Support
Note
This is a research project with minimal maintenance.
If you are having issues, file an issue on the issue tracker.
License
Fibermc is licensed under the MIT license.
Citing
If this software proves useful for you, please consider citing the associated paper that describes the underlying method in greater detail:
@article{fibermc,
title={Fiber Monte Carlo},
author={Richardson, Nick and Oktay, Deniz and Ovadia, Yaniv and Bowden, James C and Adams, Ryan P},
journal={ICLR 2024},
year={2024}
}