Skip to content

Conversation

@Radonirinaunimi
Copy link
Collaborator

@Radonirinaunimi Radonirinaunimi commented Oct 11, 2025

The following PR completes the non-perturbative distributions by adding supports to GTMDs (and by consequence GPDs). To ensure backward compatibility, it depends on neopdf@0.2.0 for the parsing of the v1 grids.

TODO:

  • account for $(\xi, \Delta)$ inputs when writing new grids
  • perform extensive benchmark
  • remove version specification in benchmark CI
  • test Python 3.14 on the CI
  • Extend Chebyshev interpolations to 4D and 5D

@Radonirinaunimi Radonirinaunimi added the benchmark Run crate benchmarks label Oct 22, 2025
@Radonirinaunimi Radonirinaunimi added benchmark Run crate benchmarks and removed benchmark Run crate benchmarks labels Oct 22, 2025
@github-actions
Copy link

🚀 Benchmark Results 🚀

Here are the results from the benchmark run.

xfxq2                   time:   [70.152 ns 70.213 ns 70.299 ns]
Found 9 outliers among 100 measurements (9.00%)
  1 (1.00%) low mild
  4 (4.00%) high mild
  4 (4.00%) high severe

xfxq2s                  time:   [7.2462 µs 7.3974 µs 7.5973 µs]
Found 15 outliers among 100 measurements (15.00%)
  3 (3.00%) high mild
  12 (12.00%) high severe

xfxq2_members           time:   [621.19 ps 621.26 ps 621.34 ps]
Found 5 outliers among 100 measurements (5.00%)
  2 (2.00%) high mild
  3 (3.00%) high severe

xfxq2_cheby             time:   [358.71 ns 359.21 ns 359.93 ns]
Found 7 outliers among 100 measurements (7.00%)
  2 (2.00%) high mild
  5 (5.00%) high severe

xfxq2_cheby_batch       time:   [1.9852 µs 1.9914 µs 1.9981 µs]
Found 11 outliers among 100 measurements (11.00%)
  3 (3.00%) high mild
  8 (8.00%) high severe

@Radonirinaunimi Radonirinaunimi added this to the Support for GTMDs milestone Oct 22, 2025
@Radonirinaunimi Radonirinaunimi removed the benchmark Run crate benchmarks label Oct 25, 2025
@Radonirinaunimi Radonirinaunimi added the benchmark Run crate benchmarks label Oct 31, 2025
@github-actions
Copy link

🚀 Benchmark Results 🚀

Here are the results from the benchmark run.

xfxq2                   time:   [67.222 ns 67.299 ns 67.399 ns]
Found 5 outliers among 100 measurements (5.00%)
  2 (2.00%) high mild
  3 (3.00%) high severe

xfxq2s                  time:   [6.9279 µs 6.9399 µs 6.9561 µs]
Found 5 outliers among 100 measurements (5.00%)
  1 (1.00%) high mild
  4 (4.00%) high severe

xfxq2_members           time:   [622.30 ps 623.30 ps 624.55 ps]
Found 19 outliers among 100 measurements (19.00%)
  2 (2.00%) high mild
  17 (17.00%) high severe

xfxq2_cheby             time:   [359.20 ns 359.56 ns 360.02 ns]
Found 2 outliers among 100 measurements (2.00%)
  2 (2.00%) high severe

xfxq2_cheby_batch       time:   [1.9067 µs 1.9075 µs 1.9084 µs]
Found 20 outliers among 100 measurements (20.00%)
  3 (3.00%) low severe
  9 (9.00%) low mild
  5 (5.00%) high mild
  3 (3.00%) high severe

@Radonirinaunimi
Copy link
Collaborator Author

🔴 For the record, below are the benchmark results when comparing to the published v0.2.0 release. The lines represent successively the results for: LHAPDF and its std error from 20 independent runs, NeoPDF and its errors, and NeoPDF lazy loading and its errors.

v0.2.0

1.22412658e-01 1.48847425e-01 1.79906476e-01 2.16379547e-01 2.53767252e-01 2.94069660e-01 3.45752573e-01 3.84723699e-01 4.34436393e-01 4.89436328e-01 5.48730767e-01 6.12894654e-01 6.71056783e-01 7.32639420e-01 8.06839120e-01 8.89721894e-01 9.55257416e-01 1.04066429e+00 1.12291017e+00 1.21353761e+00
5.91819711e-03 2.05359698e-03 6.74703206e-03 6.13469358e-03 9.52976941e-03 6.03407658e-03 2.17744695e-02 5.32699161e-03 7.99714272e-03 7.36533110e-03 1.62440000e-02 2.62123149e-02 1.85770153e-02 1.00926159e-02 2.36521690e-02 4.18321102e-02 1.75208639e-02 2.81730530e-02 4.87574946e-02 4.55277668e-02
2.27455974e-02 2.85081983e-02 3.41438055e-02 4.11523581e-02 4.80696559e-02 5.61252117e-02 6.47661924e-02 7.42105246e-02 8.22400331e-02 9.25506949e-02 1.04438436e-01 1.16683900e-01 1.26823902e-01 1.40516138e-01 1.53568840e-01 1.68932128e-01 1.81399608e-01 1.98159981e-01 2.09479487e-01 2.27918482e-01
1.08409808e-03 1.08327278e-03 1.47185727e-03 2.63402705e-03 1.74889511e-03 1.72490104e-03 2.16508742e-03 2.71738090e-03 1.41341305e-03 1.30355056e-03 4.26102936e-03 5.38553011e-03 2.40785481e-03 5.66968541e-03 6.40362259e-03 9.54734895e-03 5.02875413e-03 8.19747227e-03 6.34622916e-03 8.90230329e-03
2.29035139e-02 2.88414001e-02 3.39885950e-02 4.14224625e-02 4.79324102e-02 5.58046699e-02 6.49387360e-02 7.37951040e-02 8.20215344e-02 9.29939508e-02 1.03920078e-01 1.17217076e-01 1.28154147e-01 1.40011108e-01 1.53805447e-01 1.68432164e-01 1.80347013e-01 1.98138154e-01 2.10349512e-01 2.28717923e-01
1.06790306e-03 2.49483021e-03 1.17939741e-03 2.21732522e-03 1.39934183e-03 9.40654336e-04 2.01186972e-03 2.21713371e-03 1.68461511e-03 2.73742810e-03 3.91461687e-03 5.68275553e-03 7.28565226e-03 4.12549214e-03 6.23252855e-03 8.00818368e-03 5.89788155e-03 8.47353447e-03 6.47613490e-03 7.49529552e-03

This branch

1.28283429e-01 1.57513583e-01 1.92902291e-01 2.28009260e-01 2.68884981e-01 3.11628139e-01 3.59393060e-01 4.07884753e-01 4.61679459e-01 5.11878431e-01 5.82192957e-01 6.45970798e-01 7.26056695e-01 7.99928284e-01 8.57821679e-01 9.14630508e-01 1.00384942e+00 1.09247993e+00 1.16982024e+00 1.24358894e+00
5.44152361e-03 6.74491732e-03 1.01778035e-02 9.49241297e-03 1.41591208e-02 1.66791649e-02 1.95327731e-02 1.86732322e-02 1.71098345e-02 6.49831742e-03 2.92235024e-02 4.39429136e-02 6.96656659e-02 9.71882464e-02 4.90904823e-02 1.95561690e-02 3.36248410e-02 4.11634350e-02 2.63567188e-02 1.61809201e-02
2.13468194e-02 2.64604211e-02 3.22004318e-02 3.80028844e-02 4.50765491e-02 5.26622415e-02 6.01440310e-02 6.79919839e-02 7.75335431e-02 8.63683105e-02 9.78528619e-02 1.10294867e-01 1.23727870e-01 1.33425331e-01 1.42742336e-01 1.54878700e-01 1.69998980e-01 1.82758617e-01 1.97740829e-01 2.13585079e-01
8.42706323e-04 1.58413361e-03 1.44304717e-03 1.38718911e-03 2.46752541e-03 3.02907167e-03 2.84061515e-03 1.26780253e-03 3.89037382e-03 2.34524702e-03 6.78656636e-03 1.09235949e-02 1.32157031e-02 1.20914344e-02 5.48475219e-03 3.76191395e-03 8.80737377e-03 7.59369072e-03 7.88376682e-03 9.65555654e-03
2.09879518e-02 2.64562607e-02 3.19406509e-02 3.78172159e-02 4.50649261e-02 5.19535422e-02 5.95540881e-02 6.77685022e-02 7.70904779e-02 8.69264483e-02 9.75015879e-02 1.10246718e-01 1.22964239e-01 1.32735217e-01 1.42034745e-01 1.52555692e-01 1.67977059e-01 1.80411184e-01 1.96289098e-01 2.12222850e-01
8.02489742e-04 1.40882081e-03 1.52288284e-03 1.14358651e-03 2.24088075e-03 2.27890881e-03 2.78761801e-03 1.33894525e-03 3.84508596e-03 4.19677102e-03 6.46599829e-03 1.21039125e-02 1.45139099e-02 1.17542740e-02 5.16840525e-03 1.80470772e-03 6.28256366e-03 5.80048345e-03 6.01290580e-03 9.09314284e-03

@Radonirinaunimi Radonirinaunimi linked an issue Nov 4, 2025 that may be closed by this pull request
@Radonirinaunimi Radonirinaunimi merged commit 3cfc1fe into master Nov 4, 2025
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

benchmark Run crate benchmarks

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add support for Python 3.14

2 participants