test_metis.py 802 Bytes
Newer Older
rusty1s's avatar
rusty1s committed
1
2
3
4
5
6
7
8
9
import pytest
import torch
from torch_sparse.tensor import SparseTensor

from .utils import devices


@pytest.mark.parametrize('device', devices)
def test_metis(device):
bwdeng20's avatar
bwdeng20 committed
10
11
    weighted_mat = SparseTensor.from_dense(torch.randn((6, 6), device=device))
    mat, partptr, perm = weighted_mat.partition(num_parts=2, recursive=False)
rusty1s's avatar
rusty1s committed
12
13
14
    assert partptr.numel() == 3
    assert perm.numel() == 6

rusty1s's avatar
update  
rusty1s committed
15
16
    unweighted_mat = SparseTensor.from_dense(torch.ones((6, 6), device=device))
    mat, partptr, perm = unweighted_mat.partition(num_parts=2, recursive=True)
bwdeng20's avatar
bwdeng20 committed
17
18
19
    assert partptr.numel() == 3
    assert perm.numel() == 6

rusty1s's avatar
update  
rusty1s committed
20
    unweighted_mat = unweighted_mat.set_value(None)
bwdeng20's avatar
bwdeng20 committed
21
    mat, partptr, perm = unweighted_mat.partition(num_parts=2, recursive=True)
rusty1s's avatar
rusty1s committed
22
    assert partptr.numel() == 3
rusty1s's avatar
typo  
rusty1s committed
23
    assert perm.numel() == 6