mirror of
https://github.com/NGSolve/netgen.git
synced 2025-01-12 22:20:35 +05:00
no stack arrays for names
This commit is contained in:
parent
568f918ae8
commit
7346495135
@ -722,7 +722,7 @@ namespace netgen
|
|||||||
// names
|
// names
|
||||||
int strs = 0;
|
int strs = 0;
|
||||||
iterate_names([&](auto ptr) { strs += (ptr==NULL) ? 0 : ptr->size(); });
|
iterate_names([&](auto ptr) { strs += (ptr==NULL) ? 0 : ptr->size(); });
|
||||||
char compiled_names[strs];
|
Array<char> compiled_names(strs);
|
||||||
strs = 0;
|
strs = 0;
|
||||||
iterate_names([&](auto ptr) {
|
iterate_names([&](auto ptr) {
|
||||||
if (ptr==NULL) return;
|
if (ptr==NULL) return;
|
||||||
@ -730,7 +730,7 @@ namespace netgen
|
|||||||
for (int j=0; j < name.size(); j++) compiled_names[strs++] = name[j];
|
for (int j=0; j < name.size(); j++) compiled_names[strs++] = name[j];
|
||||||
});
|
});
|
||||||
for( int k = 1; k < ntasks; k++)
|
for( int k = 1; k < ntasks; k++)
|
||||||
(void) MPI_Isend(compiled_names, strs, MPI_CHAR, k, MPI_TAG_MESH+6, comm, &sendrequests[2*ntasks+k]);
|
(void) MPI_Isend(&(compiled_names[0]), strs, MPI_CHAR, k, MPI_TAG_MESH+6, comm, &sendrequests[2*ntasks+k]);
|
||||||
|
|
||||||
PrintMessage ( 3, "wait for names");
|
PrintMessage ( 3, "wait for names");
|
||||||
|
|
||||||
@ -960,8 +960,8 @@ namespace netgen
|
|||||||
int tot_size = 0;
|
int tot_size = 0;
|
||||||
for (int k = 0; k < tot_nn; k++) tot_size += name_sizes[k];
|
for (int k = 0; k < tot_nn; k++) tot_size += name_sizes[k];
|
||||||
|
|
||||||
char compiled_names[tot_size];
|
Array<char> compiled_names(tot_size);
|
||||||
MPI_Recv(compiled_names, tot_size, MPI_CHAR, 0, MPI_TAG_MESH+6, comm, MPI_STATUS_IGNORE);
|
MPI_Recv(&(compiled_names[0]), tot_size, MPI_CHAR, 0, MPI_TAG_MESH+6, comm, MPI_STATUS_IGNORE);
|
||||||
|
|
||||||
tot_nn = tot_size = 0;
|
tot_nn = tot_size = 0;
|
||||||
auto write_names = [&] (auto & array) {
|
auto write_names = [&] (auto & array) {
|
||||||
|
Loading…
Reference in New Issue
Block a user