Communication method and system

By configuring routing information in the computing unit and the switching unit, the problem of limited GPU expansion in the PCIe interconnection system is solved, and flexible expansion and efficient communication of graphics processors between multiple computing units is realized.

CN120407501APending Publication Date: 2025-08-01INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202510386453.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-28
Publication Date
2025-08-01

AI Technical Summary

Technical Problem

In PCIe interconnection systems, the expansion of GPU is limited by the cascade depth limitation of NTB, resulting in inefficient communication and limited expansion.

Method used

By configuring the first routing information and the second routing information in the computing unit, the routing information of the computing unit and the switching unit is used to realize the forwarding of the scheduling request, avoiding the NTB cascade depth limitation, and achieving flexible expansion of the graphics processor between multiple computing units.

Benefits of technology

Communication between graphics processors between multiple computing units is realized, the number of GPUs is expanded, communication efficiency and system flexibility is improved, and NTB cascading depth limitation is avoided.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120407501A_ABST
    Figure CN120407501A_ABST
Patent Text Reader

Abstract

The invention discloses a communication method and system, and relates to the technical field of communication, and the method comprises the steps: appointing second identification information of a first graphics processor used for processing a scheduling request in the scheduling request; and the computing unit receives a scheduling request carrying second identification information, determines whether the first graphics processor is located locally according to the second identification information and the first identification information of all the computing units in the first routing information, and sends the scheduling request to the switching unit if not. And the switching unit queries a switching port connected with the first graphics processor by using the second identification information and the second routing information so as to route the scheduling request to the first graphics processor for processing. Therefore, the communication of the graphics processors among the plurality of computing units can be realized through the communication method only by configuring the switching ports matched with the graphics processors in number in the switching unit, so that the problem that the expansion of the GPU is limited is solved, and the technical effect of flexibly expanding the GPU is achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communication technologies, and in particular, to a communication method and system. Background Art

[0002] In a Peripheral Component Interconnect Express (PCIe) interconnection system, PCIe and Non-Transparent Bridge (NTB) technologies are usually used to implement communication between Graphics Processing Units (GPUs) in multiple computing units. However, this communication method is limited by the cascading depth limit of NTB, resulting in limited expansion of GPUs. Summary of the Invention

[0003] This application provides a communication method and system to at least solve the problem of limited expansion of GPUs in related technologies.

[0004] This application provides a communication method applicable to at least one computing unit; the method includes:

[0005] Obtaining first routing information; wherein, the first routing information includes first identification information of a graphics processing unit in the at least one computing unit;

[0006] Receiving a scheduling request carrying second identification information;

[0007] In a case where the second identification information is inconsistent with the first identification information of the graphics processing unit locally, sending the scheduling request to a switching unit, so that the switching unit forwards the scheduling request to a first graphics processing unit for processing based on the second identification information and second routing information; wherein, the second routing information includes the first identification information and first port information of a switching port associated with the first identification information in the switching unit.

[0008] This application provides another communication method. The switching unit includes at least one switching node, and the at least one switching node is correspondingly connected to a graphics processing unit in at least one computing unit; the method is applicable to the switching node in the switching unit; the method includes:

[0009] Obtaining second routing information; wherein, the second routing information includes first identification information of a graphics processing unit in the at least one computing unit and first port information of a switching port associated with the first identification information in the switching unit;

[0010] Receive a scheduling request sent by the at least one computing unit; wherein, the scheduling request is sent by the computing unit after receiving a scheduling request carrying second identification information and when the second identification information is inconsistent with the first identification information of the graphics processor in the computing unit; the first identification information is obtained by the computing unit acquiring first routing information; the first routing information includes the first identification information;

[0011] Forward the scheduling request to a first graphics processor for processing based on the second identification information and the second routing information.

[0012] This application also provides a communication system, the system includes:

[0013] At least one computing unit, the computing unit includes a central processing unit and at least one graphics processor corresponding to the central processing unit, the central processing unit is correspondingly connected to the graphics processor, and the central processing unit is used to execute the steps of any of the above communication methods applicable to the at least one computing unit;

[0014] A switching unit, the switching unit includes a control node and at least one switching node, there is a corresponding relationship between the switching node and the graphics processor, the switching unit is correspondingly connected to the graphics processor, and the switching node is used to execute the steps of any of the above communication methods applicable to the switching node.

[0015] With this application, since the first routing information is configured in the computing unit, and the first routing information carries the first identification information of the graphics processors in all computing units, the requester can specify the second identification information for processing the scheduling request in the scheduling request. No matter which computing unit receives the scheduling request, it can determine whether the scheduling request is to be processed by the graphics processor in the local according to the local first routing information and the second identification information carried in the scheduling request. If the specified graphics processor of the scheduling request is not in the local, the scheduling request can be scheduled to the switching unit. At this time, since the second routing information is configured in the switching unit, and the second routing information includes the first identification information of the graphics processors in all computing units and the first port information of the switching ports associated with the first identification information in the switching unit, the switching unit can use the second routing information to schedule the scheduling request to the switching port connected to the first graphics processor corresponding to the second identification information for forwarding to the first graphics processor for processing. For the communication method of this embodiment, only by configuring the first routing information in the computing unit and the second routing information in the switching unit, the forwarding of the scheduling request can be realized by using the first routing information of the computing unit and the second routing information of the switching unit. Therefore, only by configuring switching nodes / switching ports adapted to the number of graphics processors in the switching unit, the communication of the graphics processors among multiple computing units can be realized, and it will not be limited by the cascading depth of the NTB, so that more GPUs can be expanded, achieving the technical effect of flexible expansion of GPUs. Brief Description of the Drawings

[0016] To more clearly illustrate the embodiments of the present application, the following will briefly introduce the drawings required for the embodiments. Obviously, the drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other drawings can be obtained according to these drawings.

[0017] Figure 1 It is a structural block diagram of a PCIe interconnection system in the related art;

[0018] Figure 2 It is a structural block diagram of a communication system provided by an embodiment of the present application;

[0019] Figure 3 It is a schematic flowchart of a communication method provided by an embodiment of the present application;

[0020] Figure 4 It is a schematic flowchart of another communication method provided by an embodiment of the present application;

[0021] Figure 5 It is a structural block diagram of a communication device provided by an embodiment of the present application;

[0022] Figure 6 A structural block diagram of another communication device provided by an embodiment of the present application;

[0023] Figure 7 A structural block diagram of a communication system provided by an embodiment of the present application;

[0024] Figure 8 A structural block diagram of an electronic device provided by an embodiment of the present application. Detailed implementation manners

[0025] Next, the technical solutions in the embodiments of the present application will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts belong to the protection scope of the present application.

[0026] It should be noted that in the description of the present application, the terms "include", "comprise" or any other variation thereof are intended to cover a non-exclusive inclusion, so that a process, method, article or device including a series of elements not only includes those elements but also includes other elements not expressly listed, or further includes elements inherent to such process, method, article or device. The terms "first", "second", etc. in the present application are used to distinguish similar objects, rather than to describe a specific order or sequence.

[0027] To enable those skilled in the art of the present technology to better understand the solution of the present application, the present application will be further described in detail below in conjunction with the accompanying drawings and specific implementation manners.

[0028] Artificial Intelligence (AI) servers usually only support the expansion of small-scale (e.g., 8-card) Graphics Processing Unit (GPU) modules. Memory data exchange can be performed between computing units (such as hosts) through the way of Direct Memory Access (DMA). In other related technologies, efforts are made to interconnect more GPUs in a Scale-up manner. For example, in the NV switch design architecture, multiple GPUs are interconnected through the switching chips on the motherboard, allowing the system topology to be extended to 16 cards or even more GPUs, thereby enhancing the overall computing power of the computing units to meet the growing demand for AI large model training.

[0029] However, in related technologies, server providers often choose to decompose and decouple devices such as central processing units (CPUs), memory, and GPUs, and integrate the resources of these devices through a whole rack, so as to achieve large-scale deployment and use of server products. For example, in large-scale AI systems, Ethernet and Remote Direct Memory Access (RDMA) technologies have also become an option for GPU Scale-up with their open ecosystem and mature technical solutions. The RDMA technology allows data to be directly transferred between the memories of different computing units without going through the traditional network protocol stack. However, the RDMA technology needs to rely on Ethernet to build a multi-card point-to-point interconnection, and this topology inevitably introduces additional switch nodes, resulting in additional latency overhead in terms of performance.

[0030] Moreover, in a conventional whole rack system, the allocation relationship of device resources such as CPU resources, heterogeneous acceleration resources (such as GPU resources), and storage resources is generally fixed. The CPU and GPU resources on the same computing unit can only be used for the computing tasks of the computing unit where they are located, and it is difficult to meet the dynamic scheduling requirements of device resources within the system.

[0031] Not only that, in the Peripheral Component Interconnect Express (PCIe) interconnection system of related technologies, PCIe and Non-Transparent Bridge (NTB) technologies are usually used to achieve communication between multiple hosts. As Figure 1 shown, the communication of the PCIe HTB technology mainly includes the following steps:

[0032] Step 1: Two hosts (such as Host0 and Host1) are respectively connected to PCIe Switch chips (such as PCIe Switch0 and PCIe Switch1). The two PCIe Switch chips are connected by a Crosslink line. The connection ports of the PCIe Switch chips are set to the NTB mode, and the two GPUs are interconnected through the NTB.

[0033] Step 2: GPU heterogeneous communication software is integrated into the two hosts respectively.

[0034] Step 3: The hosts are interconnected through PCIe NTB Crosslink, and the NTB mechanism is used to achieve cross-host memory access, and then the DMA inside the PCIe Switch chip is used for data transfer.

[0035] Step 4: By opening a window in the NTB, the address space of the remote node is mapped to the local address space through the NTB, so as to achieve the purpose of opening up the access path between the two GPUs.

[0036] Step 5: The base address register (BAR) space of the remote GPU1 of the remote host (such as Host1) is windowed in the NTB of the local host (such as Host0). The local GPU0 initiates access to the BAR space of the remote GPU1 through DMA, thereby realizing peer-to-peer (P2P) transmission.

[0037] However, because PCIe NTB technology is actually implemented through a virtual switch, the address domains at both ends are completely isolated, requiring the complex logic of the NTB controller. Furthermore, cross-host communication topologies require the NTB ports of both switches to be interconnected. Furthermore, the NTB control logic has cascade depth limitations, meaning that cross-domain address mapping and interrupt mechanisms introduce additional latency and hardware overhead. This latency overhead increases with the number of PCIe switch levels in the inter-GPU communication link. Going through multiple levels of switches significantly reduces communication efficiency, limiting the scale of multi-host systems. Therefore, only two levels of switch links are typically supported.

[0038] This shows that the expansion of GPU is limited in related technologies.

[0039] As an optional communication scenario of 64 GPU cards in an embodiment of the present invention (not limited to the communication scenario of 64 GPU cards), Figure 2As shown in the figure, the communication system includes a switching unit and at least one computing unit. Among them, the computing units have the same structure. One or more central processing units are deployed in the computing unit, and at least one graphics processing unit is connected to the central processing unit. For example, the first graphics processing unit GPU00-00, the second graphics processing unit GPU00-01, ..., the seventh graphics processing unit GPU00-07 in the first computing unit Host0. The first graphics processing unit GPU07-00, the second graphics processing unit GPU07-01, ..., the seventh graphics processing unit GPU07-07 in the eighth computing unit Host7. Specifically, the central processing unit and the graphics processing unit can be physically connected by a PCIe Switch chip. At the same time, there is a communication connection between the graphics processing units in the same computing unit. For example, there is a communication connection between the graphics processing units under the same central processing unit, and there is a communication connection between the graphics processing units under different central processing units in the same computing unit. In practical applications, according to the communication distance between the graphics processing units under different central processing units, graphics processing units with a relatively short communication distance can be selected for communication connection. For example, the graphics processing unit GPU00-01 and the graphics processing unit GPU00-04 in the computing unit Host0 are connected to different central processing units. If the communication distance between the graphics processing unit GPU00-01 and the graphics processing unit GPU00-04 is relatively short, a communication connection can be established between the graphics processing unit GPU00-01 and the graphics processing unit GPU00-04.

[0040] Drivers that support accessing and setting the graphics processing unit are deployed on the central processing unit, such as the operating system client (OSClient). The driver can write data into the southbound configuration space of the graphics processing unit by operating the northbound configuration space of the graphics processing unit. It should be noted that the northbound configuration space mentioned here refers to the configuration space that provides data upward, and the southbound configuration space refers to the configuration space that provides data downward.

[0041] The switching unit may adopt a Switch Box. At least one switching node is deployed in the switching unit. The graphics processor is correspondingly connected to the switching port of the switching node through a physical link. For example, the first switching node in the switching unit is connected to the graphics processor of computing unit Host0, and the eighth switching node in the switching unit is connected to the graphics processor of computing unit Host7. The switching node may adopt a PCIe switch chip. Further, a processor, such as an Arm processor, is deployed in the switching node. The switching node can set or access the southbound configuration space of the connected graphics processor through the processor, read the first identification information in the southbound configuration space, and implement routing between graphics processors through address mapping. The control node may adopt a Milli-CPU Processor (abbreviated as mCPU). The control node can set or access the configuration space of all switching nodes to change the behavior of the switching nodes. At the same time, the control node is also responsible for monitoring all switching nodes, and can obtain the global resource information (such as sub-routing information) of the switching nodes through a Universal Asynchronous Receiver / Transmitter (UART) for management and scheduling.

[0042] In view of this, according to an embodiment of the present application, an embodiment of a communication method is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. And although the logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in a different order than here.

[0043] An embodiment of the present application provides a communication method, which can be used for Figure 2 the computing unit in the communication system shown, such as a host. Specifically, it can be used for the central processing unit in the computing unit. Figure 3 is a schematic flowchart of a communication method according to an embodiment of the present application, as Figure 3 shown, the process includes the following steps:

[0044] Step S301, obtain first routing information; wherein, the first routing information includes the first identification information of the graphics processors in at least one computing unit.

[0045] Specifically, the first identification information of each graphics processor can be predefined in advance according to the number of computing nodes in the communication system. And write the first identification information into the driver of the central processing unit. After the central processing unit is powered on, the central processing unit enumerates the connected graphics processors. The central processing unit writes the first identification information into the southbound configuration space of the graphics processor by operating the northbound configuration space of the connected graphics processor.

[0046] Optionally, the first identification information includes the first processor identification of the graphics processor and the first unit identification of the computing unit where the graphics processor is located.

[0047] Optionally, the first processor identifications of the graphics processors at the same position in different computing units are the same.

[0048] Furthermore, the first routing information further includes the first address information, the first presence information, etc. of the graphics processor.

[0049] Step S302, receive a scheduling request carrying the second identification information.

[0050] Specifically, the user can specify the first graphics processor for processing the scheduling request through the second identification information.

[0051] Optionally, the second identification information includes the second processor identification of the first graphics processor and the second unit identification of the computing unit where it is located.

[0052] Step S303, in the case where the second identification information is inconsistent with the first identification information of the graphics processor in the local area, send the scheduling request to the switching unit, so that the switching unit forwards the scheduling request to the first graphics processor for processing based on the second identification information and the second routing information; wherein, the second routing information includes the first identification information, and the first port information of the switching port associated with the first identification information in the switching unit.

[0053] Specifically, in the case where the second identification information is consistent with the first identification information of the graphics processor in the local area, send the scheduling request to the first graphics processor based on the second identification information.

[0054] It can be understood that if the second identification information is consistent with the first identification information of the graphics processor in the local area, it indicates that the first graphics processor is the graphics processor in the local area, and the scheduling request can be directly sent to the first graphics processor corresponding to the second identification information.

[0055] Furthermore, the first routing information includes the first address information of the graphics processor. The first address information is associated with the first identification information of the graphics processor, and the associated first address information can be queried in the first routing information through the second identification information. Route the scheduling request to the first graphics processor according to the associated first address information.

[0056] In the communication method provided in this embodiment, since the first routing information is configured in the computing unit, where the first routing information carries the first identification information of the graphics processors in all computing units, the requester can specify the second identification information for processing the scheduling request in the scheduling request. No matter which computing unit receives the scheduling request, it can determine whether the scheduling request is to be processed by the graphics processor in the local area according to the local first routing information and the second identification information carried in the scheduling request. If the specified graphics processor of the scheduling request is not in the local area, the scheduling request can be scheduled to the switching unit. At this time, since the second routing information is configured in the switching unit, and the second routing information includes the first identification information of the graphics processors in all computing units and the first port information of the switching ports associated with the first identification information in the switching unit, the switching unit can use the second routing information to schedule the scheduling request to the switching port connected to the first graphics processor corresponding to the second identification information for forwarding to the first graphics processor for processing. In the communication method of this embodiment, only by configuring the first routing information in the computing unit and the second routing information in the switching unit, the forwarding of the scheduling request can be realized by using the first routing information of the computing unit and the second routing information of the switching unit. Therefore, only by configuring switching nodes / switching ports adapted to the number of graphics processors in the switching unit, the communication between the graphics processors of multiple computing units can be realized, and it is not limited by the cascading depth of the NTB, so that more GPUs can be expanded, achieving the technical effect of flexible GPU expansion.

[0057] In some alternative embodiments, the first routing information further includes the first address information of the graphics processor. The first address information of the graphics processors located at the same position in at least one computing unit is the same.

[0058] Optionally, the first address information includes the first bus (BUS) number and the first routing address. The first bus number is the BUS number enumerated by the local computing unit for the graphics processors at the same position, and the first routing address is the address assigned by the local computing unit for the graphics processors at the same position.

[0059] In some alternative embodiments, step S301 described above includes:

[0060] Step a1, obtaining the first identification information; where the first identification information includes the first processor identification of the graphics processors in at least one computing unit and the first unit identification of the computing unit where they are located; the first processor identifications of the graphics processors located at the same position in at least one computing unit are the same.

[0061] Understandably, since there's no direct connection between the local computing unit and other computing units, it's difficult for the local computing unit to know which graphics processors in other computing units are co-located with the local computing unit's graphics processor. Therefore, setting the first processor identifiers of co-located graphics processors to be the same facilitates the local computing unit identifying its peer graphics processors on other computing units based on the same first processor identifiers.

[0062] Step a2: Obtain the initial address information of the local graphics processor.

[0063] The initial address information includes the address assigned by the local computing unit to the graphics processor.

[0064] Step a3: configuring first address information of a graphics processor located at the same position in at least one computing unit based on the initial address information and the first processor identifier.

[0065] Specifically, the graphics processor located at the same position is determined based on the first processor identifier, and the first address information of the graphics processor located at the same position is configured as the corresponding initial address information.

[0066] For example, if GPU00-00 in the first computing unit Host0 and GPU01-00 in the second computing unit Host1 are located at the same location, the first processor identifier of GPU00-00 is the same as the first processor identifier of GPU01-00, such as "0x00." Assuming that the initial address information assigned by computing unit Host0 to GPU00-00 is: bus number "0x50" and address "0x1_0000_0000," computing unit Host0 configures the first address information of GPU00-00 and GPU01-00 as: first bus number "0x50" and first routing address "0x1_0000_0000."

[0067] Understandably, the computing unit needs to route the scheduling request to the corresponding graphics processor according to the address information. However, if the graphics processor used to process the scheduling request does not exist locally, the local computing unit cannot find the corresponding graphics processor according to the address information of the graphics processor of other computing units without being directly connected to other computing units. Therefore, it is necessary to configure the first address information of the graphics processors at the same location as the same address information, so that when the processor used to process the scheduling request does not exist locally, the scheduling request can also be routed to the local graphics processor according to the first address information of the graphics processors in other computing units found, so that the local graphics processor forwards the scheduling request to the switching unit, and the switching unit forwards the scheduling request to the graphics processors of other computing units for processing.

[0068] In some optional embodiments, when the second identification information is inconsistent with the first identification information of the graphics processor in the local area in step S303, sending the scheduling request to the switching unit includes:

[0069] Step b1, determining second address information from the first address information based on the matching condition between the first identification information and the second identification information.

[0070] Specifically, if the first identification information is the same as the second identification information, the first address information of the graphics processor corresponding to the first identification information is determined as the second address information.

[0071] Step b2, sending the scheduling request to the second graphics processor in the local area based on the second address information.

[0072] Specifically, the second graphics processor belongs to the graphics processors at the same location as the first graphics processor in the local area.

[0073] Step b3, when the second identification information is inconsistent with the first identification information corresponding to the second graphics processor, using the second graphics processor to send the scheduling request to the switching unit, so that the switching unit forwards the scheduling request to the first graphics processor for processing based on the second identification information and the second routing information.

[0074] Specifically, when the second graphics processor receives the scheduling request, it determines whether the second identification information in the scheduling request is consistent with the first identification information of the second graphics processor. If it is inconsistent (including partial consistency and partial inconsistency), the second graphics processor sends the scheduling request to the switching unit. If it is consistent, it is determined that the second graphics processor and the first graphics processor belong to the same graphics processor, and the second graphics processor processes the scheduling request.

[0075] Furthermore, the central processing unit of the computing unit can determine whether the second identification information is consistent with the first identification information corresponding to the second graphics processor. If not, a first control instruction is sent to the second graphics processor to control the second graphics processor to send a scheduling request to the switching unit. If consistent, a second control instruction is sent to the second graphics processor to control the second graphics processor to process the scheduling request.

[0076] Specifically, the second identification information includes a second processor identification and a second unit identification. Step b3 includes: when the second unit identification is inconsistent with the first unit identification of the second graphics processor, using the second graphics processor to send a scheduling request to the switching unit.

[0077] In some optional embodiments, the switching unit includes at least one switching node, and the co-located graphics processors are connected to a first switching node among the at least one switching node. The first switching node is determined based on a communication distance between the at least one switching node and the co-located graphics processor. Using the second graphics processor to send the scheduling request to the switching unit includes sending the scheduling request to the first switching node in the switching unit, so that the first switching node forwards the scheduling request to the first graphics processor for processing based on the second identification information and the second routing information.

[0078] The communication method provided in this embodiment sets the first address information of GPUs located in the same location to be the same. Therefore, even if the first GPU processing a scheduling request is not located locally, the scheduling request can still be dispatched to a second GPU of the same location based on the first address information. The second GPU then forwards the scheduling request to the switching unit, which then forwards the scheduling request to the corresponding first GPU. This ensures the correctness of address routing.

[0079] In some optional embodiments, the first routing information further includes first presence information of a graphics processor. The first presence information of the graphics processors in other computing units in the first routing information is written locally by the switching unit based on the connection status of the graphics processors in the other computing units; the other computing units include computing units other than the local computing unit in at least one computing unit.

[0080] It should be noted that the local referred to here refers to the computing unit currently executing the above communication method.

[0081] In some other optional implementations, the above step S301 includes:

[0082] Step c1, obtain first identification information; wherein, the first identification information includes the first processor identification of the graphics processor in at least one computing unit and the first unit identification of the computing unit where it is located; the first processor identifications of the graphics processors located at the same position in at least one computing unit are the same;

[0083] Step c2, obtain the initial address information of the graphics processor in the local area;

[0084] Step c3, configure the first address information of the graphics processors located at the same position in at least one computing unit based on the initial address information and the first processor identification;

[0085] Step c4, obtain the initial presence information of the graphics processor in the local area.

[0086] Step c5, configure the first presence information of the graphics processor in the local area based on the initial presence information, and configure the first presence information of the graphics processors in other computing units as the first preset information.

[0087] Optionally, the first preset information is zero.

[0088] It can be understood that since there is no direct communication between any two computing units, it is difficult for the local computing unit to obtain the presence information of the graphics processors in other computing units. Therefore, in the initial state, the first presence information of the graphics processors in other computing units can be set as the first preset information, and the first preset information represents that the graphics processor is in an offline state.

[0089] Furthermore, after the switching unit obtains the first identification information of the graphics processors in at least one computing unit, it can obtain the connection status between the switching unit and the graphics processors in other computing units. Determine the third presence information of the graphics processors in other computing units based on the connection status. For example, if the connection status is the offline state, determine that the third presence information of the graphics processors in other computing units is the first preset information. If the connection status is the working state, determine that the third presence information of the graphics processors in other computing units is the second preset information. The switching unit updates the first presence information of the connected graphics processors based on the third presence information. Specifically, the switching unit can send the third presence information of the graphics processor to the corresponding graphics processor, and the graphics processor updates itself and reports it to the upper-level central processor, so that the central processor updates the first routing information. Or, the switching unit accesses the southbound configuration space of the graphics processor to update the first presence information of the graphics processor according to the third presence information, and then the graphics processor reports the updated first presence information to the upper-level central processor.

[0090] In some alternative embodiments, when the second identification information is inconsistent with the first identification information of the graphics processor in the local area in step S303, sending the scheduling request to the switching unit includes:

[0091] Step d1, determining the second in-position information of the first graphics processor in the first in-position information based on the matching condition between the first identification information and the second identification information.

[0092] Specifically, if any of the first identification information is the same as the second identification information, the first in-position information of the graphics processor corresponding to the first identification information is determined as the second in-position information.

[0093] Step d2, if the second in-position information indicates that the first graphics processor is in a working state, when the second identification information is inconsistent with the first identification information of the graphics processor in the local area, sending the scheduling request to the switching unit, so that the switching unit forwards the scheduling request to the first graphics processor for processing based on the second identification information and the second routing information.

[0094] Specifically, if the second in-position information indicates that the first graphics processor is in a working state, based on the matching condition between the first identification information and the second identification information, determining the second address information in the first address information; based on the second address information, sending the scheduling request to the second graphics processor in the local area; when the second identification information is inconsistent with the first identification information corresponding to the second graphics processor, using the second graphics processor to send the scheduling request to the switching unit.

[0095] Specifically, step S303 further includes: if the second in-position information indicates that the first graphics processor is in an offline state, generating an error message.

[0096] For the communication method provided in this embodiment, the second in-position information of the first graphics processor is first determined, and only when the second in-position information indicates that the first graphics processor is in a working state, the scheduling request is sent to the switching unit when the second identification information is inconsistent with the first identification information of the graphics processor in the local area. Therefore, on the one hand, the correctness of the scheduling request can be ensured, and on the other hand, the routing failure of the scheduling request caused by the offline of the first graphics processor can be avoided.

[0097] For example, taking the first routing information of computing unit Host0 as an example, the driver (OS Client) of the central processing unit of computing unit Host0 obtains the first identification information of the graphics processing units in each computing unit, such as the first unit identification HOST ID and the first processor identification GPU ID. The OS Client collects the PCIe resource information in computing unit Host0, such as the initial address information and the presence information of the graphics processing unit in computing unit Host0, to configure the first bus number GPU HOST BUS, the first routing address GPU HOST Address, and the first presence information Present of the graphics processing units in each computing unit. Then the following first routing information is obtained:

[0098] {

[0099] GPU 00-00:{

[0100] “HOST ID” = “0x00”;

[0101] “GPU ID” = “0x00”;

[0102] “Present” = “0x01”;

[0103] “GPU HOST BUS” = “0x50”;

[0104] “GPU HOST Address” = “0x1_0000_0000”;

[0105] },

[0106] GPU 00-01:{

[0107] “HOST ID” = “0x00”;

[0108] “GPU ID” = “0x01”;

[0109] “Present” = “0x01”;

[0110] “GPU HOST BUS” = “0x51”;

[0111] “GPU HOST Address” = “0x2_0000_0000”;

[0112] },

[0113] …

[0114] GPU 01-00:{

[0115] “HOST ID” = “0x01”;

[0116] "GPU ID" = "0x00";

[0117] "Present" = "0x00";

[0118] "GPU HOST BUS" = "0x50";

[0119] "GPU HOST Address" = "0x1_0000_0000";

[0120] }

[0121] …

[0122] }

[0123] Among them, GPU 00 - 01 refers to the first graphics processor in computing unit Host0. When computing unit Host0 is initialized, it configures the first presence information Present according to the presence information of the graphics processors in computing unit Host0, and initializes the first presence information Present of the graphics processors in the remaining computing units to the first preset information "0x00". The OS Client writes the first routing information into the southbound configuration space of the local graphics processor by operating the northbound configuration space of the local graphics processor. At the same time, PCIe resources are reserved for other graphics processors in the communication system. Subsequently, the switching unit can update the first presence information in the southbound configuration space of the corresponding graphics processor according to the connection status with each graphics processor.

[0124] When computing unit Host0 receives a scheduling request, it determines the second identification information. For example, "HOST ID" = "0x01", "GPU ID" = "0x00". Computing unit Host0 finds the following routing information according to "HOST ID" = "0x01" and "GPU ID" = "0x00":

[0125] GPU 01 - 00:{

[0126] "HOST ID" = "0x01";

[0127] "GPU ID" = "0x00";

[0128] "Present" = "0x01";

[0129] "GPU HOST BUS" = "0x50";

[0130] "GPU HOST Address" = "0x1_0000_0000";

[0131] },

[0132] At this time, the first in-position information of the graphics processing unit GPU 01-00 has been updated to "0x01". According to this first in-position information, the computing unit Host0 determines that the first graphics processing unit (i.e., the graphics processing unit GPU 01-00) is in a working state, that is, the first graphics processing unit is available and the scheduling request is legal. According to "GPU ID" = "0x00", the central processing unit of the computing unit Host0 sends the scheduling request to the peer graphics processing unit GPU 00-00 in the local area. After receiving the scheduling request, the graphics processing unit GPU 00-00 determines that the second unit identifier is inconsistent with the first unit identifier of the graphics processing unit GPU 00-00 according to "HOST ID" = "0x01". The graphics processing unit GPU 00-00 routes the scheduling request to the switching port (port) of the southbound PCIe to forward the scheduling request to an external switching unit.

[0133] An embodiment of the present application provides another communication method, which can be used in the switching unit in the above communication system. The switching unit includes at least one switching node, and at least one switching node is correspondingly connected to a graphics processing unit in at least one computing unit. The communication method of this embodiment is applicable to the switching node in the switching unit. Figure 4 It is a schematic flowchart of another communication method according to an embodiment of the present application, as Figure 4 shown. This process includes the following steps:

[0134] Step S401, obtain second routing information; wherein, the second routing information includes the first identification information of the graphics processing unit in at least one computing unit, and the first port information of the switching port associated with the first identification information in the switching unit.

[0135] Specifically, the switching port where the graphics processing unit is connected to the switching node is configured in the PCIe EP mode.

[0136] Specifically, during the startup process of the switching unit, the processor of each switching node enumerates the downstream graphics processing units, and generates port information according to the switching port (i.e., the physical port) connected to the graphics processing unit; wherein, the port information includes the first node identifier of the local area and the first port identifier of the switching port.

[0137] Further, the second routing information further includes the third in-position information of the graphics processing unit and the third address information. The third in-position information is determined based on the connection status of the graphics processing unit when the processor of the switching node enumerates the downstream graphics processing unit. The connection status is determined according to whether the enumeration is successful. The third address information includes the second bus number and the second routing address. The second bus number is the BUS number enumerated by the control node in the switching unit for the downstream graphics processing unit, and the second routing address is the address assigned by the control node for the downstream graphics processing unit.

[0138] Further, the switching node accesses the southbound configuration space of the downstream graphics processing unit to obtain the first identification information of the graphics processing unit, and forms a mapping table (i.e., the following sub-routing information) that is one-to-one corresponding between the first identification information and the first port information. The control node traverses the switching nodes in the switching unit to obtain the global mapping table, and sorts out the second routing information. The control node synchronizes the second routing information to the switching nodes in the switching unit to be responsible for global management.

[0139] Step S402, receiving scheduling requests sent by at least one computing unit; wherein, the scheduling request is sent by the computing unit when the received scheduling request carries the second identification information and the second identification information is inconsistent with the first identification information of the graphics processing unit in the computing unit; the first identification information is obtained by the computing unit from the first routing information; the first routing information includes the first identification information. Refer to the above communication method applicable to the computing unit, which will not be elaborated here.

[0140] Step S403, based on the second identification information and the second routing information, forwarding the scheduling request to the first graphics processing unit for processing.

[0141] Specifically, if any first identification information is the same as the second identification information, the target port information is determined based on the first port information of the switching port associated with the first identification information in the second routing information. The scheduling request is forwarded to the target switching port based on the target port information, and the scheduling request is forwarded to the first graphics processing unit by using the target switching port. There is a physical connection between the target switching port and the first graphics processing unit.

[0142] In the communication method provided in this embodiment, since the first routing information is configured in the computing unit, and the first routing information carries the first identification information of the graphics processors in all computing units, the requester can specify the second identification information for processing the scheduling request in the scheduling request. No matter which computing unit receives the scheduling request, it can determine whether the scheduling request is to be processed by the graphics processor in the local area according to the local first routing information and the second identification information carried in the scheduling request. If the specified graphics processor of the scheduling request is not in the local area, the scheduling request can be scheduled to the switching unit. At this time, since the second routing information is configured in the switching unit, and the second routing information includes the first identification information of the graphics processors in all computing units and the first port information of the switching ports associated with the first identification information in the switching unit, the switching unit can use the second routing information to schedule the scheduling request to the switching port connected to the first graphics processor corresponding to the second identification information for forwarding to the first graphics processor for processing. In the communication method of this embodiment, only by configuring the first routing information in the computing unit and the second routing information in the switching unit, the forwarding of the scheduling request can be realized by using the first routing information of the computing unit and the second routing information of the switching unit. Therefore, only by configuring switching nodes / switching ports adapted to the number of graphics processors in the switching unit, the communication between the graphics processors of multiple computing units can be realized, and it will not be restricted by the cascading depth of the NTB, so that more GPUs can be expanded, achieving the technical effect of flexible GPU expansion.

[0143] In some alternative embodiments, step S401 includes:

[0144] Step e1, obtaining the first identification information of the graphics processor connected locally and the port information of the switching port connected to the graphics processor in the local area; the port information includes the first node identification of the local area and the first port identification of the switching port.

[0145] Specifically, the switching node accesses the southbound configuration space of the connected graphics processor to obtain the first identification information. And record the first port identification of the switching port connected to each graphics processor locally and the first node identification of the local switching node to obtain the port information.

[0146] Step e2, associating the first identification information of the graphics processor connected locally with the corresponding port information to obtain sub-routing information.

[0147] Specifically, associate the first identification information of the same graphics processor with the port information to obtain sub-routing information.

[0148] Step e3: Send the sub-routing information to the control node in the switching unit, so that the control node generates the second routing information based on the sub-routing information of at least one switching node.

[0149] Specifically, the control node traverses the switching nodes in the switching unit to obtain the sub-routing information of each switching node, and thus organizes and obtains the second routing information.

[0150] Step e4: Receive the second routing information sent by the control node.

[0151] Specifically, the control node synchronizes the second routing information to each switching node in the switching unit.

[0152] In the communication method provided in this embodiment, the switching node obtains the first identification information from the connected graphics processor, enumerates the downstream graphics processors, and obtains the port information of the switching ports connected to the graphics processor in the local area. After associating the first identification information with the port information, the obtained sub-routing information is sent to the control node, so that the control node organizes and obtains the second routing information and then distributes it to each switching node. Compared with directly transmitting the sub-routing information between switching nodes, this embodiment uses the control node to transmit information, and the transmission is more stable, and there is no need to adjust the physical connection between switching nodes.

[0153] In some alternative embodiments, step S403 includes:

[0154] Step f1: Obtain the first node identification of the local area and the first port identification of the switching port in the local area.

[0155] Specifically, the first node identification is the node identification of the local switching node.

[0156] Step f2: Query the second port information corresponding to the first graphics processor in the second routing information based on the second identification information; wherein, the second port information includes the second node identification and the second port identification.

[0157] Specifically, if any first identification information is the same as the second identification information, the first port information associated with the first identification information is determined as the second port information. The first node identification of the second port information is determined as the second node identification. And the first port identification of the second port information is determined as the second port identification.

[0158] Step f3: If the first node identification is consistent with the second node identification, determine the target switching port in the local switching port based on the second port identification.

[0159] Understandably, if the first node identifier is the same as the second node identifier, it indicates that the switching port connected to the first graphics processor in the switching unit is located on the local switching node. Therefore, the target switching port can be determined from the local switching ports based on the second port identifier.

[0160] Step f4, forward the scheduling request to the first graphics processor for processing through the target switching port.

[0161] Specifically, send the scheduling request to the target switching port, and forward the scheduling request to the first graphics processor for processing based on the target switching port and the third address information of the first graphics processor.

[0162] Step f5, if the first node identifier is different from the second node identifier, determine the target switching node corresponding to the second node identifier.

[0163] Understandably, if the first node identifier is different from the second node identifier, it indicates that the switching port connected to the first graphics processor in the switching unit is not on the local switching node. Therefore, the target switching node can be determined based on the second node identifier.

[0164] Step f6, send the scheduling request to the target switching node so that the target switching node forwards the scheduling request to the first graphics processor for processing.

[0165] Specifically, forward the scheduling request to the target switching node through the network fabric (Fabric) interconnection between switching nodes.

[0166] It should be noted that during the operation of the communication system, the control node can utilize features such as hot removal or hot addition of the switching node to monitor the online or offline status of the graphics processors in the computing unit in real time, so as to adjust the second routing information. That is, after the switching node enumerates the downstream graphics processors, the switching node can synchronize the enumeration change situation of the downstream graphics processors to the control node. The control node automatically updates the presence status of the computing unit and the graphics processors (such as the third presence information) by monitoring the enumeration change situation of the downstream graphics processors of the switching node, and realizes real-time monitoring and dynamic update of resources by modifying the configuration information of the switching node.

[0167] In the communication method provided in this embodiment, the switching node first determines whether it is locally connected to the first graphics processor according to the first node identifier and the second node identifier. When it is locally connected to the first graphics processor, the target switching port connected to the first graphics processor is then determined locally according to the first port identifier, so that the switching node and the switching port connected to the first graphics processor can be quickly found, so as to realize the fast forwarding of the scheduling request.

[0168] For example, during the startup process of the switching unit, each switching node enumerates the downstream graphics processors, generates port information based on the switching ports connecting to the graphics processors, such as the first node identifier Switch ID and the first port identifier SwitchPort. And based on the enumeration situation, determines the third presence information Present of the graphics processor. And the control node configures the third address information for the downstream graphics processors. For example, the second bus number GPU Global BUS and the second routing address GPU GlobalAddress. Thus, the following sub-routing information is obtained:

[0169] {

[0170] GPU 00-00:{

[0171] “Switch ID” = “0x00”;

[0172] “Switch Port” = “0x00”;

[0173] “Present” = “0x01”;

[0174] “GPU Global BUS” = “0x01”;

[0175] “GPU Global Address” = “0x1_0000_0000”;

[0176] }

[0177] …

[0178] }

[0179] Furthermore, the control node obtains the following second routing information by traversing the sub-routing information of the switching nodes in the switching unit:

[0180] {

[0181] GPU 00-00:{

[0182] “HOST ID” = “0x00”;

[0183] “GPU ID” = “0x00”;

[0184] “Switch ID” = “0x00”;

[0185] “Switch Port” = “0x00”;

[0186] “Present” = “0x01”;

[0187] “GPU Global BUS” = “0x01”;

[0188] “GPU Global Address” = “0x1_0000_0000”;

[0189] },

[0190] …

[0191] }

[0192] Assume that the second graphics processing unit is connected to the switching port of the first switching node in the switching unit. Then, the computing node Host0 sends a scheduling request to the first switching node through the second graphics processing unit. If the first switching node detects that the second node identifier corresponding to the first graphics processing unit (e.g., GPU 01-00) is the same as the first node identifier of the first switching node (such as “Switch ID” = “0x00”), the first switching node routes the scheduling request to the target switching port connected to the first graphics processing unit in the local area based on the first port identifier, so as to forward it to the first graphics processing unit for processing. If they are not the same, the first switching node routes the scheduling request to the target switching node corresponding to the second node identifier (“Switch ID” = “0x01”). The target switching node determines the target switching port connected to the first graphics processing unit based on the first port identifier, and the target switching port forwards the scheduling request to the first graphics processing unit for processing.

[0193] It should be noted that in the communication method of this application, a scheme for expanding GPUs across computing units based on the southbound (i.e., the downstream direction) PCIePort is proposed. As Figure 2 shown, the communication method of this application makes full use of hardware resources, allows the GPUs under each computing unit to provide the GPU configuration information of the computing unit where they are located to the switching unit through their southbound PCIe Ports, and the switching nodes in the switching unit complete the routing between multiple computing units, while the control node in the switching unit is responsible for overall scheduling. Furthermore, cross-computing unit domain GPU communication is realized. Combining the switching unit composed of switching nodes (such as PCIe Switch chips) and control nodes (such as mCPUs), a multi-machine extended GPU communication system with a scale of 32 or more is constructed, providing a more efficient, lower-latency, and flexibly scalable multi-host extension scheme for the multi-machine extended GPU system based on PCIe Switch, thereby improving the communication efficiency and stability of the entire communication system.

[0194] Moreover, the communication method provided by this application allows P2P communication between any GPUs. Through the exchange node and the control node, address mapping and routing management are performed, without relying on the upstream port forwarding of the computing unit, and no additional hardware overhead is introduced (such as the network cards and switches between network cards used in RDMA). The scheduling request forwarding between different GPUs can be achieved through the switching ports of PCIe itself. Moreover, compared with the address conversion of the RDMA switch, the PCIe routing has relatively simple steps and relatively small address conversion delay.

[0195] Not only that, the communication method of this application utilizes the characteristics of hot removal and hot addition of the exchange node to achieve the purpose of timely updating the in-place information when the graphics processor in a certain computing unit goes offline or comes back online. The resources can be quickly adjusted after the graphics processor goes offline or online, without affecting the operation of other computing units in the system. Thus, the monitoring management and redeployment of the graphics processor resources of the switching port are realized at the software level, improving the efficiency of real-time monitoring and dynamic update, and enhancing the stability and flexibility of the multi-machine extended GPU communication system.

[0196] Through the description of the above embodiments, those skilled in the art can clearly understand that the method according to the above embodiments can be implemented by means of software plus a necessary general hardware platform. Of course, it can also be implemented by hardware, but in many cases, the former is a better implementation method.

[0197] The embodiments of this application also provide a communication device. This device is used to implement the above embodiments and preferred implementation manners, and those that have been described will not be repeated. As used below, the term "module" can be a combination of software and / or hardware that can achieve a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, implementation in hardware, or a combination of software and hardware is also possible and contemplated.

[0198] This embodiment provides a communication device, as Figure 5 shown, applicable to at least one computing unit. This device includes:

[0199] A first acquisition module 501, configured to acquire first routing information; wherein, the first routing information includes the first identification information of the graphics processors in at least one computing unit;

[0200] A first receiving module 502, configured to receive a scheduling request carrying second identification information;

[0201] The first processing module 503 is configured to send a scheduling request to the switching unit when the second identification information is inconsistent with the first identification information of the graphics processor in the local area, so that the switching unit forwards the scheduling request to the first graphics processor for processing based on the second identification information and the second routing information; wherein, the second routing information includes the first identification information and the first port information of the switching port associated with the first identification information in the switching unit.

[0202] Another communication device is provided in this embodiment. The switching unit in the communication system includes at least one switching node, and at least one switching node is correspondingly connected to the graphics processor in at least one computing unit. This device is applicable to the switching node in the switching unit. As Figure 6 shown, the device includes:

[0203] The second obtaining module 601 is configured to obtain the second routing information; wherein, the second routing information includes the first identification information of the graphics processor in at least one computing unit and the first port information of the switching port associated with the first identification information in the switching unit;

[0204] The second receiving module 602 is configured to receive a scheduling request sent by at least one computing unit; wherein, the scheduling request is sent by the computing unit after receiving the scheduling request carrying the second identification information and when the second identification information is inconsistent with the first identification information of the graphics processor in the computing unit; the first identification information is obtained by the computing unit from the first routing information; the first routing information includes the first identification information;

[0205] The second processing module 603 is configured to forward the scheduling request to the first graphics processor for processing based on the second identification information and the second routing information.

[0206] For the description of the features in the corresponding embodiment of the communication device, reference can be made to the relevant description of the corresponding embodiment of the communication method, which will not be elaborated here one by one.

[0207] An embodiment of the present application further provides a communication system, as Figure 7As shown in the figure, it includes a switching unit and at least one computing unit. Among them, the computing unit includes one or more central processing units, and the computing unit also includes at least one graphics processing unit corresponding to the central processing unit, and the central processing unit is correspondingly connected to the graphics processing unit. Specifically, the central processing unit is connected to the corresponding graphics processing unit through a switching chip. The graphics processing units under the same central processing unit are communicatively connected, and the graphics processing units under different central processing units in the same computing unit are selectively communicatively connected. For example, based on the communication distance between the graphics processing units under different central processing units in the same computing unit, the graphics processing units are selected for communication connection. The central processing unit is used to execute the steps in any communication method embodiment applicable to the computing unit.

[0208] The switching unit includes a control node and at least one switching node. There is a corresponding relationship between the switching node and the graphics processing unit in the computing unit, and the switching unit is correspondingly connected to the graphics processing unit. Specifically, the switching unit can be connected to some of the graphics processing units, and through the connected graphics processing units and the communication connection with other graphics processing units in the computing unit where they are located, the switching unit realizes the connection with the connected graphics processing units and other graphics processing units in the computing unit where they are located. The switching node is used to execute the steps in any communication method embodiment applicable to the switching node.

[0209] An embodiment of the present application also provides an electronic device, as Figure 8 shown, including a memory 801 and a processor 802. A computer program is stored in the memory 801, and the processor 802 is configured to run the computer program to execute the steps in any communication method embodiment described above.

[0210] An embodiment of the present application also provides a computer-readable storage medium, in which a computer program is stored. Among them, the computer program is configured to execute the steps in any communication method embodiment described above when running.

[0211] In an exemplary embodiment, the above computer-readable storage medium may include, but is not limited to: USB flash drives, read-only memories (abbreviated as ROM), random access memories (abbreviated as RAM), mobile hard disks, magnetic disks, or optical discs and other various media that can store computer programs.

[0212] An embodiment of the present application also provides a computer program product. The above computer program product includes a computer program, and when the computer program is executed by a processor, it implements the steps in any communication method embodiment described above.

[0213] An embodiment of the present application further provides another computer program product, including a non-volatile computer-readable storage medium storing a computer program, where the computer program, when executed by a processor, implements the steps in any one of the above communication method embodiments.

[0214] Those skilled in the art can further realize that the units and algorithm steps of each example described in combination with the embodiments disclosed herein can be implemented by electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described according to functions in the above description. Whether these functions are executed in a hardware or software manner depends on the specific application and design constraints of the technical solution. Skilled professionals can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of this application.

[0215] The above has introduced in detail a communication method, device, system, electronic device, storage medium, and program product provided by this application. Specific examples are used herein to elaborate on the principle and implementation manner of this application. The description of the above embodiments is only used to help understand the method and its core idea of this application. It should be noted that for those of ordinary skill in the art in this technical field, without departing from the principle of this application, several improvements and modifications can be made to this application, and these improvements and modifications also fall within the protection scope of the claims of this application.

Claims

1. A communication method, characterized in that, Applicable to at least one computing unit; the method includes: Obtain first routing information; wherein, the first routing information includes first identification information of a graphics processor in the at least one computing unit; Receive a scheduling request carrying second identification information; In the case where the second identification information is inconsistent with the first identification information of the graphics processor in the local area, send the scheduling request to a switching unit, so that the switching unit forwards the scheduling request to a first graphics processor for processing based on the second identification information and second routing information; wherein, the second routing information includes the first identification information and first port information of a switching port associated with the first identification information in the switching unit.

2. The communication method according to claim 1, wherein The first routing information further includes first address information of the graphics processor; the first address information of the graphics processors located at the same position in the at least one computing unit is the same; The step of, in the case where the second identification information is inconsistent with the first identification information of the graphics processor in the local area, sending the scheduling request to the switching unit includes: Based on the matching situation between the first identification information and the second identification information, determine second address information in the first address information; Based on the second address information, send the scheduling request to a second graphics processor in the local area; In the case where the second identification information is inconsistent with the first identification information corresponding to the second graphics processor, use the second graphics processor to send the scheduling request to the switching unit.

3. The communication method according to claim 2, wherein The step of obtaining the first routing information includes: Obtain first identification information; wherein, the first identification information includes a first processor identification of a graphics processor in the at least one computing unit and a first unit identification of the computing unit where it is located; the first processor identifications of the graphics processors located at the same position in the at least one computing unit are the same; Obtain initial address information of the graphics processor in the local area; Based on the initial address information and the first processor identification, configure the first address information of the graphics processors located at the same position in the at least one computing unit.

4. The communication method according to claim 3, wherein The second identification information includes a second processor identification and a second unit identification; the step of, in the case where the second identification information is inconsistent with the first identification information corresponding to the second graphics processor, using the second graphics processor to send the scheduling request to the switching unit includes: In the case where the second unit identification is inconsistent with the first unit identification of the second graphics processor, use the second graphics processor to send the scheduling request to the switching unit.

5. The communication method according to claim 1, wherein The first routing information further includes first presence information of the graphics processor; the first presence information of the graphics processors in other computing units is written locally by the switching unit based on the connection status with the graphics processors in the other computing units; the other computing units include the computing units other than the local area in the at least one computing unit; The step of, in the case where the second identification information is inconsistent with the first identification information of the graphics processor in the local area, sending the scheduling request to the switching unit includes: Determine the second in-position information of the first graphics processor in the first in-position information based on the matching condition between the first identification information and the second identification information; If the second in-position information indicates that the first graphics processor is in a working state, and when the second identification information is inconsistent with the first identification information of the graphics processor in the local area, send the scheduling request to the switching unit.

6. A communication method, characterized in that, The switching unit includes at least one switching node, and the at least one switching node is correspondingly connected to the graphics processors in at least one computing unit; The method is applicable to the switching nodes in the switching unit; the method includes: Obtain second routing information; wherein, the second routing information includes the first identification information of the graphics processors in the at least one computing unit, and the first port information of the switching port associated with the first identification information in the switching unit; Receive the scheduling request sent by the at least one computing unit; wherein, the scheduling request is sent by the computing unit after receiving the scheduling request carrying the second identification information and when the second identification information is inconsistent with the first identification information of the graphics processor in the computing unit; the first identification information is obtained by the computing unit from the first routing information; the first routing information includes the first identification information; Forward the scheduling request to the first graphics processor for processing based on the second identification information and the second routing information.

7. The communication method according to claim 6, wherein The obtaining of the second routing information includes: Obtain the first identification information of the graphics processors connected locally, and the port information of the switching ports connected to the graphics processors locally; the port information includes the first node identification of the local area and the first port identification of the switching port; Associate the first identification information of the graphics processors connected locally with the corresponding port information to obtain sub-routing information; Send the sub-routing information to the control node in the switching unit, so that the control node generates the second routing information based on the sub-routing information of the at least one switching node; Receive the second routing information sent by the control node.

8. The communication method according to claim 6, wherein The forwarding of the scheduling request to the first graphics processor for processing based on the second identification information and the second routing information includes: Obtain the first node identification of the local area and the first port identification of the switching port locally; Query the second port information corresponding to the first graphics processor in the second routing information based on the second identification information; wherein, the second port information includes the second node identification and the second port identification; If the first node identification is the same as the second node identification, determine the target switching port in the switching port locally based on the second port identification; Forward the scheduling request to the first graphics processor for processing through the target switching port.

9. The communication method according to claim 8, wherein The forwarding of the scheduling request to the first graphics processor for processing based on the second identification information and the second routing information further includes: If the first node identifier is inconsistent with the second node identifier, determine a target switching node corresponding to the second node identifier; Send the scheduling request to the target switching node, so that the target switching node forwards the scheduling request to the first graphics processing unit for processing.

10. A communication system, characterized in that, The system includes: At least one computing unit, the computing unit includes a central processing unit and at least one graphics processing unit corresponding to the central processing unit, the central processing unit is correspondingly connected to the graphics processing unit, and the central processing unit is used to execute the steps of the communication method according to any one of claims 1 to 5; A switching unit, the switching unit includes a control node and at least one switching node, there is a corresponding relationship between the switching node and the graphics processing unit, the switching unit is correspondingly connected to the graphics processing unit, and the switching node is used to execute the steps of the communication method according to any one of claims 6 to 9.

Citation Information

Cited By

  • Node communication method and device, storage medium and electronic equipment

    CN121210381A

  • Server system and data transmission method of server system

    CN121462413A