Method, apparatus, device, medium and program product for establishing a communication link
By building point-to-point communication links between dies within a node, treating dies as independent computing devices, the problem of the upper limit on the number of GPUs within a node is solved, enabling larger-scale parallel group communication and reducing cluster setup costs and latency overhead.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHANGHAI BIREN TECH CO LTD
- Filing Date
- 2025-12-23
- Publication Date
- 2026-04-10
AI Technical Summary
In existing distributed training systems, the upper limit on the number of GPUs within a node restricts the scale of group communication. Cross-node communication is costly and suffers from severe latency overhead, making it difficult to scale to larger-scale parallel groups.
By building point-to-point communication links between multiple dies within a node, treating each die as an independent computing device, the scale of aggregated communication is expanded, and communication latency between nodes is avoided.
Without adding physical computing equipment, the scale of intra-node aggregate communication was expanded, saving cluster setup costs and reducing inter-node communication latency.
Smart Images

Figure CN121387809B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] Embodiments of the present application relate to the technical field of artificial intelligence chip, and in particular to a method and apparatus for establishing a communication link, a device, a medium and a program product. BACKGROUND
[0002] With the rapid growth of the parameter scale of deep learning models, distributed parallel training has become a key technology. In such training, multiple computing devices need to work together, and the collective communication operation is the core of synchronizing gradients and ensuring consistent computation, and its performance directly determines the overall training efficiency.
[0003] Existing distributed training systems usually adopt a hierarchical communication architecture: intra-node communication and inter-node communication. Within a single computing node, multiple GPUs communicate with each other through dedicated point-to-point links. Such communication has extremely high bandwidth and extremely low latency, enabling efficient intra-node collective communication. However, due to physical design and cost constraints, the number of GPUs that a single node can accommodate has an upper limit (usually 8 GPUs), so the scale of intra-node collective communication is limited to this upper limit.
[0004] When the model scale is further expanded and a larger scale of parallel groups is needed (for example, the tensor parallel dimension is expanded to 16), it is necessary to build a multi-node computing cluster across single nodes. In this architecture, GPUs within a node communicate through point-to-point links, while inter-node communication relies on high-performance networks. This cross-node network expansion approach has two main problems. On the one hand, the infrastructure cost of building and maintaining a high-performance network is high. On the other hand, the network bandwidth between nodes is much lower than the bandwidth within a node, causing serious latency overhead for network communication. SUMMARY
[0005] Embodiments of the present application provide a method and apparatus for establishing a communication link, a device, a medium and a program product, to expand the scale of intra-node collective communication while reducing the cost of building a cluster and avoiding the latency overhead caused by inter-node communication.
[0006] In a first aspect, the embodiments of the present application provide a method for establishing a communication link, the method comprising:
[0007] Obtaining attribute information of each computing device deployed in a node, wherein the node deploys multiple computing devices, and each computing device includes multiple dies;
[0008] For each computing device, the following operations are performed: based on the attribute information of the computing device, configuring the attribute information of each die in the computing device to obtain the attribute information of multiple dies;
[0009] construct, according to the attribute information of the plurality of dies, a point-to-point communication link between the plurality of dies.
[0010] In a second aspect, an embodiment of the present application provides a device for establishing a communication link, the device comprising:
[0011] an obtaining unit configured to obtain attribute information of each computing device deployed in a node, wherein the node deploys a plurality of the computing devices, and each of the computing devices comprises a plurality of dies;
[0012] a processing unit configured to, for each of the computing devices, perform the following operations: based on the attribute information of the computing device, configuring attribute information of each die in the computing device, and obtaining attribute information of the plurality of dies;
[0013] a constructing unit configured to construct, according to the attribute information of the plurality of dies, a point-to-point communication link between the plurality of dies.
[0014] Optionally, the constructing unit is specifically configured to:
[0015] construct a point-to-point communication link between the plurality of dies in a same computing device, and construct a point-to-point communication link between the plurality of dies in different computing devices.
[0016] Optionally, the attribute information of the computing device comprises an identifier of the computing device, a connection relationship between the computing device and other computing devices, and a point-to-point communication link bandwidth of the computing device.
[0017] The processing unit is specifically configured to:
[0018] generate, based on the identifier of the computing device, an identifier of each die in the computing device;
[0019] generate, according to the connection relationship between the computing device and other computing devices, an initial connection relationship between each die in the computing device and a die in other computing devices, and add, in the initial connection relationship of each die, a connection relationship between the die and other dies belonging to a same computing device, to obtain a connection relationship attribute of each die;
[0020] distribute, according to a preconfigured distribution manner, the point-to-point communication link bandwidth of the computing device to the plurality of dies in the computing device, to obtain a point-to-point communication link bandwidth of each die.
[0021] combine the identifier, the connection relationship attribute, and the point-to-point communication link bandwidth of each die to generate the attribute information of each die.
[0022] Optionally, the processing unit is specifically configured to:
[0023] The initial connection relationship between each die in the computing device and the die in the other computing device is extracted from the connection relationship between the computing device and the other computing device, wherein the connection relationship between the computing device and the other computing device includes the connection relationship between each die in the computing device and the die in the other computing device.
[0024] In a third aspect, an embodiment of the present application provides a computer device, including a memory, a processor chip, and a computer program stored in the memory and executable on the processor chip, and the processor chip implements the steps of the method for establishing a communication link when executing the program.
[0025] In a fourth aspect, an embodiment of the present application provides a computer readable storage medium storing a computer program executable by a computer device, and when the program is executed on the computer device, the computer device executes the steps of the method for establishing a communication link.
[0026] In a fifth aspect, an embodiment of the present application provides a computer program product, including a computer program stored in a computer readable storage medium, and the computer program includes program instructions, and when the program instructions are executed by a computer device, the computer device executes the steps of the method for establishing a communication link.
[0027] In an embodiment of the present application, in the case that multiple computing devices are deployed in a node and each computing device includes multiple dies, the attribute information of each computing device deployed in the node is acquired, and for each computing device, the attribute information of each die in the computing device is configured based on the attribute information of the computing device, so as to obtain the attribute information of the multiple dies, and then the dies are regarded as computing devices independently participating in computation, and a point-to-point communication link between the multiple dies is constructed according to the attribute information of the multiple dies.
[0028] Taking the case that a server configures eight computing devices and each computing device includes two dies as an example, in an embodiment of the present application, by regarding the dies as computing devices independently participating in computation, a point-to-point communication link between the multiple dies is constructed in a single node, so that the communication between 16 dies can be implemented in a single server in the case that the number of physical computing devices (eight) does not change, and each die can process data as a computing device independently, so that the collective communication scale in the node is expanded, and when a larger parallel group (for example, the tensor parallel dimension is expanded to 16) is needed, the larger parallel group can be implemented in a single node, without the need to build two servers, thereby saving the cluster building cost, and in the collective communication built by the embodiment of the present application, the communication between the 16 dies belongs to the node internal communication, which can effectively avoid the delay overhead caused by the node-to-node communication. BRIEF DESCRIPTION OF DRAWINGS
[0029] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed to be used in the embodiments will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative effort on the basis of these drawings.
[0030] Figure 1 A structural schematic diagram of an artificial intelligence chip provided for an embodiment of the present application is shown in the figure.
[0031] Figure 2 A flowchart of a method for establishing a communication link provided for an embodiment of the present application is shown in the figure.
[0032] Figure 3 A principle schematic diagram of a generation mode of a connection relationship attribute of a die provided for an embodiment of the present application is shown in the figure.
[0033] Figure 4 A principle schematic diagram of a communication link in related technologies provided for an embodiment of the present application is shown in the figure.
[0034] Figure 5 A principle schematic diagram of a communication link provided for an embodiment of the present application is shown in the figure.
[0035] Figure 6 A structural schematic diagram of an apparatus for establishing a communication link provided for an embodiment of the present application is shown in the figure.
[0036] Figure 7 A structural schematic diagram of a computer device provided for an embodiment of the present application is shown in the figure. DETAILED DESCRIPTION
[0037] In order to make the purpose, technical solutions and advantages of the embodiments of the present application more clear, the technical solutions of the present application will be described clearly and completely in the following with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only some of the embodiments of the present application, but not all the embodiments. Based on the embodiments described in the present application document, all the other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the technical solutions of the present application.
[0038] Some concepts involved in the embodiments of the present application will be introduced in the following.
[0039] 1、Intra-node communication refers to data communication between multiple processors (such as GPUs, central processing units (CPUs)) inside the same physical server (or computing node). The communication between multiple processors is achieved through a high-speed direct bus or point-to-point communication link at the motherboard level, which has the advantages of high bandwidth and low latency.
[0040] 2、Inter-node communication refers to data communication between different physical servers (or computing nodes). Different physical servers are connected through external network equipment and cables, and usually communicate using network protocols such as high-speed Ethernet. Compared to intra-node communication, inter-node communication has lower bandwidth and higher latency, and is affected by network topology and congestion.
[0041] The design idea of the embodiments of the present application will be briefly introduced as follows:
[0042] In related technologies, there is an upper limit to the number of GPUs that a single node can accommodate. The multi-node computing cluster architecture, on the one hand, has a high cost of infrastructure required to build and maintain high-performance networks; on the other hand, the network bandwidth between nodes is much lower than the bandwidth within the node, causing serious latency overhead for network communication.
[0043] The embodiments of the present application provide a method, device, equipment, medium and program product for establishing a communication link. In the case where multiple computing devices are deployed within a node and each computing device includes multiple dies, the attribute information of each computing device deployed within the node is obtained, and for each computing device, the attribute information of each die in the computing device is configured based on the attribute information of the computing device, thereby obtaining the attribute information of the multiple dies. Then, the dies are regarded as computing devices that independently participate in computing, and a point-to-point communication link between the multiple dies is constructed according to the attribute information of the multiple dies.
[0044] Taking a server configured with eight computing devices, each including two dies as an example, the embodiments of the present application construct a point-to-point communication link between multiple dies within a single node by regarding the dies as computing devices that independently participate in computing. This can achieve communication between 16 dies within a single server without changing the number of physical computing devices (8), and each die can process data as a computing device, thereby expanding the scale of intra-node collective communication. When a larger parallel group is needed (for example, the tensor parallel dimension is expanded to 16), it can be achieved within a single node without the need to build two servers, saving cluster building costs. In the collective communication built by the embodiments of the present application, the communication between the 16 dies is intra-node communication, which can effectively avoid the latency overhead caused by inter-node communication.
[0045] The preferred embodiments of the present application are described below with reference to the accompanying drawings. It should be understood that the preferred embodiments described herein are only used to explain and illustrate the present application, and are not used to limit the present application, and the embodiments in the present application and the features in the embodiments can be combined with each other without conflict.
[0046] Reference Figure 1 which is a structural diagram of an artificial intelligence chip applicable to the embodiments of the present application. The artificial intelligence chip 100 at least includes a plurality of dies 102, wherein each die 102 can include a plurality of Streaming Processing Cluster (SPC).
[0047] In the embodiments of the present application, a plurality of computing devices are deployed in a node, and each computing device includes a plurality of dies. When establishing a communication link, the driver controller (or operating system) obtains attribute information of each computing device deployed in the node, and for each computing device, based on the attribute information of the computing device, configures attribute information of each die in the computing device, thereby obtaining attribute information of the plurality of dies, and then regards the dies as computing devices independently participating in computing, and constructs a point-to-point communication link between the plurality of dies according to the attribute information of the plurality of dies.
[0048] Compared with the traditional scheme (the plurality of dies in the computing device participate in computing as a whole), the embodiments of the present application can expand the scale of collective communication in the node by regarding the dies as computing devices independently participating in computing and constructing a point-to-point communication link between the plurality of dies in the single node, save the cost of building a cluster, and avoid the delay overhead caused by inter-node communication.
[0049] In addition to the above structure, the artificial intelligence chip 100 in the present application can also include other structures, which are not limited in the present application.
[0050] The artificial intelligence chip 100 can be a GPU, a General-purpose computing on graphics processing units (GPGPU), a Domain Specific Architecture (DSA), etc.
[0051] Specifically, the communication link established by the embodiments of the present application can be applied to processing large model inference tasks in various scenarios, such as image processing scenarios, voice processing scenarios, text processing scenarios, etc. The large model can process various tasks in the communication link constructed by the embodiments of the present application.
[0052] For example, in a text processing scenario, the input tensor of the large model can be text data used in text generation, text recognition and other tasks. After receiving the text data, the large model processes the text data in parallel using the communication link constructed by the embodiments of the present application to reduce the delay overhead of data transmission or data synchronization during processing, thereby improving the inference efficiency and speed of the large model.
[0053] For example, in a speech processing scenario, the input tensor of the large model can be speech data used in speech enhancement, speech recognition, speech synthesis and other tasks. After receiving the speech data, the large model processes the speech data in parallel using the communication link constructed by the embodiments of the present application to reduce the delay overhead of data transmission or data synchronization during processing, thereby improving the inference efficiency and speed of the large model.
[0054] For example, in an image processing scenario, the input tensor of the large model can be image data used in image preprocessing, image segmentation, target detection and other tasks. After receiving the image data, the large model processes the image data in parallel using the communication link constructed by the embodiments of the present application to reduce the delay overhead of data transmission or data synchronization during processing, thereby improving the inference efficiency and speed of the large model.
[0055] The following will be based on the architecture diagram of the artificial intelligence chip shown in Figure 1 , to specifically introduce the flow of the method for establishing a communication link provided by the embodiments of the present application, refer to Figure 2 , which is executed by an operating system or a driver program, and includes the following steps:
[0056] S201, attribute information of each computing device deployed in a node is obtained, wherein the node deploys multiple computing devices, and each computing device includes multiple dies.
[0057] It should be noted that in the embodiments of the present application, the node, i.e. the computing node, can be a server, and the computing node deploys multiple computing devices (e.g. GPUs), and each computing device includes multiple dies. Taking the case where a computing device includes two dies as an example, one of the two dies is a master die and the other is a slave die, and the master die and the slave die process data at the same time.
[0058] In specific implementation, the attribute information of each computing device deployed in the node can be obtained in a manner in the related art, which is not limited in the embodiments of the present application. The attribute information of the computing device at least includes: the identifier of the computing device, the connection relationship between the computing device and other computing devices, and the bandwidth of the point-to-point communication link of the computing device.
[0059] The identifier of the computing device is used to uniquely identify the computing device, and the identifiers of different computing devices are different, so as to distinguish different computing devices; the connection relationship of the computing device with other computing devices includes the connection relationship between each die in the computing device and the die in other computing devices; and the point-to-point communication link bandwidth of the computing device refers to the point-to-point communication link bandwidth available to the computing device.
[0060] S202, for each computing device, the following operations are performed: based on the attribute information of the computing device, configuring the attribute information of each die in the computing device, and obtaining the attribute information of the plurality of dies.
[0061] In specific implementation, after obtaining the attribute information of each computing device, for each computing device, the attribute information of each die in the computing device is configured based on the attribute information of the computing device, and after the attribute information of the dies in all computing devices is configured, the attribute information of the plurality of dies in the node is obtained.
[0062] It should be noted that the attribute information of the computing device at least includes the identifier of the computing device, the connection relationship of the computing device with other computing devices, and the point-to-point communication link bandwidth of the computing device. Therefore, when configuring the attribute information of the die, at least the identifier of the die, the connection relationship attribute of the die, and the point-to-point communication link bandwidth of the die need to be configured.
[0063] In actual application, when configuring the attribute information of each die in the computing device based on the attribute information of the computing device, the identifier of each die in the computing device can be generated based on the identifier of the computing device; the initial connection relationship between each die in the computing device and the die in other computing devices is generated according to the connection relationship of the computing device with other computing devices, and the connection relationship between the die and other dies belonging to the same computing device is added in the initial connection relationship of each die to obtain the connection relationship attribute of each die; and the point-to-point communication link bandwidth of the computing device is allocated to the plurality of dies in the computing device according to the preconfigured allocation mode to obtain the point-to-point communication link bandwidth of each die.
[0064] Specifically, when generating the identifier of each die in the computing device, the embodiment of the present application generates it based on the identifier of the computing device, and in this way, the computing device to which each die belongs can be determined conveniently. For example, assuming that the identifier of the computing device is A0, and the computing device includes two dies, the identifiers of the two dies can be configured as A0_1 and A0_2 respectively.
[0065] Of course, it should be noted that in other embodiments of the present application, when generating the identifier of each die in the computing device, the identifier of each die can also be configured by redefining rules without depending on the identifier of the computing device.
[0066] According to the connection relationship between the computing device and other computing devices, the initial connection relationship between each die in the computing device and the dies in other computing devices is generated respectively. Since the attribute information of the computing device (the connection relationship between the computing device and other computing devices) includes the connection relationship between each die in the computing device and the dies in other computing devices, the initial connection relationship between each die and the dies in other computing devices can be directly extracted from the attribute information of the computing device (the connection relationship between the computing device and other computing devices), and then the connection relationship between the die and other dies belonging to the same computing device is added to the initial connection relationship of the die to obtain the connection relationship attribute of each die.
[0067] In one example, as shown in FIG. 8, it is assumed that 8 GPUs are deployed in a node, which are GPU0, GPU1, GPU2, GPU3, GPU4, GPU5, GPU6 and GPU7 respectively. Each GPU includes two dies, die 30 and die 31 in GPU0, die 32 and die 33 in GPU1, die 34 and die 35 in GPU2, die 36 and die 37 in GPU3, die 300 and die 301 in GPU4, die 302 and die 303 in GPU5, die 304 and die 305 in GPU6, and die 306 and die 307 in GPU7. Figure 3
[0068] After obtaining the attribute information of each GPU, the connection relationship between each die in the GPU and the dies in other GPUs can be obtained (as shown in the connection relationship in FIG. 9). Taking GPU0 as an example, the connection relationship between each die in GPU0 and the dies in other GPUs is: die 30 is connected with die 32 in GPU1, die 30 is connected with die 34 in GPU2, die 30 is connected with die 36 in GPU3, die 30 is connected with die 300 in GPU4, die 31 is connected with die 33 in GPU1, die 31 is connected with die 35 in GPU2, die 31 is connected with die 37 in GPU3, and die 31 is connected with die 301 in GPU4. Figure 4
[0069] In the configuration of the connection relationship attribute of each die, the initial connection relationship of each die can be extracted from the attribute information of the GPU. Still taking GPU0 as an example, the initial connection relationship of die 30 and die 31 is extracted from the connection relationship between each die in GPU0 and the dies in other GPUs. Among them, the initial connection relationship of die 30 is: die 30 is connected with die 32, die 30 is connected with die 34, die 30 is connected with die 36, and die 30 is connected with die 300; the initial connection relationship of die 31 is: die 31 is connected with die 33, die 31 is connected with die 35, die 31 is connected with die 37, and die 31 is connected with die 301.
[0070] Then, in the initial connection relationship of each die, the connection relationship of the die and other dies belonging to the same computing device is added to obtain the connection relationship attribute of each die. Still taking die 30 and die 31 as an example, die 30 and die 31 belong to the same computing device (GPU0), so the connection relationship of die 30 and die 31 is added to the initial connection relationship of die 30, and the connection relationship of die 31 and die 30 is added to the initial connection relationship of die 31. Finally, the connection relationship attribute of die 30 is obtained as: die 30 is connected with die 32, die 30 is connected with die 34, die 30 is connected with die 36, die 30 is connected with die 300, and die 30 is connected with die 31; the connection relationship attribute of die 31 is: die 31 is connected with die 33, die 31 is connected with die 35, die 31 is connected with die 37, die 31 is connected with die 301, and die 31 is connected with die 30.
[0071] Similarly, the connection relationship attribute of each die in other GPUs can be generated in the same way as the connection relationship attribute of die 30 and die 31 in GPU0.
[0072] When the point-to-point communication link bandwidth of the computing device is allocated to the plurality of dies in the computing device according to the preconfigured allocation mode to obtain the point-to-point communication link bandwidth of each die, the preconfigured allocation mode can be set according to experience, which is not limited by the embodiments of the present application. For example, the preconfigured allocation mode can be equal division, and if the point-to-point communication link bandwidth of the computing device is A, the point-to-point communication link bandwidth obtained by each die is A / 2 when the computing device includes two dies.
[0073] In the specific implementation, after obtaining the identifier, the connection relationship attribute, and the point-to-point communication link bandwidth of each die, the identifier, the connection relationship attribute, and the point-to-point communication link bandwidth of each die can be combined to obtain the attribute information of each die.
[0074] S203, constructing a point-to-point communication link between the plurality of dies according to the attribute information of the plurality of dies.
[0075] In a specific implementation, after obtaining the attribute information of the plurality of dies, the point-to-point communication link between the plurality of dies is constructed, which includes constructing the point-to-point communication link between the plurality of dies in the same computing device, and constructing the point-to-point communication link between the plurality of dies in different computing devices, to generate a connection topology between the plurality of dies, and constructing a collective communication between the plurality of dies.
[0076] The above describes each implementation step of the method for establishing a communication link provided by the embodiments of the present application respectively. In the following, the method for establishing a communication link provided by the embodiments of the present application is described in detail by taking the case of deploying two GPUs in a node and comparing with the method in the related art. Figure 4 and Figure 5 The method for establishing a communication link provided by the embodiments of the present application is described in detail by taking the case of deploying two GPUs in a node and comparing with the method in the related art.
[0077] As shown in Figure 4 , two computing devices, GPU0 and GPU1, are deployed in the node, each of which includes two dies, GPU0 includes die 40 and die 41, and GPU1 includes die 42 and die 43. In the related art, when constructing a collective communication, a point-to-point communication link is constructed between die 40 and die 42, and a point-to-point communication link is constructed between die 41 and die 43, to generate a connection topology between GPU0 and GPU1, construct a collective communication of the two computing devices, and the communication scale is 2.
[0078] As shown in Figure 5 , still taking the case shown in Figure 4 , when constructing a collective communication, the embodiments of the present application obtain the attribute information of GPU0 and the attribute information of GPU1, and then configure the attribute information of die 40 and the attribute information of die 41 based on the attribute information of GPU0, and configure the attribute information of die 42 and the attribute information of die 43 based on the attribute information of GPU1.
[0079] Then, the dies are regarded as computing devices that independently participate in computing, specifically, die 40 can be regarded as GPU00, die 41 can be regarded as GPU01, die 42 can be regarded as GPU10, and die 43 can be regarded as GPU11, and a point-to-point communication link between die 40 and die 43 is constructed according to the attribute information of die 40~43, specifically including a point-to-point communication link between die 40 and die 41, a point-to-point communication link between die 40 and die 42, a point-to-point communication link between die 41 and die 43, and a point-to-point communication link between die 42 and die 43, to generate a connection topology between die 40~43, and construct a collective communication of the four computing devices in the form of a virtual computing device, and the communication scale is 4.
[0080] Comparison Figure 4 And Figure 5 The communication link establishment method provided by the embodiment of the application can expand the scale of the collective communication in the node. The upper limit of the single node configuration computing device is currently 8. When a larger scale parallel group (for example, the tensor parallel dimension is expanded to 16) is needed, two nodes need to be configured, and inter-node communication is introduced. However, by using the communication link establishment method provided by the embodiment of the application, the communication between 16 dies can be realized in a single node, without the need to build two servers, thereby saving the cluster building cost, and the communication between 16 dies is node-internal communication, which can effectively avoid the delay overhead caused by inter-node communication.
[0081] Based on the same technical concept, the embodiment of the application provides a structural diagram of a communication link establishment device, as shown in Figure 6 The communication link establishment device 600 comprises:
[0082] An acquisition unit 601 is configured to acquire attribute information of each computing device deployed in a node, wherein a plurality of computing devices are deployed in the node, and each computing device comprises a plurality of dies.
[0083] A processing unit 602 is configured to perform the following operations on each computing device: based on the attribute information of the computing device, configuring the attribute information of each die in the computing device to obtain the attribute information of the plurality of dies.
[0084] A construction unit 603 is configured to construct a point-to-point communication link between the plurality of dies according to the attribute information of the plurality of dies.
[0085] Optionally, the construction unit 603 is specifically configured to:
[0086] Construct a point-to-point communication link between the plurality of dies in the same computing device, and construct a point-to-point communication link between the plurality of dies in different computing devices.
[0087] Optionally, the attribute information of the computing device comprises: an identifier of the computing device, a connection relationship between the computing device and other computing devices, and a point-to-point communication link bandwidth of the computing device.
[0088] The processing unit 602 is specifically configured to:
[0089] Generate an identifier of each die in the computing device based on the identifier of the computing device.
[0090] According to the connection relationship between the computing device and other computing devices, initial connection relationships of each die in the computing device and dies in other computing devices are generated respectively, and the initial connection relationship of each die is added with a connection relationship between the die and other dies belonging to the same computing device, to obtain a connection relationship attribute of each die;
[0091] According to a pre-configured allocation manner, a point-to-point communication link bandwidth of the computing device is allocated to the plurality of dies in the computing device, to obtain a point-to-point communication link bandwidth of each die.
[0092] The identification, the connection relationship attribute, and the point-to-point communication link bandwidth of each die are combined to generate attribute information of each die.
[0093] Optionally, the processing unit 602 is specifically configured to:
[0094] The initial connection relationships of each die in the computing device and dies in other computing devices are extracted from the connection relationship between the computing device and other computing devices, wherein the connection relationship between the computing device and other computing devices includes the connection relationship between each die in the computing device and dies in other computing devices.
[0095] Based on the same technical concept, the embodiment of the present application provides a computer device, as shown in the figure, which comprises at least one processor chip 701 and a memory 702 connected with the at least one processor chip. Figure 7 In the embodiment of the present application, the specific connection medium between the processor chip 701 and the memory 702 is not limited, Figure 7 For example, the processor chip 701 and the memory 702 are connected through a bus in the embodiment of the present application. The bus can be divided into an address bus, a data bus, a control bus, etc.
[0096] In the embodiment of the present application, the memory 702 stores instructions executable by the at least one processor chip 701, and the at least one processor chip 701 can execute the steps of the above-mentioned communication link establishment method by executing the instructions stored in the memory 702.
[0097] The processor chip 701 is the control center of the computer device, can connect various parts of the computer device by using various interfaces and lines, and realize data processing by running or executing instructions stored in the memory 702 and calling data stored in the memory 702. Optionally, the processor chip 701 can include one or more processing units, and the processor chip 701 can integrate an application processor and a modem processor. The application processor mainly processes an operating system, a user interface, an application program and the like, and the modem processor mainly processes wireless communication. It can be understood that the above-mentioned modem processor can also not be integrated into the processor chip 701. In some embodiments, the processor chip 701 and the memory 702 can be implemented on the same chip, and in some embodiments, they can also be implemented on independent chips respectively.
[0098] The processor chip 701 can be a general-purpose processor, for example, a graphics processing unit (GPU), a general-purpose computing on graphics processing units (GPGPU), a central processing unit (CPU), a digital signal processor, an application specific integrated circuit (ASIC), a field programmable gate array or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component, and can implement or execute the methods, steps and logic block diagrams disclosed in the embodiments of the present application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in combination with the embodiments of the present application can be directly embodied as hardware processor execution or executed by a combination of hardware and software modules in the processor.
[0099] The memory 702, as a non-volatile computer readable storage medium, can be used to store non-volatile software programs, non-volatile computer executable programs and modules. The memory 702 can include at least one type of storage medium, for example, can include flash memory, hard disk, multimedia card, card type memory, random access memory (RAM), static random access memory (SRAM), programmable read-only memory (PROM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), magnetic storage, magnetic disk, optical disk, etc. The memory 702 is any other medium capable of carrying or storing desired program codes in the form of instructions or data structures and capable of being accessed by a computer device, but is not limited thereto. The memory 702 in the embodiments of the present application can also be a circuit or any other device capable of realizing a storage function, used to store program instructions and / or data.
[0100] Based on the same inventive concept, the embodiments of the present application provide a computer readable storage medium storing a computer program executable by a computer device, which, when executed on the computer device, causes the computer device to perform the steps of the method for establishing a communication link.
[0101] Based on the same inventive concept, the embodiments of the present application provide a computer program product comprising a computer program stored on a computer readable storage medium, the computer program comprising program instructions which, when executed by a computer device, cause the computer device to perform the steps of the method for establishing a communication link.
[0102] Those skilled in the art should understand that the embodiments of the present application can be provided as a method, or a computer program product. Therefore, the present application can take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present application can take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROMs, optical storage, etc.) containing computer usable program code.
[0103] The present application is described in reference to the flowchart and / or block diagrams of the methods, apparatus (systems) and computer program products according to embodiments of the application. It will be understood that each block of the flowchart and / or block diagrams, and combinations of blocks in the flowchart and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart and / or block diagram block or blocks. Figure 1 one or more flowcharts and / or blocks Figure 1 one or more flowcharts and / or blocks
[0104] These computer program instructions can also be stored in a computer- readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instructions which implement the function specified in the flowchart and / or block diagram block or blocks. Figure 1 one or more flowcharts and / or blocks Figure 1 one or more flowcharts and / or blocks
[0105] These computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart and / or block diagram block or blocks. Figure 1 one or more flowcharts and / or blocks Figure 1 one or more flowcharts and / or blocks
[0106] While the preferred embodiments of the application have been described, additional variations and modifications can be made to the embodiments described and shown herein. It is therefore intended that the application not be limited to the preferred embodiments described herein, but that the application can also be implemented within other embodiments that fall within the scope of the application. Accordingly, while the application is susceptible to various modifications and alternative forms, specific embodiments have been shown by way of example in order to
[0107] Obviously, many modifications and variations of the present application are possible in light of the above teachings. It is, therefore, to be understood that within the scope of the appended claims and their equivalents, the application can be practiced otherwise than as specifically described.
Claims
1. A method of establishing a communication link, characterized by, The method comprises: obtaining attribute information of each computing device deployed in a node, wherein the node deploys a plurality of computing devices, and each computing device comprises a plurality of dies; for each computing device, the following operations are performed respectively: based on the attribute information of the computing device, configuring the attribute information of each die in the computing device, obtaining the attribute information of a plurality of dies; according to the attribute information of the plurality of dies, constructing a point-to-point communication link between the plurality of dies, generating a connection topology between the plurality of dies, and constructing a collective communication between the plurality of dies.
2. The method of claim 1, wherein, The construction of the point-to-point communication link between the plurality of dies comprises: constructing a point-to-point communication link between a plurality of dies in the same computing device, and constructing a point-to-point communication link between a plurality of dies in different computing devices.
3. The method of claim 1, wherein, The attribute information of the computing device comprises: an identifier of the computing device, a connection relationship of the computing device with other computing devices, and a point-to-point communication link bandwidth of the computing device; The configuration of the attribute information of each die in the computing device based on the attribute information of the computing device comprises: generating an identifier of each die in the computing device based on the identifier of the computing device; generating an initial connection relationship of each die in the computing device with a die in another computing device according to the connection relationship of the computing device with other computing devices, and adding a connection relationship between the die and other dies belonging to the same computing device in the initial connection relationship of each die to obtain a connection relationship attribute of each die; allocating the point-to-point communication link bandwidth of the computing device to a plurality of dies in the computing device according to a preconfigured allocation mode to obtain a point-to-point communication link bandwidth of each die; combining the identifier, the connection relationship attribute, and the point-to-point communication link bandwidth of each die to generate the attribute information of each die.
4. The method of claim 3, wherein, The generation of the initial connection relationship of each die in the computing device with a die in another computing device according to the connection relationship of the computing device with other computing devices comprises: extracting the initial connection relationship of each die in the computing device with a die in another computing device from the connection relationship of the computing device with other computing devices, wherein the connection relationship of the computing device with other computing devices comprises a connection relationship between each die in the computing device and a die in another computing device.
5. An apparatus for establishing a communication link, characterized by The apparatus comprises: an obtaining unit configured to obtain attribute information of each computing device deployed in a node, wherein the node deploys a plurality of computing devices, and each computing device comprises a plurality of dies; a processing unit configured to, for each computing device, perform the following operations respectively: based on the attribute information of the computing device, configuring the attribute information of each die in the computing device, and obtaining the attribute information of a plurality of dies; a construction unit configured to, according to the attribute information of the plurality of dies, construct a point-to-point communication link between the plurality of dies, generate a connection topology between the plurality of dies, and construct a collective communication between the plurality of dies.
6. The apparatus of claim 5, wherein, The construction unit is specifically used for: constructing point-to-point communication links between multiple dies in the same computing device and constructing point-to-point communication links between multiple dies in different computing devices.
7. The apparatus of claim 5, wherein, The attribute information of the computing device includes: an identifier of the computing device, a connection relationship of the computing device with other computing devices, and a point-to-point communication link bandwidth of the computing device; The processing unit is specifically used for: generating an identifier of each die in the computing device based on the identifier of the computing device; generating an initial connection relationship of each die in the computing device with a die in another computing device according to the connection relationship of the computing device with other computing devices, and adding a connection relationship of the die with other dies belonging to the same computing device in the initial connection relationship of each die to obtain a connection relationship attribute of each die; allocating the point-to-point communication link bandwidth of the computing device to multiple dies in the computing device according to a preconfigured allocation mode to obtain a point-to-point communication link bandwidth of each die; combining the identifier, the connection relationship attribute, and the point-to-point communication link bandwidth of each die to generate attribute information of each die.
8. A computer device comprising a memory, a processor chip and a computer program stored on the memory and executable on the processor chip, characterized in that, The processor chip implements the steps of the method of any one of claims 1-4 when executing the program.
9. A computer-readable storage medium, characterized in that, The computer program product includes a computer program stored on a computer readable storage medium, and the computer program includes program instructions which, when executed by a computer device, cause the computer device to perform the steps of the method of any one of claims 1-4.
10. A computer program product, characterised in that, The computer program product includes a computer program stored on a computer readable storage medium, and the computer program includes program instructions which, when executed by a computer device, cause the computer device to perform the steps of the method of any one of claims 1-4.
Citation Information
Patent Citations
Die communication system, chip, and die communication method
CN118277325A