diff --git a/examples/python/sparse.py b/examples/python/sparse.py new file mode 100644 index 0000000000000000000000000000000000000000..14d157b6a6bb7bf4601852d5cf344248a9e82a9b --- /dev/null +++ b/examples/python/sparse.py @@ -0,0 +1,18 @@ +import loopy as lp + +k = lp.make_kernel([ + "[m] -> { [i] : 0 <= i < m }", + "[length] -> { [j] : 0 <= j < length }"], + """ + rowstart = rowstarts[i] + rowend = rowstarts[1 + i] + length = rowend + (-1)*rowstart + rowsum = 0 {id=zerosum} + rowsum = rowsum + x[-1 + colindices[-1 + rowstart + j]]*values[-1 + rowstart + j] {dep=zerosum} + y[i] = rowsum + """, + [ + lp.GlobalArg("colindices,values,x", shape=None), + "..." + ]) +print(k)