mirror of
https://github.com/tinygrad/tinygrad.git
synced 2026-01-10 07:28:15 -05:00
* Split tests Split tests into "Test CPU" and "Test GPU". Add test flag "TEST_DEVICES" which is a comma separated list of devices: CPU,GPU,ANE * Run tests based on provided TEST_DEVICES flag By default will run all "CPU,GPU,ANE" * fix bad quote * Revert changes and use GPU=1 This is done through setting the default Tensor Device to Device.CPU of GPU=1 is set. Run GPU tests: GPU=1 pytest -s -v
37 lines
871 B
Python
37 lines
871 B
Python
#!/usr/bin/env python
|
|
import gc
|
|
import unittest
|
|
from tinygrad.tensor import Tensor
|
|
|
|
def tensors_allocated():
|
|
return sum([isinstance(x, Tensor) for x in gc.get_objects()])
|
|
|
|
class TestGC(unittest.TestCase):
|
|
|
|
def test_gc(self):
|
|
a = Tensor.zeros(4,4)
|
|
b = Tensor.zeros(4,4)
|
|
(a*b).mean().backward()
|
|
assert(tensors_allocated() > 0)
|
|
del a,b
|
|
assert(tensors_allocated() == 0)
|
|
|
|
def test_gc_complex(self):
|
|
a = Tensor.zeros(4,4)
|
|
b = Tensor.zeros(4,4)
|
|
assert(tensors_allocated() == 2)
|
|
(a*b).mean().backward()
|
|
assert(tensors_allocated() == 4)
|
|
del b
|
|
assert(tensors_allocated() == 2)
|
|
b = Tensor.zeros(4,4)
|
|
print(tensors_allocated())
|
|
(a*b).mean().backward()
|
|
print(tensors_allocated())
|
|
assert(tensors_allocated() == 4)
|
|
del b
|
|
assert(tensors_allocated() == 2)
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|