Graphs—data structures that determine the relationship among objects—are highly adaptable. It’s obvious to visualise a graph representing a social media network’s web of connections. But graphs are also used in programs as different as content recommendation and navigation. Graphs are the basis of all the researches, and hence, they are everywhere.
Ajay Brahmakshatriya has developed software to smoothly and efficiently run graph applications on a broader range of computer hardware. The software spreads GraphIt, a state-of-the-art graph programming language, to run on GPUs, hardware that prepares many data streams in parallel. The approach could stimulate graph analysis, notably for applications that profit from a GPU’s parallelism, such as recommendation algorithms.
When programmers write code, they don’t communicate directly to the computer hardware. The hardware itself functions in binary—1s and 0s—while the coder writes in a structured, “high-level” language made up of words and symbols. Interpreting that high-level language into hardware-readable binary requires programs called compilers. One such compiler, specially composed for graph analysis, is GraphIt.
GraphIt optimizes the performance of graph-based algorithms despite the size and shape of the graph. GraphIt enables the user to not only input an algorithm but also to record how that algorithm runs on the hardware.
Several startups and established tech firms alike have adopted GraphIt to assist their branch of graph applications.
The new optimized scheduling for GPUs lifts the graph algorithms which demand high parallelism—including recommendation algorithms or internet search purposes that shift through millions of websites concurrently.