Skip to content

Commit 23fd7b9

Browse files
[arcane,std] Utilise une heuristique simple pour déterminer le nombre de parties.
1 parent 4895db0 commit 23fd7b9

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

arcane/src/arcane/std/MshParallelMeshReader.cc

+9-1
Original file line numberDiff line numberDiff line change
@@ -1476,7 +1476,15 @@ readMeshFromMshFile(IMesh* mesh, const String& filename)
14761476
const Int32 nb_rank = pm->commSize();
14771477

14781478
// Détermine les rangs qui vont conserver les données
1479-
m_nb_part = math::min(m_nb_part, nb_rank);
1479+
m_nb_part = nb_rank;
1480+
if (nb_rank > 64)
1481+
m_nb_part = nb_rank / 2;
1482+
if (nb_rank > 128)
1483+
m_nb_part = nb_rank / 4;
1484+
if (nb_rank > 512)
1485+
m_nb_part = nb_rank / 8;
1486+
if (nb_rank > 2048)
1487+
m_nb_part = nb_rank / 16;
14801488
m_parts_rank.resize(m_nb_part);
14811489
for (Int32 i = 0; i < m_nb_part; ++i) {
14821490
m_parts_rank[i] = i % nb_rank;

0 commit comments

Comments
 (0)