示例#1
0
def test_ii_impl_match():
    mkl_h = None
    nba_h = None
    try:
        with lktu.set_env_var('CSR_KERNEL', 'mkl'):
            mkl_h = run_sp(_train_ii)
        mkl = mkl_h.get()

        with lktu.set_env_var('CSR_KERNEL', 'numba'):
            nba_h = run_sp(_train_ii)
        nba = nba_h.get()

        assert mkl.sim_matrix_.nnz == nba.sim_matrix_.nnz
        assert mkl.sim_matrix_.nrows == nba.sim_matrix_.nrows
        assert mkl.sim_matrix_.ncols == nba.sim_matrix_.ncols

        assert all(mkl.sim_matrix_.rowptrs == nba.sim_matrix_.rowptrs)
        for i in range(mkl.sim_matrix_.nrows):
            sp, ep = mkl.sim_matrix_.row_extent(i)
            assert all(np.diff(mkl.sim_matrix_.values[sp:ep]) <= 0)
            assert all(np.diff(nba.sim_matrix_.values[sp:ep]) <= 0)
            assert set(mkl.sim_matrix_.colinds[sp:ep]) == set(
                nba.sim_matrix_.colinds[sp:ep])
            assert mkl.sim_matrix_.values[sp:ep] == \
                approx(nba.sim_matrix_.values[sp:ep], abs=1.0e-3)

    finally:
        mkl = None
        nba = None
        gc.collect()
        mkl_h.close()
        nba_h.close()
示例#2
0
def test_persist_dir(tmp_path):
    "Test persistence with a configured directory"
    matrix = np.random.randn(1000, 100)
    with lktu.set_env_var('LK_TEMP_DIR', os.fspath(tmp_path)):
        share = lks.persist(matrix)
        assert isinstance(share, lks.BPKPersisted)

    try:
        m2 = share.get()
        assert m2 is not matrix
        assert np.all(m2 == matrix)
        del m2
    finally:
        share.close()
示例#3
0
def test_proc_count_nest_env():
    with set_env_var('LK_NUM_PROCS', '7,3'):
        assert proc_count() == 7
        assert proc_count(level=1) == 3
        assert proc_count(level=2) == 1
示例#4
0
def test_proc_count_max():
    with set_env_var('LK_NUM_PROCS', None):
        assert proc_count(max_default=1) == 1
示例#5
0
def test_proc_count_env():
    with set_env_var('LK_NUM_PROCS', '17'):
        assert proc_count() == 17
        assert proc_count(level=1) == 1
示例#6
0
def test_proc_count_no_div():
    with set_env_var('LK_NUM_PROCS', None):
        assert proc_count(1) == mp.cpu_count()
示例#7
0
def test_proc_count_default():
    with set_env_var('LK_NUM_PROCS', None):
        assert proc_count() == mp.cpu_count() // 2
        assert proc_count(level=1) == 2