Data processing method and computing system for distributed reduction across multiple dies
The embodiments of the disclosure relate to a data processing method and a computing system. For each die: a first reduction engine of multiple reduction engines corresponding to multiple computing cores included in a current die is determined; each computing core sends data to be reduced and a synchronization indicator to the first reduction engines in multiple dies; in response to receiving the data to be reduced and the synchronization indicators from the computing cores in multiple dies, the first reduction engine in the current die performs a reduction operation on the data to be reduced to generate a reduction computing result, and sends synchronization acknowledgments to the computing cores in the current die; and in response to receiving the synchronization acknowledgment, each computing core in the current die reads the reduction computing result from the first reduction engine in the current die.
1 . A data processing method performed in a computing system, wherein the computing system comprises a plurality of chips connected through an inter-chip interconnection technology, each of the chips comprises a plurality of processor dies, each of the processor dies comprises a plurality of computing cores and a plurality of reduction engines, the data processing method comprises:
for each of the processor dies, determining one of the plurality of reduction engines corresponding to the plurality of computing cores comprised in each of the processor dies as a die reduction engine, wherein the die reduction engine is configured to perform a cross-die reduction operation;
performing following steps by a local die, the local die being one of the plurality of processor dies, others of the processor dies being as remote dies:
sending, by each of the computing cores in the local die, data to be reduced and a synchronization indicator to the die reduction engine in the local die and die reduction engines in the remote dies, wherein the synchronization indicator follows the data to be reduced to ensure that by the time synchronization is completed, a reduction operation is completed earlier than a synchronization, thereby ensuring data consistency without a need for a global refreshing command;
in response to receiving a plurality of pieces of data to be reduced and a plurality of synchronization indicators from the plurality of computing cores in the local die and the remote dies, performing, by the die reduction engine in the local die, a reduction operation on the plurality of pieces of data to be reduced to generate a reduction computing result, and only sending, by the die reduction engine in the local die, synchronization acknowledgments to the plurality of computing cores in the local die; and
in response to receiving the synchronization acknowledgment from the die reduction engine in the local die and not receiving synchronization acknowledgments from the remote dies, reading, by each of the computing cores in the local die, the reduction computing result from the die reduction engine in the local die.
2 . The data processing method according to claim 1 , wherein the plurality of pieces of data to be reduced are used for batch normalization of a neural network model.
3 . The data processing method according to claim 2 , further comprising:
for each of the processor dies, performing following steps:
performing, by each of the computing cores in the local die, the batch normalization on the reduction computing result.
4 . The data processing method according to claim 1 , wherein a number of the die reduction engine in the local die is one or more than one.
5 . A computing system, comprising:
a plurality of chips, connected through an inter-chip interconnection technology;
wherein each of the chips comprises a plurality of processor dies, each of the processor dies comprises a plurality of computing cores and a plurality of reduction engines,
for each of the processor dies, one of the plurality of reduction engines corresponding to the plurality of computing cores in each of the processor dies is configured to function as a die reduction engine, wherein the die reduction engine is configured to perform a cross-die reduction operation,
one of the plurality of processor dies is used as a local die, others of the processor dies are used as remote dies,
each of the computing cores in the local die is configured to send data to be reduced and a synchronization indicator to the die reduction engine in the local die and die reduction engines in the remote dies, wherein the synchronization indicator follows the data to be reduced to ensure that by the time synchronization is completed, a reduction operation is completed earlier than a synchronization, thereby ensuring data consistency without a need for a global refreshing command,
in response to receiving a plurality of pieces of data to be reduced and a plurality of synchronization indicators from the plurality of computing cores in the local die and the remote dies, the die reduction engine in the local die is configured to perform a reduction operation on the plurality of pieces of data to be reduced to generate a reduction computing result and only sends synchronization acknowledgments to the plurality of computing cores in the local die, and
in response to receiving the synchronization acknowledgment from the die reduction engine in the local die and not receiving synchronization acknowledgments from the remote dies, each of the computing cores in the local die is further configured to read the reduction computing result from the die reduction engine in the local die.
6 . The computing system according to claim 5 , wherein the plurality of pieces of data to be reduced are used for batch normalization of a neural network model.
7 . The computing system according to claim 6 , wherein for each of the processor dies,
each the computing cores in the local die is further configured to perform batch normalization on the reduction computing result.
8 . The computing system according to claim 5 , wherein a number of the die reduction engine in the local die is one or more than one.