Sergey Kozub
aebe82a78f
Add JAX API that provides sparse matmul support (2:4 structured sparsity)
...
Usage:
from jax.experimental.sparse import nm
res = nm.nm_spmm(lhs, rhs, nm.nm_pack(mask))
where:
lhs.shape = [M, K/2]
rhs.shape = [K, N]
`mask` has the same shape as `lhs` with boolean type
If batch dimensions are present, the `dimension_numbers` argument has to be set to:
((lhs_contracting_dims, rhs_contracting_dims), (lhs_batch_dims, rhs_batch_dims))
The lowering only works on nVidia GPUs, that provide hardware support for sparse dots.
PiperOrigin-RevId: 627640553
2024-04-24 01:06:19 -07:00
..
2024-02-26 14:17:18 -08:00
2024-04-18 04:04:10 -07:00
2023-12-06 10:20:29 -08:00
2024-04-18 11:03:52 -07:00
2024-04-11 13:23:27 -07:00
2024-04-11 13:23:27 -07:00
2024-04-11 13:23:27 -07:00
2024-04-23 14:50:04 -07:00
2024-04-23 17:38:30 -07:00
2024-04-16 19:57:55 +00:00
2024-04-19 10:41:55 -07:00
2024-04-14 14:35:57 -07:00
2024-03-05 12:08:44 -08:00
2024-04-11 13:23:27 -07:00
2024-04-24 01:06:19 -07:00
2024-03-19 01:50:39 -07:00
2023-10-12 17:32:15 +01:00
2024-04-11 13:23:27 -07:00
2024-04-23 09:45:57 -07:00
2024-03-22 05:37:30 -07:00
2024-04-11 13:23:27 -07:00
2024-04-11 13:23:27 -07:00
2024-04-11 13:23:27 -07:00
2024-04-11 13:23:27 -07:00
2024-04-19 13:57:18 -07:00
2024-04-19 13:57:18 -07:00
2023-10-06 08:07:49 -04:00
2024-04-18 15:20:20 +01:00
2024-04-11 13:23:27 -07:00
2023-10-12 17:32:15 +01:00
2023-10-18 10:55:13 +01:00
2024-04-13 08:18:33 +01:00
2024-03-20 16:24:06 +00:00
2024-04-05 20:09:34 -07:00
2024-04-11 13:23:27 -07:00
2024-02-05 18:01:48 -05:00
2024-04-11 13:23:27 -07:00
2024-04-03 20:48:37 +00:00
2024-04-11 13:23:27 -07:00
2023-04-17 08:35:53 -07:00
2023-12-20 14:53:33 -08:00
2024-04-11 13:23:27 -07:00
2024-04-11 13:23:27 -07:00
2024-04-05 08:51:30 +01:00
2024-04-11 13:23:27 -07:00
2024-04-11 13:23:27 -07:00
2023-10-12 17:32:15 +01:00
2024-04-18 15:20:20 +01:00
2024-03-19 09:24:52 -07:00
2023-10-12 17:32:15 +01:00
2024-04-11 13:23:27 -07:00
2024-04-11 15:39:45 -07:00
2024-04-11 13:23:27 -07:00
2024-04-23 17:26:23 -04:00
2024-04-11 11:18:27 -07:00
2024-04-11 13:23:27 -07:00
2024-02-09 11:00:00 -08:00
2024-04-15 17:56:16 +00:00
2024-04-22 16:25:37 +00:00
2024-04-23 18:53:05 -07:00
2024-04-11 13:23:27 -07:00
2024-04-11 13:23:27 -07:00
2023-10-12 17:32:15 +01:00
2024-04-18 16:14:55 -07:00
2024-04-11 13:23:27 -07:00
2024-04-11 13:23:27 -07:00
2024-04-10 18:26:07 +03:00
2024-04-11 13:23:27 -07:00
2024-04-11 13:23:27 -07:00
2024-04-15 12:38:34 -07:00
2024-04-13 08:18:33 +01:00
2024-04-11 13:23:27 -07:00
2024-04-11 13:23:27 -07:00
2024-04-21 20:03:11 -07:00
2024-03-21 18:58:06 -07:00
2024-04-11 13:23:27 -07:00
2024-04-11 13:23:27 -07:00
2023-10-04 13:15:49 -07:00
2024-04-11 13:23:27 -07:00
2024-04-11 13:23:27 -07:00
2024-04-11 13:23:27 -07:00
2024-04-11 13:23:27 -07:00
2024-04-11 13:23:27 -07:00
2024-04-10 10:23:21 -07:00
2024-04-11 13:23:27 -07:00
2024-04-11 13:23:27 -07:00
2023-07-21 14:49:44 -04:00
2024-04-11 13:23:27 -07:00
2024-04-11 13:23:27 -07:00
2024-04-18 09:37:57 -07:00
2024-04-01 12:32:54 -07:00
2024-04-11 13:23:27 -07:00
2024-04-11 13:23:27 -07:00
2024-04-15 17:13:35 -07:00
2024-04-22 09:38:59 -07:00
2023-10-12 17:32:15 +01:00
2024-04-10 08:19:12 -07:00
2024-04-08 19:04:15 -07:00
2024-04-11 13:23:27 -07:00
2024-04-11 13:23:27 -07:00
2024-04-11 13:23:27 -07:00
2024-04-11 13:23:27 -07:00
2024-04-11 13:23:27 -07:00
2024-04-11 13:23:27 -07:00
2024-04-23 13:29:40 -07:00
2024-03-22 05:37:30 -07:00
2024-04-11 13:23:27 -07:00
2024-04-22 14:29:35 -07:00
2024-04-11 13:23:27 -07:00
2024-04-11 13:23:27 -07:00
2024-04-24 01:06:19 -07:00
2024-04-11 13:23:27 -07:00
2024-04-11 13:23:27 -07:00
2024-04-11 13:23:27 -07:00
2024-04-12 15:22:07 -04:00
2024-04-11 13:23:27 -07:00
2024-04-18 09:20:48 -07:00
2024-04-11 13:23:27 -07:00
2024-04-23 14:14:49 -07:00
2023-12-13 10:29:45 +00:00
2024-04-11 13:23:27 -07:00
2023-09-08 11:33:49 -07:00
2024-04-11 13:23:27 -07:00
2024-03-06 13:50:36 -08:00
2023-08-08 10:52:11 -07:00
2024-04-11 13:23:27 -07:00