Skip to content

Conversation

@avik-pal
Copy link
Collaborator

No description provided.

@github-actions
Copy link
Contributor

github-actions bot commented Sep 17, 2025

Your PR requires formatting changes to meet the project's style guidelines.
Please consider running Runic (git runic main) to apply these changes.

Click here to view the suggested changes.
diff --git a/src/analyses/activity.jl b/src/analyses/activity.jl
index fac4476..2200589 100644
--- a/src/analyses/activity.jl
+++ b/src/analyses/activity.jl
@@ -80,7 +80,7 @@ end
 @inline ptreltype(::Type{Complex{T}}) where {T} = T
 @inline ptreltype(::Type{Tuple{Vararg{T}}}) where {T} = T
 @inline ptreltype(::Type{IdDict{K,V}}) where {K,V} = V
-@inline ptreltype(::Type{IdDict{K,V} where K}) where {V} = V
+@inline ptreltype(::Type{IdDict{K, V} where {K}}) where {V} = V
 @static if VERSION < v"1.11-"
 else
 @inline ptreltype(::Type{Memory{T}}) where T = T
@@ -93,7 +93,7 @@ end
 @inline is_arrayorvararg_ty(::Type{Core.LLVMPtr{T,N} where N}) where {T} = true
 @inline is_arrayorvararg_ty(::Type{Base.RefValue{T}}) where {T} = true
 @inline is_arrayorvararg_ty(::Type{IdDict{K,V}}) where {K,V} = true
-@inline is_arrayorvararg_ty(::Type{IdDict{K,V} where K}) where {V} = true
+@inline is_arrayorvararg_ty(::Type{IdDict{K, V} where {K}}) where {V} = true
 @static if VERSION < v"1.11-"
 else
 @inline is_arrayorvararg_ty(::Type{Memory{T}}) where T = true

@github-actions
Copy link
Contributor

github-actions bot commented Sep 17, 2025

Benchmark Results

main 3d9ca6c... main / 3d9ca6c...
basics/overhead 5.25 ± 0.92 ns 4.65 ± 0.01 ns 1.13 ± 0.2
time_to_load 1.28 ± 0.011 s 1.17 ± 0.0068 s 1.1 ± 0.011

Benchmark Plots

A plot of the benchmark results has been uploaded as an artifact at https://github.com/EnzymeAD/Enzyme.jl/actions/runs/17784875671/artifacts/4030272579.

@avik-pal avik-pal force-pushed the ap/sparse_arrays_as_ext branch from f60555f to 3d9ca6c Compare September 17, 2025 02:33
@avik-pal avik-pal requested a review from wsmoses September 17, 2025 02:44
@codecov
Copy link

codecov bot commented Sep 17, 2025

Codecov Report

❌ Patch coverage is 2.50000% with 78 lines in your changes missing coverage. Please review.
✅ Project coverage is 75.09%. Comparing base (345b215) to head (3d9ca6c).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
ext/EnzymeSparseArraysExt.jl 0.00% 78 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2585      +/-   ##
==========================================
- Coverage   75.10%   75.09%   -0.02%     
==========================================
  Files          56       57       +1     
  Lines       17724    17728       +4     
==========================================
+ Hits        13312    13313       +1     
- Misses       4412     4415       +3     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

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

@avik-pal

This comment was marked as resolved.

# add the extra poitner offset when loading here]. However for pointers constructed by ccall outside julia
# to a julia object, which are not inline by type but appear so, like SparseArrays, this is a problem
# and merits further investigation. x/ref https://github.com/EnzymeAD/Enzyme.jl/issues/2085
if !Base.allocatedinline(typ) && typ != SparseArrays.cholmod_dense_struct && typ != SparseArrays.cholmod_sparse_struct && typ != SparseArrays.cholmod_factor_struct
Copy link
Member

Choose a reason for hiding this comment

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

unfortunately presently this cannot be moved into an extension (it will not get picked up from generated function shenanigans). the longer term soltn i need to figure out is how to handle this specific edge case of a ccall return, but I haven't gotten to so yet [and it only came up for sparsearrays]

Copy link
Member

@vchuravy vchuravy Sep 17, 2025

Choose a reason for hiding this comment

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

You would need to perform an invoke in world (probably invole_in_world_total) with the world being the job.world

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.

4 participants