Sparse activations matrix multiplication, and how do I find matching indices to zero out weights?

I am doing weight pruning, by sparsifying activations with mask – If the activations have lots of zeros, the weights can be safely zeroed out too.
And I need way to calculate weight parameters sparsity percentage.

Say I have y(x) = ReLU(Wx+b)
x is activations vector from previous layer, and have lots of zero values (due to mask)

From matmul Wx, how do I find elements (and its indices) in W that match with zero-valued activations in x,
So I can sparse W, and count zero values to calculate sparsity percentage.
Does pytorch have such function to do so?

Also how do I do the same for convolution layers (They have filters, filter size, stride, pad, etc)

Thank you