Skip to main content

Operators and solvers for high-performance computing.

Project description

Furax

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.

Installation of the stable packaged distribution

The GitLab repository is currently private and two pieces of information need to be specified: the URL of the repository and the credentials.

  • Create a Personal Access Token by following these instructions. For the name, choose something like read scipol and for the scopes, select read_api.

  • Edit the file ~/.netrc to store the credentials

machine gitlab.in2p3.fr
login __token__
password <your-personal-access-token>

Make sure the .netrc file are appropriately set:

chmod 600 ~/.netrc
  • Edit ~/.config/pip/pip.conf
[global]
index-url = https://gitlab.in2p3.fr/api/v4/projects/26092/packages/pypi/simple
  • After these steps are completed: you can install furax in the normal way:
pip install furax

Installation for development purposes

git clone git@github.com:CMBSciPol/furax.git
cd furax
python3 -m venv venv
source venv/bin/activate
pip install -e .[dev]

Then Install JAX according to the target architecture.

Testing

To check that the package is correctly installed:

pytest

Running on JeanZay

Load cuda and and cudnn for JAX

module load cuda/11.8.0 cudnn/8.9.7.29-cuda

Create Python env (only the first time)

module 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]

launch script

To launch only the pytests

sbatch slurms/astro-sim-v100-testing.slurm

To launch your own script

sbatch slurms/astro-sim-v100-run.slurm yourscript.py

You 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
pytest

Don't leave the bash running !! (I would suggest running script with sbatch)

Specific for nih / SciPol project

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-main

Then launch scripts as you see fit

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

furax-0.7.tar.gz (120.9 kB view details)

Uploaded Source

Built Distribution

furax-0.7-py3-none-any.whl (37.7 kB view details)

Uploaded Python 3

File details

Details for the file furax-0.7.tar.gz.

File metadata

  • Download URL: furax-0.7.tar.gz
  • Upload date:
  • Size: 120.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.6

File hashes

Hashes for furax-0.7.tar.gz
Algorithm Hash digest
SHA256 b6153b8e82aecfdc5f53e922acedf3a9ba9b347ac5880ee9caa9ec3a150eda51
MD5 5e465574be27c6ccd17bdf17361051b0
BLAKE2b-256 1eb4e2a62e01f0a39765d8639eda1d061a5a62e7e6a244cb8232ba04c5c4bf2d

See more details on using hashes here.

File details

Details for the file furax-0.7-py3-none-any.whl.

File metadata

  • Download URL: furax-0.7-py3-none-any.whl
  • Upload date:
  • Size: 37.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.6

File hashes

Hashes for furax-0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 24df3b8d6db6a1039cfc841505fd19c556c7e25f128f880153df67444c665f56
MD5 22e818b9486488e1f28c30dff34ca585
BLAKE2b-256 c0d4f85c945cc3476966e0b39e1f561e6779bbd2beb7c7f4da1c87e446e7ebd7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page