Skip to content

Commit d416ef3

Browse files
Merge pull request #1211 from arcaneframework/dev/gg-use-filter-for-switch-between-pure-and-partial
Use accelerator Filter to compute cells which switch between pure and partial
2 parents cc8ac16 + bf761c0 commit d416ef3

7 files changed

+172
-61
lines changed

arcane/ceapart/tests/CMakeLists.txt

+4-4
Original file line numberDiff line numberDiff line change
@@ -103,10 +103,10 @@ if (ARCANE_HAS_ACCELERATOR_API)
103103
ARCANE_ADD_TEST(material3 testMaterial-3.arc "-m 20")
104104
# NOTE Ajoute test optmisation uniquement en sequentiel car pour l'instant cela
105105
# ne marche pas en parallele a cause de la suppression de mailles.
106-
ARCANE_ADD_TEST_SEQUENTIAL(material3_opt1 testMaterial-3-opt1.arc "-m 20")
107-
ARCANE_ADD_TEST_SEQUENTIAL(material3_opt3 testMaterial-3-opt3.arc "-m 20")
108-
ARCANE_ADD_TEST_SEQUENTIAL(material3_opt5 testMaterial-3-opt5.arc "-m 20")
109-
ARCANE_ADD_TEST_SEQUENTIAL(material3_opt7 testMaterial-3-opt7.arc "-m 20")
106+
ARCANE_ADD_TEST_SEQUENTIAL(material3_opt1 testMaterial-3-opt1.arc "-m 20" "-We,ARCANE_MATERIAL_TRANSFORM_NO_FILTER,1")
107+
ARCANE_ADD_TEST_SEQUENTIAL(material3_opt3 testMaterial-3-opt3.arc "-m 20" "-We,ARCANE_MATERIAL_TRANSFORM_NO_FILTER,1")
108+
ARCANE_ADD_TEST_SEQUENTIAL(material3_opt5 testMaterial-3-opt5.arc "-m 20" "-We,ARCANE_MATERIAL_TRANSFORM_NO_FILTER,1")
109+
ARCANE_ADD_TEST_SEQUENTIAL(material3_opt7 testMaterial-3-opt7.arc "-m 20" "-We,ARCANE_MATERIAL_TRANSFORM_NO_FILTER,1")
110110
if(NOT ARCANE_DISABLE_PERFCOUNTER_TESTS)
111111
arcane_add_test_sequential(material3_opt7_trace testMaterial-3-opt7.arc "-m 20" "-We,ARCANE_TRACE_ENUMERATOR,1")
112112
endif()

arcane/src/arcane/materials/CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ arcane_accelerator_add_source_files(
1212
AllEnvData.cc
1313
MeshMaterialVariableScalar
1414
MeshMaterialVariableArray
15+
MeshMaterialVariableIndexer
1516
)
1617

1718
target_compile_definitions(arcane_materials PRIVATE ARCANE_COMPONENT_arcane_materials)

arcane/src/arcane/materials/ConstituentModifierWorkInfo.cc

+1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ ConstituentModifierWorkInfo::
3030
ConstituentModifierWorkInfo()
3131
: pure_local_ids(platform::getDefaultDataAllocator())
3232
, partial_indexes(platform::getDefaultDataAllocator())
33+
, m_cells_to_transform(platform::getDefaultDataAllocator())
3334
{
3435
}
3536

arcane/src/arcane/materials/IncrementalComponentModifier.cc

+2-2
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ _switchCellsForMaterials(const MeshMaterial* modified_mat,
215215
info(4) << "TransformCells (V3) is_add?=" << is_add << " indexer=" << indexer->name();
216216

217217
_computeCellsToTransformForMaterial(mat, ids);
218-
indexer->transformCellsV2(m_work_info);
218+
indexer->transformCellsV2(m_work_info,m_copy_queue);
219219
m_work_info.resetTransformedCells(ids);
220220

221221
info(4) << "NB_MAT_TRANSFORM=" << m_work_info.pure_local_ids.size() << " name=" << mat->name();
@@ -266,7 +266,7 @@ _switchCellsForEnvironments(const IMeshEnvironment* modified_env,
266266
info(4) << "TransformCells (V2) is_add?=" << is_add << " indexer=" << indexer->name();
267267

268268
_computeCellsToTransformForEnvironments(ids);
269-
indexer->transformCellsV2(m_work_info);
269+
indexer->transformCellsV2(m_work_info, m_copy_queue);
270270
m_work_info.resetTransformedCells(ids);
271271

272272
info(4) << "NB_ENV_TRANSFORM=" << m_work_info.pure_local_ids.size()

0 commit comments

Comments
 (0)