4 ms·
Min is an HLOP. From: https://github.com/geohot/tinygrad/blob/master/tinygrad/tensor.py#L222 https://github.com/geohot/tinygrad/blob/master/tinygrad/tens... d
by georgehotz 4y ago
Min is an HLOP.
From: https://github.com/geohot/tinygrad/blob/master/tinygrad/tensor.py#L222 https://github.com/geohot/tinygrad/blob/master/tinygrad/tens...
def min(self, axis=None, keepdim=False): return -((-self).max(axis=axis, keepdim=keepdim))
All folded together, no slower than MAX.
- WithinReason 4y agoBut then SUB, DIV and RELU could be an HLOP as well, no?
- georgehotz 4y agoWe could have NEG instead of SUB, but with the constant folding it's a wash. DIV is already an HLOP with reciprocal (used to use POW, but that was slower. And what would you implement RELU in terms of?
- WithinReason 4y agomax(0,x)
- georgehotz 4y agoThat's a ReduceOp right now, more annoying to reason about than a UnaryOp. But in the limit, yea. Or add an elementwise BinaryOp for max. Submit a PR if you can improve something!