Skip to content

Conversation

@joserochh
Copy link
Contributor

@joserochh joserochh commented Jul 18, 2025

Proposed changes

Enables the linking of multiple kernels with individual memory mapping files by using multi_op trace file.

Types of changes

What types of changes does your code introduce to the Encrypted Computing SDK project?
Put an x in the boxes that apply

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update (if none of the other choices apply)

Checklist

Put an x in the boxes that apply. You can also fill these out after creating
the PR. If you are unsure about any of them, do not hesitate to ask. We are
here to help! This is simply a reminder of what we are going to look for before
merging your code.

  • I have read the CONTRIBUTING agreement
  • Current formatting and unit tests / base functionality passes locally with my changes
  • I have added tests that prove my fix is effective or that my feature works (if appropriate)
  • I have added necessary documentation (if appropriate)
  • Any dependent changes have been merged and published in downstream modules

Further comments

  • Enabled caching for kernel loading so kernel files don't need to be parsed multiple times if the same kernel operation is used across the overall program.
  • Input prefixes are extracted from the trace file information. So, a naming convention is assumed.
  • Individual kernel variables are mapped to names used in the trace file. So, a naming convention for poly variables is assumed.
  • Refactored he_link.py taking some helper methods and structures out of this file.
  • Refactored loaded.py to be a class.
  • Refactored NamedTuple KernelFiles to simple class KernelInfo.
  • Unit test coverage up to 90% on linker module.

@joserochh joserochh marked this pull request as ready for review July 18, 2025 21:59
Copy link
Collaborator

@kylanerace kylanerace left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, will require extensive testing to check differences between separately scheduled and jointly scheduled workloads

@joserochh joserochh changed the title Linking multi *.mem programs [hec-assembler]: Linking multi *.mem programs with trace_file Jul 18, 2025
Copy link
Contributor

@christopherngutierrez christopherngutierrez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, tested locally.

@joserochh joserochh merged commit 59f59b1 into main Jul 23, 2025
7 checks passed
@joserochh joserochh deleted the joserochh/linking_with_trace branch July 23, 2025 18:50
christopherngutierrez pushed a commit that referenced this pull request Sep 18, 2025
* Adding TraceInfo
* Add tracing to linker
* Adding new unit tests for refactored he_link.py
* Adding new unit tests for kern_trace
* Refactoring linker for kernel recyling
* Readme Update
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants