This shows you the differences between two versions of the page.
|
app:laboratoare:05 [2025/11/12 10:52] alexandru.bala [MPI_Bcast] |
app:laboratoare:05 [2025/11/12 11:20] (current) alexandru.bala [MPI_Gather] |
||
|---|---|---|---|
| Line 228: | Line 228: | ||
| * ''send_datatype'' (↓) - tipul datelor trimise către procese | * ''send_datatype'' (↓) - tipul datelor trimise către procese | ||
| * ''recv_data'' (↑) - reprezintă datele care sunt primite și stocate de către procese | * ''recv_data'' (↑) - reprezintă datele care sunt primite și stocate de către procese | ||
| - | * ''recv_count'' (↓) - dimensiunea datelor primite (de regulă dimensiunea_totală / număr_de_procese) | + | * ''recv_count'' (↓) - dimensiunea datelor primite (de regulă este egală cu send_count) |
| * ''recv_datatype'' (↓) - tipul datelor primite de către procese (de regulă este același cu send_datatype) | * ''recv_datatype'' (↓) - tipul datelor primite de către procese (de regulă este același cu send_datatype) | ||
| * ''root'' (↓) - identificatorul procesului care împarte datele și care le trimite către procesele din comunicator, inclusiv lui însuși | * ''root'' (↓) - identificatorul procesului care împarte datele și care le trimite către procesele din comunicator, inclusiv lui însuși | ||
| Line 241: | Line 241: | ||
| Semnătura funcției este următoarea: | Semnătura funcției este următoarea: | ||
| ''int MPI_Gather(void* send_data, int send_count, MPI_Datatype send_datatype, void* recv_data, int recv_count, MPI_Datatype recv_datatype, int root, MPI_Comm communicator)'', unde: | ''int MPI_Gather(void* send_data, int send_count, MPI_Datatype send_datatype, void* recv_data, int recv_count, MPI_Datatype recv_datatype, int root, MPI_Comm communicator)'', unde: | ||
| - | * ''send_data'' (↓) - reprezintă datele care trimise de fiecare proces către procesul cu id-ul root | + | * ''send_data'' (↓) - reprezintă datele trimise de fiecare proces către procesul cu id-ul root |
| * ''send_count'' (↓) - reprezintă dimensiunea bucății trimisă de fiecare proces (de regulă se pune ca fiind dimensiunea_totală / număr_de_procese). | * ''send_count'' (↓) - reprezintă dimensiunea bucății trimisă de fiecare proces (de regulă se pune ca fiind dimensiunea_totală / număr_de_procese). | ||
| * ''send_datatype'' (↓) - tipul datelor trimise de către procese | * ''send_datatype'' (↓) - tipul datelor trimise de către procese | ||
| * ''recv_data'' (↑) - reprezintă datele care sunt primite și stocate de către procesul root | * ''recv_data'' (↑) - reprezintă datele care sunt primite și stocate de către procesul root | ||
| - | * ''recv_count'' (↓) - dimensiunea datelor primite (de regulă dimensiunea_totală / număr_de_procese) | + | * ''recv_count'' (↓) - dimensiunea datelor primite (de regulă este egală cu send_count) |
| * ''recv_datatype'' (↓) - tipul datelor primite de către procesul root (de regulă este același cu send_datatype) | * ''recv_datatype'' (↓) - tipul datelor primite de către procesul root (de regulă este același cu send_datatype) | ||
| * ''root'' (↓) - identificatorul procesului care primește datele (inclusiv de la el însuși) | * ''root'' (↓) - identificatorul procesului care primește datele (inclusiv de la el însuși) | ||
| Line 259: | Line 259: | ||
| #include <stdio.h> | #include <stdio.h> | ||
| #include <stdlib.h> | #include <stdlib.h> | ||
| - | #include <mpi.h> | + | #include "mpi.h" |
| #define ROOT 0 | #define ROOT 0 | ||