Skip to content

rocAL Serialize PR 1- Introduce EnumRegistry#398

Merged
rrawther merged 31 commits intoROCm:developfrom
fiona-gladwin:fg/enum_register
Nov 5, 2025
Merged

rocAL Serialize PR 1- Introduce EnumRegistry#398
rrawther merged 31 commits intoROCm:developfrom
fiona-gladwin:fg/enum_register

Conversation

@fiona-gladwin
Copy link
Contributor

Motivation

  • Add support to register all the enums required for serialization.

Technical Details

  • Adds a new EnumRegistry singleton class that provides automatic enum type registration and lookup capabilities
  • Introduces REGISTER_ENUM macro for enum registration
  • Registers multiple existing enum types across the codebase using the new macro

NOTE: To be merged after PR #389
Reopening PR #390 - due to merge issues

spolifroni-amd
spolifroni-amd previously approved these changes Oct 14, 2025
@kiritigowda
Copy link
Collaborator

@fiona-gladwin please resolve the merge conflicts

@LakshmiKumar23
Copy link
Contributor

LakshmiKumar23 commented Oct 15, 2025

@fiona-gladwin can you please fix merge conflicts? I think it also needs to sync with ToT. I see all the changes from PR389 on this

@fiona-gladwin fiona-gladwin dismissed spolifroni-amd’s stale review October 16, 2025 07:06

The merge-base changed after approval.

@fiona-gladwin
Copy link
Contributor Author

fiona-gladwin commented Oct 16, 2025

@fiona-gladwin can you please fix merge conflicts? I think it also needs to sync with ToT. I see all the changes from PR389 on this

@LakshmiKumar23 @rrawther Resolved merge conflicts, File changes reduced to 6

Copy link
Contributor

@spolifroni-amd spolifroni-amd left a comment

Choose a reason for hiding this comment

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

Left a comment about the format of the changelog in a different PR.

@kiritigowda kiritigowda self-assigned this Oct 28, 2025
@codecov
Copy link

codecov bot commented Oct 29, 2025

Codecov Report

❌ Patch coverage is 61.90476% with 8 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
rocAL/include/pipeline/enum_registry.h 61.90% 8 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #398      +/-   ##
===========================================
- Coverage    80.70%   80.67%   -0.02%     
===========================================
  Files          274      275       +1     
  Lines        21094    21115      +21     
===========================================
+ Hits         17022    17034      +12     
- Misses        4072     4081       +9     
Files with missing lines Coverage Δ
rocAL/include/decoders/image/decoder.h 76.47% <ø> (ø)
rocAL/include/meta_data/meta_data_reader.h 92.00% <ø> (ø)
rocAL/include/pipeline/commons.h 100.00% <ø> (ø)
rocAL/include/readers/image/image_reader.h 89.16% <ø> (ø)
rocAL/include/pipeline/enum_registry.h 61.90% <61.90%> (ø)

... and 2 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@rrawther
Copy link
Collaborator

rrawther commented Nov 3, 2025

@fiona-gladwin : Can you please take a look at the codecov gap with the new file

@LakshmiKumar23
Copy link
Contributor

/AzurePipelines run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@LakshmiKumar23
Copy link
Contributor

@rrawther rrawther merged commit 7c50fce into ROCm:develop Nov 5, 2025
3 of 5 checks passed
JeniferC99 pushed a commit that referenced this pull request Jan 22, 2026
* Docs - updated the toc (#406)

* rocAL Serialize PR 1- Introduce EnumRegistry (#398)

* Use enums present in commons.h

Remove the usage of API enums in internal node files

* Remove unused include rocal_api_types.h

* Introduce EnumRegistry

Add support to register all internal enums

* Remove redundant static cast

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Remove semicolon for enum macro

* Modify name of macro

* Change enums to scoped enums in commons.h

* Minor fix

* Remove unused includes

* Add compiler keywords

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CMakeLists version for rocAL

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Fiona Gladwin <121928245+fgladwin@users.noreply.github.com>
Co-authored-by: Sundar Rajan Vaithiyanathan <99159823+SundarRajan28@users.noreply.github.com>
Co-authored-by: Kiriti Gowda <kiritigowda@gmail.com>

* HIP - Set HIP device in output routine thread (#407)

* Adding hipSetDevice in output routine thread

* Remove whitespace

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Sundar Rajan Vaithiyanathan <svaithiy@amd.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Lakshmi Kumar <lakshmi.kumar@amd.com>

* rocAL Serialize PR 2 : Introduce Argument class (#400)

* Use enums present in commons.h

Remove the usage of API enums in internal node files

* Remove unused include rocal_api_types.h

* Introduce EnumRegistry

Add support to register all internal enums

* Introduce Argument class

Creates an argument instance for each arg passed in the Node
Handles different argument types i.e parameters, vectors, enums and predefined types

* Remove redundant static cast

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Remove semicolon for enum macro

* Modify name of macro

* Change enums to scoped enums in commons.h

* Code reorganization

Create single constructor with check for different data types in Argument class

* Minor fix

* Remove unused includes

* Add compiler keywords

* Update rocAL/include/pipeline/argument.h

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update rocAL/include/pipeline/argument.h

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Minor change

* Update rocAL/include/pipeline/argument.h

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update rocAL/include/pipeline/argument.h

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Minor change

* Fix shared pointer fetching

* Minor fix

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CMakeLists version for rocAL

* Update CHANGELOG

* Minor change

* Update CHANGELOG.md

Co-authored-by: spolifroni-amd <Sandra.Polifroni@amd.com>

* Add const correctness to get args list

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Fiona Gladwin <121928245+fgladwin@users.noreply.github.com>
Co-authored-by: Sundar Rajan Vaithiyanathan <99159823+SundarRajan28@users.noreply.github.com>
Co-authored-by: Kiriti Gowda <kiritigowda@gmail.com>
Co-authored-by: spolifroni-amd <Sandra.Polifroni@amd.com>
Co-authored-by: Lakshmi Kumar <lakshmi.kumar@amd.com>

* Docs - removed opencl and added hip (#408)

Co-authored-by: Lakshmi Kumar <lakshmi.kumar@amd.com>

* Enable Lintian Support rocAL (#403)

* fix lintian errors

* remove overrides install, fix formatting

* fix readme error

* removing docs/README.md

---------

Co-authored-by: Kiriti Gowda <kiritigowda@gmail.com>

* Docs - Bump rocm-docs-core[api_reference] from 1.27.0 to 1.29.0 in /docs/sphinx (#416)

Bumps [rocm-docs-core[api_reference]](https://github.com/ROCm/rocm-docs-core) from 1.27.0 to 1.29.0.
- [Release notes](https://github.com/ROCm/rocm-docs-core/releases)
- [Changelog](https://github.com/ROCm/rocm-docs-core/blob/develop/CHANGELOG.md)
- [Commits](ROCm/rocm-docs-core@v1.27.0...v1.29.0)

---
updated-dependencies:
- dependency-name: rocm-docs-core[api_reference]
  dependency-version: 1.29.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Docs - readding the readme (#417)

Co-authored-by: Kiriti Gowda <kiritigowda@gmail.com>

* Bug fixes - HIP (#409)

* Fix bug in CropResize node

* Use HIP mem for fused crop rocjpeg decoder

* Fix bug with ROI updation in numpy loader

* Resolve review comments

---------

Co-authored-by: Lakshmi Kumar <lakshmi.kumar@amd.com>
Co-authored-by: Kiriti Gowda <kiritigowda@gmail.com>
Co-authored-by: Fiona-MCW <70996026+fiona-gladwin@users.noreply.github.com>

* Docs - Bump rocm-docs-core[api_reference] from 1.29.0 to 1.30.0 in /docs/sphinx (#418)

Bumps [rocm-docs-core[api_reference]](https://github.com/ROCm/rocm-docs-core) from 1.29.0 to 1.30.0.
- [Release notes](https://github.com/ROCm/rocm-docs-core/releases)
- [Changelog](https://github.com/ROCm/rocm-docs-core/blob/develop/CHANGELOG.md)
- [Commits](ROCm/rocm-docs-core@v1.29.0...v1.30.0)

---
updated-dependencies:
- dependency-name: rocm-docs-core[api_reference]
  dependency-version: 1.30.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Docs - Bump rocm-docs-core[api_reference] from 1.30.0 to 1.30.1 in /docs/sphinx (#423)

Bumps [rocm-docs-core[api_reference]](https://github.com/ROCm/rocm-docs-core) from 1.30.0 to 1.30.1.
- [Release notes](https://github.com/ROCm/rocm-docs-core/releases)
- [Changelog](https://github.com/ROCm/rocm-docs-core/blob/develop/CHANGELOG.md)
- [Commits](ROCm/rocm-docs-core@v1.30.0...v1.30.1)

---
updated-dependencies:
- dependency-name: rocm-docs-core[api_reference]
  dependency-version: 1.30.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* rocAL Serialize PR 3 : Introduce PipelineOperator class  (#401)

* Use enums present in commons.h

Remove the usage of API enums in internal node files

* Remove unused include rocal_api_types.h

* Introduce EnumRegistry

Add support to register all internal enums

* Introduce Argument class

Creates an argument instance for each arg passed in the Node
Handles different argument types i.e parameters, vectors, enums and predefined types

* Introduce PipelineOperator class

* Add support to create and return node name and tensor name

* Add support in MasterGraph to store details of PipelineOperators

* Add support to store the argument details in the node for brightness and ImageLoaderNode

* Remove redundant static cast

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Remove semicolon for enum macro

* Modify name of macro

* Change enums to scoped enums in commons.h

* Code reorganization

Create single constructor with check for different data types in Argument class

* Minor fix

* Remove unused includes

* Add compiler keywords

* Update rocAL/include/pipeline/argument.h

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update rocAL/include/pipeline/argument.h

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Minor change

* Update rocAL/include/pipeline/argument.h

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update rocAL/include/pipeline/argument.h

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Minor change

* Fix shared pointer fetching

* Minor fix

* Minor fix

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CMakeLists version for rocAL

* Update CHANGELOG

* Update CHANGELOG.md

* Minor change

* Minor changes

* Update CHANGELOG.md

Co-authored-by: spolifroni-amd <Sandra.Polifroni@amd.com>

* Add const qualifier

* Add const correctness to get args list

* Minor change

* Add const correctness to get args list

* Update CHANGELOG

* Generate UID for tensors from MasterGraph

* Minor change

* Resolve copilot review comments

* Minor change

* Minor changes

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Fiona Gladwin <121928245+fgladwin@users.noreply.github.com>
Co-authored-by: Sundar Rajan Vaithiyanathan <99159823+SundarRajan28@users.noreply.github.com>
Co-authored-by: Kiriti Gowda <kiritigowda@gmail.com>
Co-authored-by: spolifroni-amd <Sandra.Polifroni@amd.com>
Co-authored-by: Lakshmi Kumar <lakshmi.kumar@amd.com>

* CMakeLists - Update GPU targets (#421)

Co-authored-by: Kiriti Gowda <kiritigowda@gmail.com>

* multi channel dataloader - example/sample (#415)

* Update numpy reader example

* Add new example and remove changes from other example

* Update comment

* Remove unused import

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Resolve review comments

---------

Co-authored-by: Lakshmi Kumar <lakshmi.kumar@amd.com>
Co-authored-by: Fiona-MCW <70996026+fiona-gladwin@users.noreply.github.com>
Co-authored-by: Kiriti Gowda <kiritigowda@gmail.com>
Co-authored-by: Sundar Rajan Vaithiyanathan <svaithiy@amd.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Docs - Update CHANGELOG.md (#424)

* Update CHANGELOG.md

Updates for 7.2

* Changelog - bugfixes

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: spolifroni-amd <Sandra.Polifroni@amd.com>
Co-authored-by: Fiona-MCW <70996026+fiona-gladwin@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Fiona Gladwin <121928245+fgladwin@users.noreply.github.com>
Co-authored-by: Sundar Rajan Vaithiyanathan <99159823+SundarRajan28@users.noreply.github.com>
Co-authored-by: Sundar Rajan Vaithiyanathan <svaithiy@amd.com>
Co-authored-by: Lakshmi Kumar <lakshmi.kumar@amd.com>
Co-authored-by: jonatluu <jonatluu@amd.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants