Enzyme.jl icon indicating copy to clipboard operation
Enzyme.jl copied to clipboard

Add minimal working example for hessian sret type testing

Open Copilot opened this issue 3 months ago • 1 comments

Isolates a standalone test case for Forward-over-Reverse (Hessian) computation to diagnose enzyme_sret attribute handling.

Changes

  • Added test/hessian_mwe.jl - minimal reproducible test for nested AD with BatchDuplicated
  • Tests Forward-over-Reverse mode which exercises sret type handling in the compiler
  • Includes diagnostic output for identifying compilation timeouts

Example

# Run standalone to reproduce sret-related issues
julia --project=. test/hessian_mwe.jl

# Tests Hessian computation: H = [[2, 1], [1, 0]] for f(x) = x₁² + x₁x₂
# Uses BatchDuplicated in Forward-over-Reverse mode (~26s compilation)

The MWE targets the compiler path where enzyme_sret attributes are validated (lines 6747-6751 in src/compiler.jl).


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Copilot avatar Dec 13 '25 22:12 Copilot

Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details.

[!WARNING]

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • 127.255.255.255
    • Triggering command: REDACTED, pid is -1 (packet block)
  • https://api.github.com/repos/ElOceanografo/SparseInverseSubset.jl/tarball/52962839426b75b3021296f7df242e40ecfc0852
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/FluxML/MacroTools.jl/tarball/1e0228a030642014fe5cfe68c2c0a818f9e3f522
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/GunnarFarneback/RegistryInstances.jl/tarball/ffd19052caf598b8653b99404058fce14828be51
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaArrays/StaticArrays.jl/tarball/b8693004b385c842357406e3af647701fe783f98
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaArrays/StaticArraysCore.jl/tarball/6ab403037779dae8c514bad259f32a447262455a
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaArrays/StructArrays.jl/tarball/a2c37d815bf00575332b7bd0389f771cb7987214
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaBinaryWrappers/Enzyme_jll.jl/tarball/b7a8c737c8ca2f5ca313e012f212effa1adcbf3a
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/JuliaBinaryWrappers/Expat_jll.jl/tarball/27af30de8b5445644e8ffe3bcb0d72049c089cf1
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaBinaryWrappers/Git_LFS_jll.jl/tarball/bb8471f313ed941f299aa53d32a94ab3bee08844
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaBinaryWrappers/Git_jll.jl/tarball/46bd50c245fe49ed87377c014a928a549b9ef7ed
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaBinaryWrappers/LLVMExtra_jll.jl/tarball/8e76807afb59ebb833e9b131ebf1a8c006510f33
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/JuliaBinaryWrappers/LLVM_jll.jl/tarball/52b49a1dbe5d4175c34c9db554719cc508f804b5
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaBinaryWrappers/LibTracyClient_jll.jl/tarball/d2bc4e1034b2d43076b50f0e34ea094c2cb0a717
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/JuliaBinaryWrappers/Libiconv_jll.jl/tarball/be484f5c92fad0bd8acfef35fe017900b0b73809
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaBinaryWrappers/OpenSSH_jll.jl/tarball/301412a644646fdc0ad67d0a87487466b491e53d
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaBinaryWrappers/OpenSpecFun_jll.jl/tarball/1346c9208249809840c91b26703912dff463d335
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaCollections/AbstractTrees.jl/tarball/2d9c9a55f9c93e8887ad391fbae72f8ef55e1177
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaCollections/OrderedCollections.jl/tarball/05868e21324cede2207c6f0f466b4bfef6d5e7ee
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaConcurrent/Atomix.jl/tarball/29bb0eb6f578a587a49da16564705968667f5fa8
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaConcurrent/UnsafeAtomics.jl/tarball/b13c4edda90890e5b04ba24e20a310fbe6f249ff
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaData/DataAPI.jl/tarball/abe83f3a2f1b857aac70ef8b269080af17764bbe
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaData/Parsers.jl/tarball/7d2f8f21da5db6a806faf7b9b292296da42b2810
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaData/Tables.jl/tarball/f2c1efbc8f3a609aadf318094f8fc5204bdaf344
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaDiff/ChainRules.jl/tarball/3b704353e517a957323bd3ac70fa7b669b5f48d4
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaDiff/ChainRulesCore.jl/tarball/e4c6a16e77171a5f5e25e9646617ab1c276c5607
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaDiff/FiniteDifferences.jl/tarball/0ff4ed4351e1884beff16fc4d54490c6d56b2199
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaDocs/ANSIColoredPrinters.jl/tarball/574baf8110975760d391c710b6341da1afa48d8c
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaDocs/DocStringExtensions.jl/tarball/7442a5dfe1ebb773c29cc2962a8980f47221d76c
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaDocs/Documenter.jl/tarball/b37458ae37d8bdb643d763451585cd8d0e5b4a9e
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaDocs/IOCapture.jl/tarball/b6d6bfdd7ce25b0f9b2f6b3dd56b2673a66c8770
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaDocs/MarkdownAST.jl/tarball/465a70f0fc7d443a00dcdc3267a497397b8a3899
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaGPU/Adapt.jl/tarball/7e35fca2bdfba44d797c53dfe63a51fabf39bfc0
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaGPU/GPUArrays.jl/tarball/18da8dd0b6aded0c47184e9d2a17573ae8257f36
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaGPU/GPUArrays.jl/tarball/6eff50be44a36e068a3c4b558d718feb8c178d00
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaGPU/GPUArrays.jl/tarball/83cf05ab16a73219e5f6bd1bdfa9848fa24ac627
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaGPU/GPUCompiler.jl/tarball/6e5a25bc455da8e8d88b6b7377e341e9af1929f0
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/JuliaGPU/KernelAbstractions.jl/tarball/b5a371fcd1d989d844a4354127365611ae1e305f
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaIO/CodecZlib.jl/tarball/962834c22b66e32aa10f7611c08c8ca4e20749a9
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaIO/JSON.jl/tarball/5b6bb73f555bc753a6153deec3717b8904f5551c
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaIO/ObjectFile.jl/tarball/22faba70c22d2f03e60fbc61da99c4ebfc3eb9ba
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/JuliaIO/StructIO.jl/tarball/c581be48ae1cbf83e899b14c07a807e1787512cc
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/JuliaIO/TranscodingStreams.jl/tarball/0c45878dcfdcfa8480052b6ab162cdd138781742
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaInterop/CEnum.jl/tarball/389ad5c84de1ae7cf0e28e381131c98ea87d54fc
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/JuliaLLVM/LLVM.jl/tarball/ce8614210409eaa54ed5968f4b50aa96da7ae543
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/JuliaLang/Compat.jl/tarball/9d8a54ce4b17aa5bdce0ea5c34bc5e7c340d16ad
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaLang/PrecompileTools.jl/tarball/07a921781cab75691315adc645096ed5e370cb77
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/JuliaLang/ScopedValues.jl/tarball/c3b2323466378a2ba15bea4b2f73b081e022f473
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaMath/BFloat16s.jl/tarball/0a6d6d072cb5f2baeba7667023075801f6ea4a7d
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaMath/IrrationalConstants.jl/tarball/b2d91fe939cae05960e760110b328288867b5758
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaMath/RealDot.jl/tarball/9f0a1b71baaf7650f4fa8a1d168c7fb6ee41f0c9
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaMath/Richardson.jl/tarball/48f038bfd83344065434089c2a79417f38715c41
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaMath/SpecialFunctions.jl/tarball/f2685b435df2613e25fc10ad8c26dddb8640f547
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaObjects/ConstructionBase.jl/tarball/b4b092499347b18a015186eae3042f72267106cb
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaPackaging/JLLWrappers.jl/tarball/0533e564aae234aff59ab625543145446d8b6ec2
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/JuliaPackaging/Preferences.jl/tarball/0f27480397253da18fe2c12a4ba4eb9eb208bf3d
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/JuliaPackaging/RelocatableFolders.jl/tarball/ffdaf70d81cf6ff22c2b6e733c900c3321cab864
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaPackaging/Requires.jl/tarball/62389eeff14780bfe55195b7204c0d8738436d64
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaPackaging/Scratch.jl/tarball/9b81b8393e50b7d4e6d0a9f14e192294d3b7c109
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/JuliaPluto/Malt.jl/tarball/720bee23a1b346ebd63cdfbcad6c37928f16eedc
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaServices/StructUtils.jl/tarball/79529b493a44927dd5b13dde1c7ce957c2d049e4
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaStats/LogExpFunctions.jl/tarball/13ca9e2586b89836fd20cccf56e57e2b9ae7f38f
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaStats/Statistics.jl/tarball/ae3bb1eb3bba077cd276bc5cfc337cc65c3075c0
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaStrings/InlineStrings.jl/tarball/8f3d257792a522b4601c24a577954b0a8cd7334d
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaTesting/ExprTools.jl/tarball/27415f162e6028e81c72b82ef756bf321213b6ec
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/JuliaTesting/ParallelTestRunner.jl/tarball/cb0e84f659aa5a426a9558c3d2f8fa80e0652e33
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/JuliaVersionControl/Git.jl/tarball/824a1890086880696fc908fe12a17bcf61738bd8
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/KristofferC/LazilyInitializedFields.jl/tarball/0f2da712350b020bc3957f269c9caad516383ee0
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/queryverse/DataValueInterfaces.jl/tarball/bfc1187b79289637fa0ef6d4436ebdfe6905cbd6
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/queryverse/IteratorInterfaceExtensions.jl/tarball/a3f24677c21f5bbe9d2a714f95dcd58337fb2856
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/queryverse/TableTraits.jl/tarball/c06b2f539df1c6efa794486abfb6ed2022561a39
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • https://api.github.com/repos/simonster/Reexport.jl/tarball/45e428421666073eab6f2da5c9d310d99bb12f9b
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/topolarity/Tracy.jl/tarball/73e3ff50fd3990874c59fef0f35d10644a1487bc
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() (http block)
  • https://api.github.com/repos/vchuravy/HashArrayMappedTries.jl/tarball/2eaa69a7cab70a52b9687c8bf950a5a93ec895ae
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (http block)
  • pkg.julialang.org
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.test("Enzyme"; test_args=["advanced"]) (dns block)
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() (dns block)
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.instantiate() -j ACCEPT (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot avatar Dec 13 '25 23:12 Copilot