From fe88a467cbe12ace242bf0263972cd08afe97ae2 Mon Sep 17 00:00:00 2001 From: Oliver Schulz Date: Wed, 11 Feb 2026 22:26:35 +0100 Subject: [PATCH 1/4] Add NestedNumbers to deps --- Project.toml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Project.toml b/Project.toml index 1eeb5b4b2f..3eac0ad616 100644 --- a/Project.toml +++ b/Project.toml @@ -23,6 +23,7 @@ LLVM = "929cbde3-209d-540e-8aea-75f648917ca0" LLVMOpenMP_jll = "1d63c593-3942-5779-bab2-d838dc0a180e" Libdl = "8f399da3-3557-5675-b5ff-fb832c97cbdb" LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" +NestedNumbers = "1f6363f3-4ba7-41a3-bcac-d685ef427933" OrderedCollections = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" PrecompileTools = "aea7be01-6a6a-4083-8856-8a6e6704d82a" Preferences = "21216c6a-2e73-6563-6e65-726566657250" @@ -124,6 +125,7 @@ MCMCDiagnosticTools = "0.3.11" MPI = "0.20" NNlib = "0.9.26" NPZ = "0.4" +NestedNumbers = "0.1" OffsetArrays = "1" OneHotArrays = "0.2.10" OrderedCollections = "1.1" From f1144e4d81b8caed0509464f8acb8341c4db08b3 Mon Sep 17 00:00:00 2001 From: Oliver Schulz Date: Wed, 11 Feb 2026 22:26:44 +0100 Subject: [PATCH 2/4] [TEMPORARY] Set Pkg source URL for NestedNumbers until registered --- Project.toml | 1 + docs/Project.toml | 4 ++++ test/Project.toml | 2 ++ 3 files changed, 7 insertions(+) diff --git a/Project.toml b/Project.toml index 3eac0ad616..eaafa5cc2e 100644 --- a/Project.toml +++ b/Project.toml @@ -68,6 +68,7 @@ YaoBlocks = "418bc28f-b43b-5e0b-a6e7-61bbc1a2c1df" Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" [sources] +NestedNumbers = {url = "https://github.com/JuliaMath/NestedNumbers.jl"} ReactantCore = {path = "lib/ReactantCore"} [extensions] diff --git a/docs/Project.toml b/docs/Project.toml index 3de01d2f95..97ba2e41de 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -11,9 +11,13 @@ ReactantCore = "a3311ec8-5e00-46d5-b541-4f83e724a433" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [sources] +NestedNumbers = {url = "https://github.com/JuliaMath/NestedNumbers.jl"} Reactant = {path = ".."} ReactantCore = {path = "../lib/ReactantCore"} [compat] Documenter = "1.4.1" DocumenterVitepress = "0.2" + +[extras] +NestedNumbers = "1f6363f3-4ba7-41a3-bcac-d685ef427933" diff --git a/test/Project.toml b/test/Project.toml index 6f9560ce9a..4e42cc41d3 100644 --- a/test/Project.toml +++ b/test/Project.toml @@ -43,6 +43,7 @@ Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" [sources] +NestedNumbers = {url = "https://github.com/JuliaMath/NestedNumbers.jl"} Reactant = {path = ".."} [compat] @@ -85,4 +86,5 @@ Test = "1.10" Zygote = "0.7" [extras] +NestedNumbers = "1f6363f3-4ba7-41a3-bcac-d685ef427933" Reactant_jll = "0192cb87-2b54-54ad-80e0-3be72ad8a3c0" From 686b355b9372ac647f1c2af372150c553d5e248a Mon Sep 17 00:00:00 2001 From: Oliver Schulz Date: Thu, 12 Feb 2026 20:24:14 +0100 Subject: [PATCH 3/4] [TEMPORARY] Run CI on Julia v1.12 only --- .github/workflows/CI.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 34b3048609..fd7a7f5433 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -29,8 +29,8 @@ jobs: fail-fast: false matrix: version: - - "1.10" - - "1.11" + #- "1.10" + #- "1.11" - "1.12" # - 'nightly' os: @@ -97,7 +97,7 @@ jobs: - "ifrt" uses: ./.github/workflows/CommonCI.yml with: - julia_version: "1.10" + julia_version: "1.12" os: "ubuntu-24.04" runtime: ${{ matrix.runtime }} test_args: ${{ matrix.test_group == 'core' && 'core plugins' || matrix.test_group }} From 19c158be998525b0c69ffa788fac5082e11d41fd Mon Sep 17 00:00:00 2001 From: Oliver Schulz Date: Wed, 11 Feb 2026 23:33:03 +0100 Subject: [PATCH 4/4] Make RNumber a NestedNumbers.NestedNumber --- src/Reactant.jl | 2 ++ src/Types.jl | 8 ++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/Reactant.jl b/src/Reactant.jl index 57ba65d442..8703dae9e1 100644 --- a/src/Reactant.jl +++ b/src/Reactant.jl @@ -12,6 +12,8 @@ using Libdl: Libdl using Reactant_jll: Reactant_jll using LLVMOpenMP_jll: LLVMOpenMP_jll +import NestedNumbers + using Adapt: Adapt, WrappedArray using GPUArraysCore: GPUArraysCore, @allowscalar, allowscalar diff --git a/src/Types.jl b/src/Types.jl index 948765684d..6ccb4e112c 100644 --- a/src/Types.jl +++ b/src/Types.jl @@ -1,6 +1,4 @@ -abstract type RNumber{T<:ReactantPrimitive} <: Number end - -abstract type AbstractConcreteNumber{T} <: RNumber{T} end +abstract type AbstractConcreteNumber{T<:ReactantPrimitive} <: NestedNumbers.RemoteNumber{T} end abstract type RArray{T,N} <: DenseArray{T,N} end @@ -38,7 +36,7 @@ end @leaf MissingTracedValue ## TracedRNumber -mutable struct TracedRNumber{T} <: RNumber{T} +mutable struct TracedRNumber{T<:ReactantPrimitive} <: NestedNumbers.OpaqueNumber{T} paths::Tuple mlir_data::Union{Nothing,MLIR.IR.Value} @@ -52,6 +50,8 @@ mutable struct TracedRNumber{T} <: RNumber{T} end end +const RNumber{T<:ReactantPrimitive} = Union{AbstractConcreteNumber{T},TracedRNumber{T}} + Base.elsize(::Type{TracedRNumber{T}}) where {T} = sizeof(T) Base.elsize(::Type{RNumber{T}}) where {T} = sizeof(T) Base.elsize(::Type{<:AbstractConcreteNumber{T}}) where {T} = sizeof(T)