We present efficient parallel algorithms for computing maximal matchings in hypergraphs. Our algorithm finds locally maximal edges in the hypergraph and adds them in parallel to the matching. In the CRCW PRAM models our algorithms achieve $O(\log{\logΔ}\log{m})$ time with $O(κ\log {m})$ work w.h.p. where $m$ is the number of hyperedges, and $κ$ is the sum and $Δ$ is the maximum of all vertex degrees. The CREW PRAM model algorithm has a running time of $O((\logΔ+\log{d})\log{m})$ and requires $O(κ\log {m})$ work w.h.p. It can be implemented work-optimal with $O(κ)$ work in $O((\log{m}+\log{n})\log{m})$ time. We prove a~$1/d$-approximation guarantee for our algorithms. We evaluate our algorithms experimentally by implementing and running the proposed algorithms on the GPU using CUDA and Kokkos. Our experimental evaluation demonstrates the practical efficiency of our approach on real-world hypergraph instances, yielding a speed up of up to 76 times compared to a single-core CPU algorithm.
翻译:我们提出用于计算超图最大匹配的高效并行算法。我们的算法在超图中寻找局部最大边,并将其并行添加到匹配中。在 CRCW PRAM 模型下,我们的算法以高概率实现 $O(\log{\logΔ}\log{m})$ 时间复杂度和 $O(κ\log {m})$ 工作复杂度,其中 $m$ 为超边数量,$κ$ 为所有顶点度数之和,$Δ$ 为最大顶点度数。CREW PRAM 模型算法的运行时间为 $O((\logΔ+\log{d})\log{m})$,以高概率需要 $O(κ\log {m})$ 工作,该算法可实现在 $O((\log{m}+\log{n})\log{m})$ 时间内以 $O(κ)$ 工作量达到工作最优性。我们证明了算法具有 $1/d$ 近似保证。通过使用 CUDA 和 Kokkos 在 GPU 上实现并运行所提出的算法,我们进行了实验评估。实验结果表明,该方法在实际超图实例上具有实用效率,相较单核 CPU 算法实现高达 76 倍的加速。