21-25 August 2017
University of Washington, Seattle
US/Pacific timezone

Hydra: A framework for data analysis in massively parallel platforms

24 Aug 2017, 16:00
The Commons (Alder Hall)

The Commons

Alder Hall

Poster Track 2: Data Analysis - Algorithms and Tools Poster Session


Antonio Augusto Alves Junior (University of Cincinnati (US))


Hydra is a templatized header-only, C++11-compliant library for data analysis on massively parallel platforms targeting, but not limited to, the field High Energy Physics reseach.
Hydra supports the description of particle decays via the generation of phase-space Monte Carlo, generic function evaluation, data fitting, multidimensional adaptive numerical integration and histograming.
Hydra is open source and the code is hosted in GitHub.

The library deploys a series of techniques in order to achieve optimal
performance in both computing and management of memory resources.
The overall design exploits heavily C++ variadic templates in order to implement
static polymorphism, kernel fusion and coalesced memory access patterns,
avoiding completely the usage of function pointers,
virtual methods calls and other known potential performance degrading constructs.

Hydra is developed on top of the Thrust library and runs on Linux systems and can
deploy transparently NVidia CUDA-enabled GPUs as well as multicore CPUs
and accelerators.

This contribution summarizes the main features of Hydra. A
basic description of the user interface and some examples of applications
are provided, along with measurements of performance in a variety of

Primary authors

Antonio Augusto Alves Junior (University of Cincinnati (US)) Dr Antonio Augusto Alves Junior (Univercity of Cincinnati) Michael David Sokoloff (University of Cincinnati (US))

Presentation materials

Peer reviewing