Skip to main content

GooFit fitting package

Project description

GooFit is a highly parallel fitting framework originally designed for High Energy Physics.

Installation basics

This package can be installed with pip, but uses SciKit-Build, and is build, fully optimized, on your system. Because of this, there are a few caveats when running a pip install if you use an old version of pip. When you build, you should also use pip’s -v flag, so that you can see it build (and observe the configuration options). Otherwise, you might wait a very long time without output (especially if CUDA was found).

Installation: pip

Using pip 10+:

pip install -v goofit

Using pip < 10:

pip install scikit-build # optionally cmake ninja
pip install -v goofit

GooFit will automatically look for CUDA, and build in GPU mode if it finds CUDA. You can pick a specific version by passing through a CMake option (see below), or by setting an environment variable, GOOFIT_DEVICE before building. You may want to build with OpenMP as a backend to avoid using your GPU, or you might want the CPP version if you are using Anaconda on macOS. Here are the three common backends:

GOOFIT_DEVICE=CUDA pip install -v goofit
GOOFIT_DEVICE=OMP pip install -v goofit
GOOFIT_DEVICE=CPP pip install -v goofit

The lines above use environment variables; GooFit will find any environment variables that start with GOOFIT_* and set them as CMake defines. If you want to send arbitrary commands to CMake through PIP, you will need to pass each option through, starting with a -- option. Pip will try to reuse the built version if you do not pass options, but will rebuild if you pass options, so this works for a rebuild, unlike the lines above. This is how you would do this to set OMP as the backend:

pip install -v goofit --install-option="--" --install-option="-DGOOFIT_DEVICE=OMP"
# OR
PIP_INSTALL_OPTION="-- -DGOOFIT_DEVICE=OMP" pip install -v goofit

Installation: local

If you want to add PDFs to GooFit, or use GooFit pacakges, you should be working in a local directory using git. In the following example, I’m assuming you’ve set up SSH keys with GitHub; you can use https instead if you prefer by changing the URL to https://github.com/GooFit/GooFit.git:

git clone --recursive git@github.com:GooFit/GooFit.git
cd goofit

Local pip

The normal install here works, though as usual you should include verbose output and you should be in a virtual environment (standard practice):

pip install -v .

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

goofit-2.2.3.tar.gz (5.8 MB view hashes)

Uploaded Source

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