The next version of the premier CUDA/OpenMP fitting program for HEP analysis,
GooFit 2.0, has been released. GooFit is now easy to build on a wide
variety of Unix systems, and supports debuggers and IDEs. GooFit is faster, has
unit tests, and working examples. More PDFs and examples have been added, as
well as newly released example datasets that are downloaded automatically.
GooFit now has built in support for MPI, and can use that to deploy to multiple
graphics cards on the same machine. A new command line parser (CLI11) and
drastically improved logging and errors have made code easier to write and
debug. Usage of GooFit specific terminology is now reduced, using standard
Thrust or CUDA terms when possible, lowering the barrier for new developers. A
new Python script has been added to assist users converting from pre 2.0 code.
The file structure of GooFit and the build system have been completely revamped.
The fake nvcc
features have been removed, as have the rootstuff
copies of
ROOT classes. PDFs are now organized by type and compile and link separately.
Multiple PDF caching support has improved. The build system now uses CMake and
manages external libraries.
A new feature of the CMake build system is GooFit Packages, which are complete
packages that can be added to GooFit and built, allowing analysis code to live
in a separate location from GooFit, rather than the old method of simply forking
GooFit and adding your analysis manually. A GooFit Package can be made into an
example trivially. See this package
for an example.
GooFit 2.0 will receive continuing support while development on GooFit 2.1
presses on.
Links:
GooFit on GitHub • GooFit webpage • API documentation
[Read More]