First MFEM backend PR - #248
Conversation
e5f530b to
bddc23c
Compare
Waqar-ukaea
left a comment
There was a problem hiding this comment.
Minor points on CI/testing
| matrix: | ||
| libmesh: [true, false] | ||
| moab: [true, false] | ||
| mfem: [true, false] | ||
| exclude: | ||
| - moab: false | ||
| libmesh: false |
There was a problem hiding this comment.
We need to add an exclude for mfem too:
```suggestion
matrix:
libmesh: [true, false]
moab: [true, false]
mfem: [true, false]
exclude:
- moab: false
libmesh: false
mfem: false
Currently we are excluding the case moab=false, libmesh=false, mfem=true but this change should ensure that job runs too
| if (XDG_ENABLE_MOAB AND XDG_ENABLE_LIBMESH) | ||
| list(APPEND TEST_NAMES test_mesh_library_cross_check) | ||
| endif() |
There was a problem hiding this comment.
This currently doesn't resolve scenarios where mfem is disabled, since the cross checks include xdg_mfem instatiation. I'm not sure what the best way to fix this is now that we have three backends rather than two.
The only way I can see to do it is at runtime check which backends are enabled and add them to a list of XDG instances to create. I implemented something similar for the ray_tracing_cross_check_tests with cuBQL here - https://github.com/Waqar-ukaea/xdg/blob/b857939d316fdb9ea005eedb49af9bac3e04356f/tests/test_ray_tracer_cross_check.cpp.
There was a problem hiding this comment.
I am going to put a hotfix in here for now, and set it so that the cross checks only run when all three backends are enabled. I'll fix that one before taking it out of draft.
| auto xdg_moab = XDG::create(MeshLibrary::MOAB); | ||
| xdg_moab->mesh_manager()->load_file("jezebel.h5m"); | ||
| xdg_moab->mesh_manager()->init(); | ||
| xdg_moab->mesh_manager()->parse_metadata(); | ||
| xdg_moab->prepare_raytracer(); | ||
|
|
||
| auto xdg_libmesh = XDG::create(MeshLibrary::LIBMESH); | ||
| xdg_libmesh->mesh_manager()->load_file("jezebel.exo"); | ||
| xdg_libmesh->mesh_manager()->init(); | ||
| xdg_libmesh->mesh_manager()->parse_metadata(); | ||
| xdg_libmesh->prepare_raytracer(); | ||
|
|
||
| auto xdg_mfem = XDG::create(MeshLibrary::MFEM); | ||
| xdg_mfem->mesh_manager()->load_file("jezebel.exo"); | ||
| xdg_mfem->mesh_manager()->init(); | ||
| xdg_mfem->mesh_manager()->parse_metadata(); | ||
| xdg_mfem->prepare_raytracer(); |
There was a problem hiding this comment.
I have another comment talking about this. But my idea is to do something like - https://github.com/Waqar-ukaea/xdg/blob/b857939d316fdb9ea005eedb49af9bac3e04356f/tests/test_ray_tracer_cross_check.cpp
No description provided.