it misses union_cross_equivalence and relabel_cross_equivalence before CUDA development