Patent ID: 11876642
Assignee: MELLANOX TECHNOLOGIES, LTD.
Field: Digital communication (Electrical engineering)
Classification: CPC G  H | IPC G  H

Claim 12:
13. A method comprising:
providing a plurality of processes, each of said plurality of processes being configured to hold a block of data destined for others of said plurality of processes;
providing at least one instance of data repacking circuitry comprising:
receiving circuitry configured to receive at least one block of data from at least one source process of the plurality of processes;
repacking circuitry configured to repack received data in accordance with at least one destination process of the plurality of processes; and
sending circuitry configured to send the repacked data to said at least one destination process of the plurality of processes;
receiving a set of data for all-to-all data exchange, the set of data being configured as a plurality of blocks of data in a matrix as matrix data, the matrix being distributed as one or more submatrices among the plurality of processes;
transposing the matrix data by changing the position of selected blocks of data of the plurality of blocks of data relative to the other blocks of data of the plurality of the blocks of data, without changing the structure of each of the blocks of data, and sending the matrix data from each submatrix from said each corresponding process to said data repacking circuitry;
said data repacking circuitry receiving, repacking, and sending the resulting matrix data to destination processes; and,
providing a control tree to assign each submatrix to an instance of data repackaging circuitry.