brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.8 KiB · 230db82 Raw
73 lines · python
1# RUN: %PYTHON %s2# Standalone sanity check of context life-cycle.3import gc4import mlir.ir5 6assert mlir.ir.Context._get_live_count() == 07 8# Create first context.9print("CREATE C1")10c1 = mlir.ir.Context()11assert mlir.ir.Context._get_live_count() == 112c1_repr = repr(c1)13print("C1 = ", c1_repr)14 15print("GETTING AGAIN...")16c2 = c1._get_context_again()17c2_repr = repr(c2)18assert mlir.ir.Context._get_live_count() == 119assert c1_repr == c2_repr20 21print("C2 =", c2)22 23# Make sure new contexts on constructor.24print("CREATE C3")25c3 = mlir.ir.Context()26assert mlir.ir.Context._get_live_count() == 227c3_repr = repr(c3)28print("C3 =", c3)29assert c3_repr != c1_repr30print("FREE C3")31c3 = None32gc.collect()33assert mlir.ir.Context._get_live_count() == 134 35print("Free C1")36c1 = None37gc.collect()38assert mlir.ir.Context._get_live_count() == 139print("Free C2")40c2 = None41gc.collect()42assert mlir.ir.Context._get_live_count() == 043 44# Create a context, get its capsule and create from capsule.45c4 = mlir.ir.Context()46c4_capsule = c4._CAPIPtr47assert '"mlir.ir.Context._CAPIPtr"' in repr(c4_capsule)48c5 = mlir.ir.Context._CAPICreate(c4_capsule)49assert c4 is c550c4 = None51c5 = None52gc.collect()53 54# Create a global threadpool and use it in two contexts55tp = mlir.ir.ThreadPool()56assert tp.get_max_concurrency() > 057c5 = mlir.ir.Context()58c5.set_thread_pool(tp)59assert c5.get_num_threads() == tp.get_max_concurrency()60assert c5._mlir_thread_pool_ptr() == tp._mlir_thread_pool_ptr()61c6 = mlir.ir.Context()62c6.set_thread_pool(tp)63assert c6.get_num_threads() == tp.get_max_concurrency()64assert c6._mlir_thread_pool_ptr() == tp._mlir_thread_pool_ptr()65c7 = mlir.ir.Context(thread_pool=tp)66assert c7.get_num_threads() == tp.get_max_concurrency()67assert c7._mlir_thread_pool_ptr() == tp._mlir_thread_pool_ptr()68assert mlir.ir.Context._get_live_count() == 369c5 = None70c6 = None71c7 = None72gc.collect()73