Releases: MultithreadCorner/Hydra
CHANGE LOG
Hydra 2.4.1
- Update Thrust to version 1.9.6 (merged with variadic-tuple fork from @andrewcorrigan )
- Hydra now compliles for any version of CUDA equal or greater than 8.0. Including CUDA 10.1
hydra::Decays
have became range-idiomatic. In particular, the Unweight(...) methods now return a range representing sub-set of the stored sample in hydra::Decays.- New example: timedependent_phsp_basic
- Solved minor bugs all across the tree
FIXME
- Genz-Malik quadrature algorithm is broken. It will be fixed in the next release.
Hydra 2.3.2
Minor corrections on code and version macros.
Hydra 2.3.1
CHANGE LOG
Hydra 2.3.1
- Interfaces to FFTW and CuFFT for performing 1D real-real complex-real and real-complex FFT on CPU and GPU
- FFT based convolution on CPU and GPU for arbitrary pair of functors:
hydra::convolute
andhydra::ConvolutionFunctor
- Cubic spiline reimplementation for deal with abitrary large datasets:
hydra::spiline
andhydra::SpilineFunctor
- new examples showing how to deploy convolution in fits, spilines and FFT.
- Many bug fixes across the tree...
Hydra 2.2.1
Hydra 2.2.1 Release highlights
-
New functors and implementations (
hydra/functions
):- ArgusShape
- BifurcatedGaussian
- BlattWeisskopfFunctions
- BreitWignerLineShape
- BreitWignerNR
- Chebychev
- ChiSquare
- CosHelicityAngle
- CrystalBallShape
- DeltaDMassBackground
- Exponential
- Gaussian
- GaussianKDE
- GeneralizedGamma
- Ipatia
- JohnsonSUShape
- LogNormal
- M12PhaseSpaceLineShape
- M12SqPhaseSpaceLineShape
- PlanesDeltaAngle
- Polynomial
- ThreeBodyMassThresholdBackground
- TrapezoidalShape
- TriangularShape
- UniformShape
- WignerDMatrix
- ZemachFunctions
-
Orthogonal polynomials (
hydra/functions/Math.h
)- Chebychev of 1st and 2nd kinds
- Laguerre
- Hermite
- Legendre
- Jacobi
-
New
Parameter::Create("name")
method overload. -
Wrappers around thrust algorithms using range semantics:
- gather
- scatter
- sort
- sort_by_key
- reduce
- transform.
- See header
hydra/Algorithms.h
-
Predefined ranges:
hydra::random_gauss_range(...)
,hydra::random_exp_range(...)
,hydra::random_flat_range(...)
,hydra::range(...)
hydra::constant_range(...)
hydra::phase_space_range(...)
-
Collecting range:
hydra::collect
to reorder a range of values according to a indexing scheme. -
Introduction of
hydra::make_loglikelihood_fcn
overloads supporting range semantics. -
Introduction of
hydra::make_loglikelihood_fcn
overloads for binned datasets. -
Implementation of
hydra::begin
,hydra::end
,hydra::begin
,hydra::rend
free functions. -
Range semantics for hydra::PhaseSpace.
Many other performance and interface additions and improvements accross the tree.
Bug fixes
- Null pointer breaking build in CLING
- Fix syntax error in
multiarray::insert(...)
- Fix syntax error in
multivector::insert(...)
- Fix syntax error in
hydra::reduce
- Fix syntax error in
hydra::make_loglikelihood_fcn
overloads supporting weighted datasets.
Hydra 2.1.0
Release notes of the version v2.1.0
This is a major release of Hydra. Many new features was added and large parts of the framework have been rewritten. The main changes are summarized below.
New features:
- Monte Carlo based phase-space integrator.
- Generation of phase-space Monte Carlo weighted and unweighted samples, which can be flat or distributed following a model provided by the user.
- Sampling of multidimensional pdfs.
- Multidimensional maximum likelihood fits using binned and unbinned data sets.
- Calculation of S-Plots.
- Numerical integration of multidimensional functions using quadrature methods (Gauss-Kronrod, Genz-Malik).
- Multidimensional sparse and dense histograms for large datasets.
- New tags for host and device functions :
__hydra_host__
,__hydra_device__
,__hydra_dual__
- New symbols to specify host (HYDRA_HOST_SYSTEM) and device (HYDRA_DEVICE_SYSTEM) back-ends at compile time:
OMP
,TBB
,CPP
andCUDA
. - New tags for explicit backends:
hydra::omp::sys
,hydra::cpp::sys
,hydra::cuda::sys
,hydra::tbb::sys
. - Hydra now has its own built-in patched thrust (v1.8.3) distribution. The built-in thrust does not conflict with an user's installation, if present.
- Hydra now has its own built-in patched Eigen distribution. The built-in Eigen does not conflict with an user's installation, if present.
- New lambdas wrappers, supporting named parameters.
- New multidimensional containers:
hydra::multiarray
andhydra::multivector
. - New containers for particles and decays:
hydra::Decays
andhydra::Chains
. - Common functors (hydra/functions): Gaussian, Exponential, Breit-Wigner, etc
Hydra based scripts can now be compiled and invoked from inside ROOT for execution of algorithms in parallel using TBB and CPP backends.
Many other minor infrastructure improvements, bug fixes and features.
Documentation:
- Online Users Guide : https://hydra-documentation.readthedocs.io/en/latest/
- Twiki page: https://github.com/MultithreadCorner/Hydra/wiki
- New set of examples.
First production release
v1,0,0,0 Update THANKS.md