Furax: a Framework for Unified and Robust data Analysis with JAX.
This framework provides building blocks for solving inverse problems, in particular in the astrophysical and cosmological domains.
You should always use a virtual environment to install packages (e.g. venv, conda environment, etc.).
Start by installing JAX for the target architecture.
Furax is available as furax on PyPI, and can be installed with:
pip install furaxClone the repository, and navigate to the root directory of the project. For example:
git clone [email protected]:CMBSciPol/furax.git
cd furaxThen, install the package with:
pip install .After cloning, install in editable mode and with development dependencies:
pip install -e .[dev]We use pytest for testing. You can run the tests with:
pytestTo ensure that your code passes the quality checks, you can use our pre-commit configuration:
- Install the pre-commit hooks with
pre-commit install- That's it! Every commit will trigger the code quality checks.
module load cuda/11.8.0 cudnn/8.9.7.29-cudamodule load python/3.10.4 && conda deactivate
python -m venv venv
source venv/bin/activate
# install jax
pip install --upgrade "jax[cuda11_local]" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html
# install furax
pip install -e .[dev]To launch only the pytests
sbatch slurms/astro-sim-v100-testing.slurmTo launch your own script
sbatch slurms/astro-sim-v100-run.slurm yourscript.pyYou can also allocate ressources and go into bash mode
srun --pty --account=nih@v100 --nodes=1 --ntasks-per-node=1 --cpus-per-task=10 --gres=gpu:1 --hint=nomultithread bash
module purge
module load python/3.10.4
source venv/bin/activate
module load cuda/11.8.0 cudnn/8.9.7.29-cuda
# Then do your thing
python my_script.py
pytestDon't leave the bash running !! (I would suggest running script with sbatch)
The repo is already in the commun WORK folder, the data is downloaded and the environment is ready.
You only need to do this
cd $ALL_CCFRWORK/furax-mainThen launch scripts as you see fit