File size: 911 Bytes
176b11a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import pytest
from sparsevlm.scheduler import SparsityScheduler, make_scheduler


def test_bucket_bounds():
    s = SparsityScheduler(256, 10, 32)
    assert s.buckets[0]  == 32
    assert s.buckets[-1] == 256


def test_snap_always_gte():
    s = SparsityScheduler(256, 10, 32)
    for n in range(32, 257, 7):
        assert s.snap_to_bucket(n) >= n


def test_snap_in_buckets():
    s = SparsityScheduler(256, 10, 32)
    for n in range(32, 257, 5):
        assert s.snap_to_bucket(n) in s.buckets


def test_make_scheduler():
    s = make_scheduler(256)
    assert s.n_vis_max == 256
    assert len(s.buckets) > 0


def test_bucket_idx():
    s = SparsityScheduler(256, 10, 32)
    for n in [32, 64, 128, 256]:
        idx = s.get_bucket_idx(n)
        assert 0 <= idx < len(s.buckets)


def test_summary():
    s = make_scheduler(256)
    assert isinstance(s.summary(), str)
    assert len(s.summary()) > 0