summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/test_functional.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/test_functional.py b/tests/test_functional.py
index d80a4f9..bfc3e28 100644
--- a/tests/test_functional.py
+++ b/tests/test_functional.py
@@ -1859,3 +1859,29 @@ def test_zp():
print(err1, err2, err3, err4, err5, err6)
+
+def test_extract_outliers():
+ for i in range(k):
+ shapeA = (4096, 4096*4)
+ idx = torch.unique(torch.randint(0, shapeA[1], size=(10,)).int()).cuda()
+ #idx = torch.Tensor([0]).int().cuda()
+ A = torch.randint(-128, 127, size=shapeA, device='cuda').to(torch.int8)
+ outliers1 = A[:, idx.long()]
+
+ CA, SA = F.transform(A, 'col_turing')
+
+ outliers2 = F.extract_outliers(CA, SA, idx)
+
+ assert outliers2.shape[0] == shapeA[0]
+ assert outliers2.shape[1] == idx.numel()
+
+ torch.testing.assert_allclose(outliers1, outliers2)
+
+ CA, SA = F.transform(A, 'col_ampere')
+
+ outliers2 = F.extract_outliers(CA, SA, idx)
+
+ assert outliers2.shape[0] == shapeA[0]
+ assert outliers2.shape[1] == idx.numel()
+
+ torch.testing.assert_allclose(outliers1, outliers2)