Method, system and apparatus for group communication
Patent Information
- Application Number
- CN202611345152.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-09-01
- Publication Date
- 2026-10-16
AI Technical Summary
但是,该方式使用中间缓存增加了内存需求,会导致分布式训练/推理不得不采用更多的AI加速卡,这样增加了训练/推理成本,并且,该方式由于需要先存储到中间缓存进行计算,再由接收方读取
[0010] In this embodiment of the invention, a first device receives a request from a second device. Then, for any given request, the first device parses the request using the reduction calculation engine to obtain a target cache address unit and a first data set. Based on the target cache address unit, the reduction calculation engine determines a target atomic computation unit group corresponding to the target cache address unit. The first device then uses the target atomic computation unit group in the reduction calculation engine to perform reduction calculations on the second data set corresponding to the target cache address unit and the first data set to obtain the calculation result. Finally, the first device stores the calculation result in the cache corresponding to the target cache address unit in the storage unit using the reduction calculation engine. Therefore, this embodiment does not require an intermediate cache; the data is directly received, reduced, and stored by the receiver (i.e., the first device), thus saving training/inference costs and improving efficiency.
Smart Images

Figure CN122933742A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of data communication technology, and in particular to collective communication methods, systems and devices. Background Technology
[0002] Collective communication is a key technology for distributed training and inference in AI (Artificial Intelligence). A collective communication operation consists of a series of transmission and computation processes.
[0003] A typical transmission process in the current collection communication library involves transmission using an intermediate buffer, such as... Figure 1 As shown, data is first transmitted to a remote intermediate buffer for computation, and the receiver then reads the data from this buffer for subsequent data transmission or computation. However, this method increases memory requirements by using an intermediate buffer, necessitating the use of more AI accelerator cards for distributed training / inference, thus increasing training / inference costs. Furthermore, the serial process of storing data in an intermediate buffer for computation before the receiver reads it introduces unnecessary transmission and synchronization delays, reducing efficiency. Summary of the Invention
[0004] This invention provides a collection communication method, system, and device to reduce training / inference costs and improve efficiency.
[0005] According to a first aspect of the present invention, a collection communication method is provided, applied to a first device, the first device including a storage unit and a protocol computing engine, the method comprising: Receive a request sent by the second device; For any given request, the specification calculation engine parses the request to obtain a target cache address unit and a first data set. The target cache address unit includes the output cache address and offset address of the first device, and the output cache address includes multiple cache address units. The reduction calculation engine determines the target atomic calculation unit group corresponding to the target cache address unit based on the target cache address unit, and uses the target atomic calculation unit group in the reduction calculation engine to perform reduction calculation on the second data set and the first data set corresponding to the target cache address unit to obtain the calculation result. The calculation result is stored in the cache corresponding to the target cache address unit in the storage unit by the reduction calculation engine.
[0006] According to another aspect of the present invention, a collective communication system is provided, the system comprising a first device and a second device, wherein: The second device is used to send a request to the first device; The first device is configured to execute the collection communication method described in the first aspect after receiving the request.
[0007] According to another aspect of the present invention, a first device is provided, the first device including a storage unit and a protocol computing engine, wherein: The reduction calculation engine is used to receive requests sent by the second device; for any request, it parses the request to obtain a target cache address unit and a first data set; based on the target cache address unit, it determines a target atomic calculation unit group corresponding to the target cache address unit; and uses the target atomic calculation unit group to perform reduction calculation on the second data set corresponding to the target cache address unit and the first data set to obtain the calculation result; wherein, the target cache address unit includes the output cache address and offset address of the first device, and the output cache address includes multiple cache address units; The storage unit is used to store the calculation results.
[0008] According to another aspect of the present invention, a computer-readable storage medium is provided, the computer-readable storage medium storing computer instructions for causing a processor to execute and implement the collection communication method described in any embodiment of the present invention.
[0009] According to another aspect of the present invention, a computer program product is also provided, including a computer program that, when executed by a processor, implements the steps of the collection communication method as described in any embodiment of the present invention.
[0010] In this embodiment of the invention, a first device receives a request from a second device. Then, for any given request, the first device parses the request using the reduction calculation engine to obtain a target cache address unit and a first data set. Based on the target cache address unit, the reduction calculation engine determines a target atomic computation unit group corresponding to the target cache address unit. The first device then uses the target atomic computation unit group in the reduction calculation engine to perform reduction calculations on the second data set corresponding to the target cache address unit and the first data set to obtain the calculation result. Finally, the first device stores the calculation result in the cache corresponding to the target cache address unit in the storage unit using the reduction calculation engine. Therefore, this embodiment does not require an intermediate cache; the data is directly received, reduced, and stored by the receiver (i.e., the first device), thus saving training / inference costs and improving efficiency.
[0011] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of the present invention, nor is it intended to limit the scope of the invention. Other features of the invention will become readily apparent from the following description. Attached Figure Description
[0012] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0013] Figure 1 This is a schematic diagram of the structure of a collective communication system provided according to an embodiment of the present invention; Figure 2 This is one of the flowcharts of the communication collection method provided according to an embodiment of the present invention; Figure 3 This is a schematic diagram of a first device broadcast according to an embodiment of the present invention; Figure 4 This is a second flowchart illustrating the communication aggregation method provided according to an embodiment of the present invention; Figure 5 This is the structure of the communication collection device provided according to an embodiment of the present invention. Detailed Implementation
[0014] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.
[0015] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0016] Before introducing the collection communication method provided in the embodiments of this application, for ease of understanding, the embodiments of this application will be described in detail below.
[0017] Before introducing the collective communication method in this application, the structure of the collective communication system in this application will be introduced first. Figure 1 This is a schematic diagram of the structure of a collective communication system. Figure 1 As can be seen from the above, the collective communication system in this embodiment includes a first device 101 and a second device 102. The second device 102 includes a protocol calculation engine 1021 and a storage unit 1022, and the first device 101 also includes a protocol calculation engine 1011 and a storage unit 1012. In this embodiment, the first device 101 and the second device 102 communicate via a communication link. The second device 102 is used to send a request to the first device 101. After receiving the request, the first device 101, for any one request, parses the request through the reduction calculation engine 1011 to obtain a target cache address unit and a first data set. The target cache address unit includes the output cache address and offset address of the first device, and the output cache address includes multiple cache address units. Based on the target cache address unit, the reduction calculation engine 1011 determines the target atomic calculation unit group corresponding to the target cache address unit, and uses the target atomic calculation unit group in the reduction calculation engine 1011 to perform reduction calculation on the second data set corresponding to the target cache address unit and the first data set to obtain the calculation result. Finally, the first device 101 stores the calculation result in the cache corresponding to the target cache address unit in the storage unit 1012 through the reduction calculation engine 1011.
[0018] The reduction calculation engine in this embodiment can perform reduction calculations while transmitting data. The process is as follows: Data from the second device is read from the storage unit via the MC, and transmitted to the link of the second device via the on-chip network without passing through the reduction calculation engine of the second device. Data is sent from the link port of the second device to the link port of the first device; data is transmitted from the first device to the receiving end reduction engine via the on-chip network, and the reduction engine writes it to the storage unit after completing the reduction calculation.
[0019] The collection communication method in the embodiments of this application will be described in detail below. Figure 2 A flowchart of a collection communication method provided in an embodiment of the present invention, from Figure 2 As can be seen from this, it may specifically include the following steps: S210: Receive a request sent by the second device; In one possible implementation, before executing S210, the output buffer address is broadcast to each of the second devices, wherein the output buffer address is dynamically changing.
[0020] The first and second devices in this embodiment can be AI accelerator cards. The AI accelerator card in this embodiment reserves a storage space to indicate whether the address is ready for other cards in the cluster. This invention refers to it as an address ready indicator unit. The address ready indicator unit is divided into multiple slots, where slot 0 indicates that card 0 is ready, and slot i indicates that card i is ready. For example, if card 0's address is ready, it will broadcast its address to slot 0 of the address ready indicator units of all cards. The broadcast process is as follows... Figure 3 As shown.
[0021] In this embodiment, requests are stored in a FIFO (First In First Out) or priority queue to prevent requests from getting lost.
[0022] S220: For any request, the request is parsed by the specification calculation engine to obtain a target cache address unit and a first data set, wherein the target cache address unit includes the output cache address and offset address of the first device, and the output cache address includes multiple cache address units; In this embodiment, the first device includes multiple reduction computing engines, with one engine located next to each storage unit. Data written to a specific storage unit will pass through the corresponding reduction computing engine. Therefore, the total bandwidth of the nearest-memory reduction computing engines is very large, approaching the total bandwidth of all memory.
[0023] The request in this embodiment includes a target cache address unit and a first data set.
[0024] S230: Based on the target cache address unit, the reduction calculation engine determines the target atomic calculation unit group corresponding to the target cache address unit, and uses the target atomic calculation unit group in the reduction calculation engine to perform reduction calculation on the second data set corresponding to the target cache address unit and the first data set to obtain the calculation result; In one possible implementation, the target atomic computation unit group corresponding to the target cache address unit is determined in the following way: A hash calculation is performed on the target cache address unit to obtain the hash value corresponding to the target cache address unit; using the pre-set correspondence between each hash value and each atomic computing unit group, the target atomic computing unit group corresponding to the hash value of the target cache address unit is determined.
[0025] To ensure the smooth progress of the reduction calculation, in one possible implementation, before using the target atom calculation unit group in the reduction calculation engine to perform reduction calculation on the second data set corresponding to the target cache address unit and the first data set, it is determined that the target cache address unit is not locked.
[0026] If the target cache address unit is locked, it will be queued and waited until the target cache unit is unlocked.
[0027] In one possible implementation, when the target atom computation unit group in the reduction computation engine performs reduction computation on the second data set corresponding to the target cache address unit and the first data set, the target cache address unit is locked.
[0028] In one possible implementation, after performing reduction calculations on the second data set and the first data set corresponding to the target cache address unit using the target atomic computation unit group in the reduction computation engine, the target cache address unit is unlocked.
[0029] In one possible implementation, the reduction calculation of the second data set corresponding to the target cache address unit and the first data set using the target atomic computation unit group in the reduction computation engine can be specifically implemented as follows: For any atomic computation unit in the target atomic computation unit group, the second target data in the second data set is added to the first target data in the first data set by the atomic computation unit to obtain an intermediate result, and the calculation result is obtained based on the intermediate results. Wherein, the position of the second target data in the second data set is the same as the position of the first target data in the first data set, and the position of the second target data in the second data set is the same as the position of the atomic computation unit in the target atomic computation unit group; wherein, the atomic computation units in the target atomic computation unit group are executed in parallel.
[0030] For example, the first data set is [a, b, c], and the second data set is [m, n, p]. For the first atomic computing unit located in the target atomic computing unit group, the first target data is a, and the second target data is m. For the second atomic computing unit located in the target atomic computing unit group, the first target data is b, and the second target data is n. And so on. The embodiments of this application will not be described in detail here.
[0031] In this embodiment, the intermediate results are sorted according to the position of the corresponding atomic computing unit to obtain the calculation result. For example, if the intermediate result obtained by atomic computing unit 1 is A, the intermediate result obtained by atomic computing unit 2 is B, and the intermediate result obtained by atomic computing unit 3 is C, and the position of the atomic computing unit is [atomic computing unit 1, atomic computing unit 2, atomic computing unit 3], then the calculation result obtained is [intermediate result A, intermediate result B, intermediate result C].
[0032] In one possible implementation, if any one of the atomic computing units in the target atomic computing unit group has multiple data that need to be reduced, then the atomic computing unit processes the data that needs to be reduced serially, while different atomic computing units process them in parallel.
[0033] S240: The calculation result is stored in the cache corresponding to the target cache address unit in the storage unit by the reduction calculation engine.
[0034] In one possible implementation, S240 can be specifically implemented as follows: if the target cache address unit has multiple calculation results, then the calculation results are merged and stored in the cache; if the target cache address unit has a single calculation result, then the calculation result is stored in the cache.
[0035] The collection communication method in the embodiments of this application will be described below. Figure 4 This is a flowchart illustrating a collection communication method, which may include the following steps: S410: The first device broadcasts the output buffer address to each of the second devices, wherein the output buffer address is dynamically changing; S420: After receiving the broadcast, the second device sends a request to the first device; S430: After receiving a request from the second device, the first device, for any given request, parses the request using the protocol calculation engine to obtain a target cache address unit and a first data set. The target cache address unit includes the first device's output cache address and offset address, and the output cache address includes multiple cache address units. S440: The first device determines the target atomic computing unit group corresponding to the target cache address unit based on the target cache address unit through the reduction computing engine; S450: The first device determines that the target cache address unit is not locked; S460: Using the target atom computation unit group in the reduction computation engine, perform reduction computation on the second data set corresponding to the target cache address unit and the first data set to obtain the computation result, and lock the target cache address unit; S470: Unlock the target cache address unit; S480: The calculation result is stored in the cache corresponding to the target cache address unit in the storage unit by the reduction calculation engine.
[0036] Based on the same inventive concept, this application also provides a collection communication device. Figure 5 This is a schematic diagram of the structure of the collective communication device. (See diagram below.) Figure 5 As shown, the device 500 includes: The receiving module 510 is used to receive requests sent by the second device; The parsing module 520 is used to parse any request through the specification calculation engine to obtain a target cache address unit and a first data set, wherein the target cache address unit includes the output cache address and offset address of the first device, and the output cache address includes multiple cache address units; The reduction calculation module 530 is used to determine the target atomic calculation unit group corresponding to the target cache address unit based on the target cache address unit through the reduction calculation engine, and to perform reduction calculation on the second data set corresponding to the target cache address unit and the first data set using the target atomic calculation unit group in the reduction calculation engine to obtain the calculation result; The storage module 540 is used to store the calculation result in the storage unit to the cache corresponding to the target cache address unit through the reduction calculation engine.
[0037] In one possible embodiment, the reduction calculation module 520 is specifically used for: Perform a hash calculation on the target cache address unit to obtain the hash value corresponding to the target cache address unit; By utilizing the pre-set correspondence between each hash value and each atomic computing unit group, the target atomic computing unit group corresponding to the hash value of the target cache address unit is determined.
[0038] In one possible embodiment, the device further includes: The broadcast module 550 is used to broadcast the output buffer address to each of the second devices before receiving the request sent by the second device, wherein the output buffer address is dynamically changing.
[0039] In one possible embodiment, the device further includes: The judgment module 560 is used to determine that the target cache address unit is not locked before the reduction calculation is performed on the second data and the first data corresponding to the target cache address unit by the target atomic calculation unit group in the reduction calculation engine.
[0040] In one possible embodiment, the device further includes: The locking module 570 is used to lock the target cache address unit when performing reduction calculation on the second data and the first data corresponding to the target cache address unit using the target atom calculation unit group in the reduction calculation engine. The unlocking module 580 is used to unlock the target cache address unit after performing reduction calculation on the second data and the first data corresponding to the target cache address unit using the target atomic calculation unit group in the reduction calculation engine.
[0041] In one possible implementation, the reduction calculation module 530 is specifically used for: For any atomic computing unit in the target atomic computing unit group, the second target data in the second data set and the first target data in the first data set are added by the atomic computing unit to obtain an intermediate result. The position of the second target data in the second data set is the same as the position of the first target data in the first data set, and the position of the second target data in the second data set is the same as the position of the atomic computing unit in the target atomic computing unit group. The atomic computing units in the target atomic computing unit group are executed in parallel. The calculation result is obtained based on the intermediate results.
[0042] In one possible implementation, if any one of the atomic computing units in the target atomic computing unit group has multiple data that need to be reduced, then the atomic computing unit processes the data that needs to be reduced serially, while different atomic computing units process them in parallel.
[0043] In one possible implementation, the storage module 540 is specifically used for: If the target cache address unit has multiple calculation results, then the calculation results are merged and stored in the cache; If the target cache address unit contains a single calculation result, then the calculation result is stored in the cache.
[0044] The collective communication device provided in the embodiments of the present invention can execute the collective communication method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of executing the method.
[0045] The collection, storage, use, processing, transmission, provision, and disclosure of user personal information involved in the technical solution disclosed herein comply with the provisions of relevant laws and regulations and do not violate public order and good morals.
[0046] In some embodiments, the collective communication method may be implemented as a computer program tangibly contained in a computer-readable storage medium, such as a storage unit. In some embodiments, part or all of the computer program may be loaded and / or installed on an electronic device via ROM and / or a communication unit. When the computer program is loaded into RAM and executed by a processor, one or more steps of the collective communication method described above may be performed. Alternatively, in other embodiments, the processor may be configured to perform the collective communication method by any other suitable means (e.g., by means of firmware).
[0047] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.
[0048] Computer programs used to implement the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when executed by the processor, the computer programs cause the functions / operations specified in the flowcharts and / or block diagrams to be performed. The computer programs may be executed entirely on a machine, partially on a machine, or as a standalone software package, partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0049] In the context of this invention, a computer-readable storage medium can be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, apparatus, or device. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination thereof. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.
[0050] To provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the electronic device. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).
[0051] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or middleware components (e.g., application servers), or frontend components (e.g., user computers with graphical user interfaces or web browsers through which users can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., communication networks). Examples of communication networks include local area networks (LANs), wide area networks (WANs), blockchain networks, and the Internet.
[0052] A computing system can include clients and servers. Clients and servers are generally located far apart and typically interact through communication networks. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. The server can be a cloud server, also known as a cloud computing server or cloud host, which is a hosting product within the cloud computing service system to address the shortcomings of traditional physical hosts and VPS services, such as high management difficulty and weak business scalability.
[0053] It should be understood that the various forms of processes shown above can be used, with steps reordered, added, or deleted. For example, the steps described in this invention can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution of this invention can be achieved, and this is not limited herein.
[0054] The specific embodiments described above do not constitute a limitation on the scope of protection of this invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this invention should be included within the scope of protection of this invention.
Claims
1. A collective communication method, characterized in that, Applied to a first device, the first device including a storage unit and a reduction computing engine, the method includes: Receive a request sent by the second device; For any given request, the specification calculation engine parses the request to obtain a target cache address unit and a first data set. The target cache address unit includes the output cache address and offset address of the first device, and the output cache address includes multiple cache address units. The reduction calculation engine determines the target atomic calculation unit group corresponding to the target cache address unit based on the target cache address unit, and uses the target atomic calculation unit group in the reduction calculation engine to perform reduction calculation on the second data set and the first data set corresponding to the target cache address unit to obtain the calculation result. The calculation result is stored in the cache corresponding to the target cache address unit in the storage unit by the reduction calculation engine.
2. The method according to claim 1, characterized in that, The step of determining the target atomic computation unit group corresponding to the target cache address unit based on the target cache address unit through the reduction computation engine includes: Perform a hash calculation on the target cache address unit to obtain the hash value corresponding to the target cache address unit; By utilizing the pre-set correspondence between each hash value and each atomic computing unit group, the target atomic computing unit group corresponding to the hash value of the target cache address unit is determined.
3. The method according to claim 1, characterized in that, Before receiving the request sent by the second device, the method further includes: The output buffer address is broadcast to each second device, wherein the output buffer address is dynamically changing.
4. The method according to claim 1, characterized in that, Before performing reduction calculations on the second data set corresponding to the target cache address unit and the first data set using the target atom computation unit group in the reduction computation engine, the method further includes: It was determined that the target cache address unit was not locked.
5. The method according to claim 1, characterized in that, The method further includes performing reduction calculations on the second data set corresponding to the target cache address unit and the first data set using the target atom computation unit group in the reduction computation engine. Lock the target cache address unit; After performing reduction calculations on the second data set corresponding to the target cache address unit and the first data set using the target atom computation unit group in the reduction computation engine, the method further includes: Unlock the target cache address unit.
6. The method according to claim 1, characterized in that, The step of using the target atom computation unit group in the reduction computation engine to perform reduction computation on the second data set corresponding to the target cache address unit and the first data set to obtain the computation result includes: For any atomic computing unit in the target atomic computing unit group, the second target data in the second data set is added to the first target data in the first data set by the atomic computing unit to obtain an intermediate result. The position of the second target data in the second data set is the same as the position of the first target data in the first data set, and the position of the second target data in the second data set is the same as the position of the atomic computing unit in the target atomic computing unit group. The atomic computing units in the target atomic computing unit group are executed in parallel. The calculation result is obtained based on the intermediate results.
7. The method according to claim 1, characterized in that, If any one of the atomic computing units in the target atomic computing unit group has multiple data that need to be reduced, then the atomic computing unit processes the data that needs to be reduced serially, while different atomic computing units process them in parallel.
8. The method according to claim 1, characterized in that, The step of storing the calculation result into the cache corresponding to the target cache address unit in the storage unit through the reduction calculation engine includes: If the target cache address unit has multiple calculation results, then the calculation results are merged and stored in the cache; If the target cache address unit contains a single calculation result, then the calculation result is stored in the cache.
9. A collective communication system, characterized in that, The system includes a first device and a second device, wherein: The second device is used to send a request to the first device; The first device is configured to, upon receiving the request, execute the collective communication method according to any one of claims 1-8.
10. A first device, characterized in that, The first device includes a storage unit and a reduction computing engine, wherein: The reduction calculation engine is used to receive requests sent by the second device; for any request, it parses the request to obtain a target cache address unit and a first data set; based on the target cache address unit, it determines a target atomic calculation unit group corresponding to the target cache address unit; and uses the target atomic calculation unit group to perform reduction calculation on the second data set corresponding to the target cache address unit and the first data set to obtain the calculation result; wherein, the target cache address unit includes the output cache address and offset address of the first device, and the output cache address includes multiple cache address units; The storage unit is used to store the calculation results.