Abstract:
Graph algorithms are currently often used to solve various modeling tasks, since many real-life objects are well modeled by graphs (for example, a road network or social connections). At the same time, the efficient implementation of such algorithms is often very complex, which is due, in particular, to irregular memory access when working with graphs and the huge size of the input graphs. Graph frameworks — software environments for implementing graph algorithms — can help solve this problem. Previously, an architecture-independent VGL (Vector Graph Library) framework was developed that allows for efficient implementation of graph algorithms on various hardware platforms (multi-core processors with vector extensions, graphics accelerators and NEC vector processors). In this work, the performance of VGL was studied on different platforms, its performance was also compared with existing analogues, and an approach for automatic selection of input graph format based on machine learning methods was proposed and evaluated.