-
Notifications
You must be signed in to change notification settings - Fork 366
gsoc 26: add nnpdf-eko proposal #1824
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
+111
−0
Merged
Changes from 3 commits
Commits
Show all changes
10 commits
Select commit
Hold shift + click to select a range
b0c6a54
add eko rust proposal
scarlehoff e22bae6
Iterate EKO proposal
felixhekhorn d53a116
Fix small typos for JYU
felixhekhorn 2153a7f
Change org, fix NNPDF link
felixhekhorn 78e360a
Fix orgs
felixhekhorn 552e431
Update _gsocproposals/2026/proposal_NNPDF_ekorust.md
felixhekhorn 53b915b
Use JYU as abbrev
felixhekhorn 8cae99a
change uofsevilla to us
scarlehoff bd420d0
move also the file
scarlehoff 9de1e18
Update _gsocproposals/2026/proposal_NNPDF_ekorust.md
felixhekhorn File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| --- | ||
| title: "Jyväskylän yliopisto" | ||
| author: "Felix Hekhorn" | ||
| layout: default | ||
| organization: UofJyvaskyla | ||
| logo: JYU-logo.png | ||
| description: | | ||
| The [University of Jyväskylä](https://www.jyu.fi/) is a public Finnish university based in Jyväskylä in central Finland | ||
| --- | ||
|
|
||
| {% include gsoc_proposal.ext %} | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,11 @@ | ||||||
| --- | ||||||
| title: "Universidad de Sevilla" | ||||||
| author: "Juan M. Cruz-Martinez" | ||||||
| layout: default | ||||||
| organization: UofSevilla | ||||||
|
||||||
| organization: UofSevilla | |
| organization: usevilla |
Contributor
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done in 78e360a
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,10 @@ | ||
| --- | ||
| title: NNPDF | ||
| project: NNPDF | ||
| layout: default | ||
| logo: nnpdf.png | ||
| description: | | ||
| The [NNPDF collaboration](https://nnpdf.science) determines the structure of the proton using contemporary methods of artificial intelligence. A precise knowledge of the so-called Parton Distribution Functions (PDFs) of the proton, which describe their structure in terms of their quark and gluon constituents, is a crucial ingredient of the physics program of the Large Hadron Collider of CERN. The NNPDF projects includes tools for DGLAP evolution: [EKO](https://eko.readthedocs.io), grid interpolation: [PineAPPL](https://nnpdf.github.io/pineappl/), and the fitting framework [nnpdf](https://docs.nnpdf.science) | ||
| --- | ||
|
|
||
| {% include gsoc_project.ext %} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,79 @@ | ||
| --- | ||
| title: The EKO oxidation | ||
| layout: gsoc_proposal | ||
| project: NNPDF | ||
| year: 2026 | ||
| organization: | ||
| - UofSevilla | ||
| - UofJyvaskyla | ||
felixhekhorn marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| difficulty: medium | ||
| duration: 175 | ||
| mentor_avail: June-September | ||
| project_mentors: | ||
| - email: [email protected] | ||
| first_name: Juan M. | ||
| last_name: Cruz Martinez | ||
| organization: UofSevilla | ||
| - email: [email protected] | ||
| first_name: Felx | ||
| last_name: Hekhorn | ||
| organization: UofJyvaskyla | ||
| is_preferred_contact: yes | ||
| --- | ||
|
|
||
| # Description | ||
|
|
||
| High-energy particle scattering, which is for example investigated with the LHC at CERN, is a part of fundamental research and aims at understanding the matter around us, in particular protons. | ||
| The inner structure of protons can be described by Parton Distribution Functions (PDFs), which are extracted from experimental measurements and which in turn are a major ingredient into many theoretical predictions. | ||
| With the increasing precision of experimental measurements we have reached an era of high-precision physics, which brings new challenges also to the theory side. | ||
|
|
||
| The evaluation of PDFs is tightly linked to the so-called DGLAP equations. | ||
| Within the NNPDF ecosystem we have develop the EKO (Evolution Kernel Operators) software library to execute this job. | ||
| Uniquely, EKO is independent of the actual PDFs, i.e. the solution operators can be precomputed for a specific theoretical configuration (e.g., NLO, NNLO, or even NNNLO perturbative accuracy) and stored on disk. | ||
| This allows for extremely fast repeated evaluations during parameter fitting (e.g., during the extraction of PDFs), as the operators can simply be applied to varying initial conditions without re-solving the differential equations. | ||
| Effectively, this approach turns a complicated integro-differential set of equations into a linear algebra problem. | ||
|
|
||
| ## Task idea | ||
|
|
||
| Originally, EKO was implemented entirely in Python. | ||
| While Python offers excellent readability, a rich ecosystem, and JIT compilers such as numba, it also presents performance bottlenecks which are becoming harder to overcome. | ||
| The DGLAP evolution equations involve complex numerical integration and heavy matrix operations. | ||
| As EKO is extended to include higher orders and QED effects, the computational cost grows dramatically. | ||
|
|
||
| As a result, we have started a process of "oxidizing" EKO. | ||
| This means rewriting the performance-critical tasks in Rust. | ||
| Thanks to tools like PyO3 and Maturin, we can expose these Rust binaries as native Python modules which allows us to keep the user-friendly Python API while offloading the heavy lifting to a highly optimized Rust backend. | ||
|
|
||
| The goal of this project is to take this initial Rust port and mature it into a production-ready library. | ||
| The focus is on the full integration between Python and Rust, the automatization of the packaging and distribution process, benchmarking the library against the legacy python version (accuracy is our most important trait!) and having a robust interface to not only Python, but also C++ or Fortran, ubiquitous in particle physics. | ||
|
|
||
| ## Expected results and milestones | ||
|
|
||
| * Familiarization with the Rust/cargo toolchain | ||
| * Familiarization with the PyO3 toolchain | ||
| * Familiarization with the numba package | ||
| * Setup and automatization of deployment in Rust | ||
| * Prepare for potential third-party contribution written in C++ to the framework | ||
| * Expose and test EKO's rust interface with different languages: C++, Fortran, Python | ||
| * Potentially improve interface to other closely related Rust libraries within the NNPDF framework | ||
| * Potentially continue translation from Python to Rust and benchmark between the two languages | ||
|
|
||
| ## Requirements | ||
|
|
||
| * Familiarity with UNIX/Linux, Rust, Python | ||
| * Familiarity with CI workflows | ||
|
|
||
| ## AI Policy | ||
|
|
||
| AI assistance is allowed for this contribution. | ||
| The applicant takes full responsibility for all code and results, disclosing AI use for non-routine tasks (algorithm design, architecture, complex problem-solving). | ||
| Routine tasks (grammar, formatting, style) do not require disclosure. | ||
|
|
||
| ## How to apply | ||
|
|
||
| Once we are accepted as a GSoC org, please write an email with a short introduction to your interests and background to the mentors with the string "gsoc26" in the subject. | ||
| There will be a small evaluation task that we will mail to you then. | ||
|
|
||
| ## Links | ||
|
|
||
| * [EKO](https://eko.readthedocs.io/en/latest/) | ||
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should match the name of the md file (
ujyvaskyla).There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done in 78e360a