← Latest papers
🤖 machine learning

Scalable Optimal Transport Algorithm for Network Alignment

The paper introduces FastAlign, a scalable, sparsity-aware framework that accelerates optimal transport-based network alignment by leveraging custom kernel fusion and sparse-dense operations to achieve state-of-the-art accuracy with significantly reduced runtime on both CPU and GPU.

Original authors: Elaheh Hassani, Durga Mandarapu, Qi Yu, Hanghang Tong, Ariful Azad

Published 2026-07-15
📖 6 min read🧠 Deep dive

Original authors: Elaheh Hassani, Durga Mandarapu, Qi Yu, Hanghang Tong, Ariful Azad

Original paper licensed under CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). This is an AI-generated explanation of the paper below. It is not written or endorsed by the authors. For technical accuracy, refer to the original paper. Read full disclaimer

Imagine you have two massive, messy libraries of information. One is a social network where people are connected by friendships, and the other is a knowledge graph where facts are linked together. Your goal? To find the "twin" of every single person or fact in the second library that matches the first. This is called network alignment.

For a long time, the best way to do this was like trying to match every single book in Library A to every single book in Library B, one by one, while constantly rewriting a giant, dense spreadsheet of connections. It was incredibly accurate, but it was also painfully slow and ate up all the computer's memory, like trying to carry a mountain of books in your backpack.

Enter FastAlign, a new tool created by researchers at Texas A&M, Lawrence Berkeley National Laboratory, and the University of Illinois. They didn't invent a new way to guess the matches; instead, they figured out how to do the exact same math as the slow, heavy methods, but with a super-efficient strategy that skips the heavy lifting.

The "Giant Spreadsheet" Problem

The old methods (like PARROT and JOENA) treated the problem like a dense grid. Even though most libraries have empty spaces (most people don't know everyone, and most facts aren't linked to everything), the old algorithms kept calculating the empty spaces anyway. They were constantly building and updating massive, dense matrices—think of it as filling out a 10,000-by-10,000 grid where 99% of the boxes are empty. This wasted huge amounts of time and memory.

The FastAlign Magic: "Sparse" and "Fused"

FastAlign changes the game by realizing that real-world networks are sparse (mostly empty). Instead of carrying the whole mountain of books, FastAlign only carries the ones that actually exist.

Here is how they did it, using some clever tricks:

  1. The "Wide" Matrix Problem:
    Imagine you have a sparse list of friends (who knows whom) and you need to multiply it by a very wide list of attributes. Standard computer libraries are great at multiplying a sparse list by a tall, skinny list (like a short list of attributes). But in network alignment, the list is wide (it has as many columns as there are nodes in the network).

    • The Fix: The researchers built a custom tool, a SpMM kernel, specifically designed for these "wide" lists. Instead of fetching data from the slow main memory every single time, they organized the data into small blocks that fit perfectly into the computer's fast cache memory. It's like organizing your backpack so you grab a whole handful of books at once instead of reaching for one book, putting it down, and reaching for the next.
  2. The "Fusion" Trick:
    In the old methods, the computer would calculate a step, write the result to memory, read it back, calculate the next step, write it back again, and so on. This is like a chef cooking a meal by washing the pot, drying it, filling it with water, boiling it, pouring it out, and then starting the next step.

    • The Fix: FastAlign fuses these steps. It combines the entire chain of calculations into a single pass. The chef now keeps the pot hot and adds all the ingredients in one go, never pouring the water out until the dish is done. This drastically cuts down on the "traffic" moving data in and out of memory.
  3. Staying on the GPU:
    When running on powerful graphics cards (GPUs), FastAlign keeps all the data right on the card itself. It doesn't waste time shuttling data back and forth between the computer's main brain and the graphics card. It also reuses the same "plans" for calculations over and over, so it doesn't have to stop and think about how to start every time.

The Results: Fast and Accurate

The researchers tested FastAlign on real-world networks, including social graphs like ACM and DBLP, and synthetic graphs with up to 110,000 nodes.

  • Accuracy: FastAlign matches the accuracy of the state-of-the-art methods. It didn't cut corners to get fast; it just got smarter about how it did the math. On some datasets, it even matched the perfect scores of the best existing tools.
  • Speed: The speedup is massive.
    • On standard computer processors (CPUs), FastAlign is 3.89× to 9.45× faster than the best existing method (PARROT).
    • On powerful graphics cards (GPUs), it is 2.24× to 32.54× faster.
    • In some cases against slower methods, the speedup was even wilder, reaching up to 1,321.85× faster on GPUs.

What They Rejected

The paper is very clear about what doesn't work for this specific goal. They argue against the idea that you need to invent a completely new, complex "embedding" model (where you teach a computer to learn hidden patterns from scratch) to get good results. While those methods exist, the authors found that sticking to the original, proven "Optimal Transport" math but optimizing how it's calculated is the key to scaling up. They also showed that simply rewriting the old code in a different programming language (like C++ or CUDA) without these specific optimizations didn't actually make it much faster; the magic was in the algorithm, not just the language.

How Sure Are They?

The authors are very confident in these numbers because they measured them directly. They ran the code on real hardware (an AMD EPYC CPU and an NVIDIA A100 GPU) and tested it on real datasets and synthetic graphs. They didn't just suggest it might work; they proved it works by showing the time it took to run. They even tested it on graphs with 110,000 nodes, a size where the other methods literally ran out of memory and crashed.

In short, FastAlign is like taking a slow, heavy delivery truck and turning it into a nimble, high-speed drone. It carries the exact same cargo (the math), but it knows exactly which paths are empty and which ones are full, allowing it to zip through the network alignment problem with incredible speed.

Drowning in papers in your field?

Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.

Try Digest →