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()
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()
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
def test_proc_count_max(): with set_env_var('LK_NUM_PROCS', None): assert proc_count(max_default=1) == 1
def test_proc_count_env(): with set_env_var('LK_NUM_PROCS', '17'): assert proc_count() == 17 assert proc_count(level=1) == 1
def test_proc_count_no_div(): with set_env_var('LK_NUM_PROCS', None): assert proc_count(1) == mp.cpu_count()
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