Skip to content

Add AMS Homogeneous and Heterogenous Graph data structures.#188

Draft
YohannDudouit wants to merge 9 commits into
developfrom
yohann/graph-support
Draft

Add AMS Homogeneous and Heterogenous Graph data structures.#188
YohannDudouit wants to merge 9 commits into
developfrom
yohann/graph-support

Conversation

@YohannDudouit
Copy link
Copy Markdown
Collaborator

The PR adds graph data structures, both homogeneous and heterogeneous, to support Graph Neural Networks (GNNs) models.

  • Add AMSHomogeneousGraph and AMSHeterogeneousGraph data structures.
  • Conversion operations from/to AMS from/to Torch graph representations.

YohannDudouit and others added 4 commits March 2, 2026 14:48
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
- Conversion operation from/to AMS from/to Torch graph representation
lpottier and others added 4 commits April 3, 2026 11:04
* Add support for int32_t and int64_t.
* Fix typo/bug in AMSEOS.
* Deactivating Dane tests
* Add unit tests for int support.
* Update tests/AMSlib/ams_interface/int_interface.cpp
* Fix _elements used before initialization.
* Fix HIP memory allocation and typo.

---------

Signed-off-by: Loic Pottier <[email protected]>
Co-authored-by: Loic Pottier <[email protected]>
- Conversion operation from/to AMS from/to Torch graph representation
@YohannDudouit YohannDudouit deployed to github-pages May 6, 2026 17:06 — with GitHub Actions Active
Copy link
Copy Markdown
Member

@lpottier lpottier left a comment

Choose a reason for hiding this comment

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

LGTM. If you can add some documentation for each function, I would like to start documenting AMS more rigorously using Doxygen style comments.

{
typedef enum { AMS_SINGLE = 0, AMS_DOUBLE, AMS_UNKNOWN_TYPE } AMSDType;
typedef enum {
AMS_SINGLE = 0,
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

At some point we will have to rename AMS_SINGLE -> AMS_FLOAT32 and AMS_DOUBLE -> AMS_FLOAT64

Comment thread src/AMSlib/AMSGraph.cpp

static std::size_t hashCombine(std::size_t seed, std::size_t value) noexcept
{
seed ^= value + 0x9e3779b9u + (seed << 6) + (seed >> 2);
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

What is the goal of that function / magic number? Can't we use a classic hashing function?

Comment thread src/AMSlib/AMSTensor.cpp
namespace
{
template <typename T>
constexpr AMSDType scalar_to_ams_dtype()
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Update scalar_to_ams_dtype to scalarToAMSDtype

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.

2 participants