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{m})$ time with $O((κ+ n) \log {m})$ work w.h.p. where $m$ is the number of hyperedges, and $κ$ is the sum of all vertex degrees. The CREW PRAM model algorithm has a running time of $O((\logΔ+\log{d})\log{m})$ and requires $O((κ+ n) \log {m})$ work w.h.p. It can be implemented work-optimal with $O(κ+n)$ 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{m})$时间复杂度和$O((κ+ n) \log {m})$工作量复杂度,其中$m$为超边数量,$κ$为所有顶点度数之和。CREW PRAM模型算法具有$O((\logΔ+\log{d})\log{m})$运行时间,且以高概率需要$O((κ+ n) \log {m})$工作量。该算法可实现工作量最优,在$O((\log{m}+\log{n})\log{m})$时间内完成$O(κ+n)$工作量。我们证明了算法具有$1/d$近似保证。通过使用CUDA和Kokkos在GPU上实现并运行所提算法,我们进行了实验评估。实验结果表明,该方法在真实世界超图实例上具有实际效率,相比单核CPU算法可获得最高76倍的加速比。