You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[BUG] Error when passing shared tiles to Warp functions #1313
Passing shared-memory tiles to @wp.func fails to compile
Problem
When a @wp.func has a tile parameter (e.g., wp.tile(dtype=float, shape=(M, N))), the tile annotation defaults to register storage. If the function is called with a shared-memory tile, the generated C++ fails to compile because the function signature uses tile_register_t but the caller passes tile_shared_t.
error: no matching function for call to 'scale_tile_0'
note: candidate function not viable: no known conversion from
'tile_shared_t<float, tile_layout_strided_t<...>>'
to 'tile_register_t<float, tile_layout_register_t<...>>'
Impact
Users cannot pass shared-memory tiles to @wp.func functions. This is a common pattern â tile_load with storage="shared" and tile_matmul both produce shared tiles, and users often want to wrap tile operations in helper functions.
The workaround is to avoid @wp.func and inline the tile operations directly in the kernel, which hurts code reuse and readability.
Activity
shi-eric commentedon Mar 24, 2026
Added in cdda8f3
Permit shared tile args in Warp functions (NVIDIAGH-1313)
Merge branch 'zcorse/tile-func-arg-storage' into 'main'