| Graphs,as a way of modeling data,can accurately depict scenes in the real world.With the development of deep learning,graph neural networks have demonstrated their advantages in modeling structured graph data and have achieved superior performance in practical scenarios.Although traditional deep learning frameworks like TensorFlow and PyTorch provide convenient tools for implementing neural network algorithms,they do not support key operations of graph neural networks very well.These operations include data management and processing,computation of message passing mechanisms based on sparse matrices,and model training and deployment.To accelerate the development of graph neural networks,industry and academia have proposed graph neural network frameworks such as DGL and PyG.These frameworks primarily provide components for graph data management,message passing mechanisms for computation,and graph sampling to expand the trainable graph size.However,most existing graph neural network frameworks only support specific deep learning frameworks as backends.For example,PyG is tightly coupled with Py Torch,and PGL can only run on PaddlePaddle.Existing libraries are based on different deep learning platforms and multiple hardware environments,making algorithm portability difficult.Different algorithm platforms adopt different standards for representing and storing graph neural networks,preventing interoperability and collaboration between different graph neural network frameworks.Furthermore,as the number of graph neural network algorithms increases,there are significant differences between different algorithm architectures.Evaluating the performance of different modules in graph neural network architectures accurately has become a new problem.In addition,selecting suitable algorithms and applying them quickly to different scenarios consumes a significant amount of researchers’ time.Therefore,integrating an automatic machine learning module into the library is of great significance.This project aims to design and implement an open-source graph neural network algorithm library.The library features support for multiple deep learning platforms,multiple hardware options,high performance,and automation,providing users with a user-friendly and scalable interface.First,existing graph analysis tools,deep learning frameworks,and graph neural network frameworks were investigated and analyzed.The characteristics of existing graph neural network frameworks were analyzed from four dimensions:abstract design principles of graphs,computation and operators,model training and deployment,and based on deep learning frameworks.Based on the analysis results,the library was designed with a tensor-centered design principle,including three core components:graph data management module,message passing mechanism module,and graph sampling module.Moreover,the library is based on a unified deep learning programming framework and supports the four mainstream deep learning platforms:TensorFlow,PyTorch,PaddlePaddle,and MindSpore.Based on the proposed overall architecture,the library designs and implements the three major components.The graph data management module mainly includes functions such as abstract representation of graph data,storage and query of graph data,and management of graph datasets.The message passing mechanism module abstracts the core calculation process of graph neural networks and implements sparse computation operators in the four deep learning frameworks.The graph sampling module encapsulates neighbor sampling algorithms and supports the training process of mini-batch graphs,thereby expanding the trainable graph size.Based on these three core components,the library implements over forty typicaland advanced graph neural network algorithms.Additionally,the library supports user-defined algorithms.Finally,to enhance the user experience of the open-source library and improve the efficiency of algorithm applications,the design space of heterogeneous graph neural networks was studied and designed.Through extensive experiments,the entire design space was compressed,and the best performance could be obtained through random search in a compact space.Furthermore,graph automated machine learning techniques were integrated into the library,providing a platform for the rapid application of graph neural network algorithms in different scenarios. |