@@ -135,6 +135,7 @@ unit_tests_sources = \
135135 partitioning/morton_sfc_partitioner_test.C \
136136 partitioning/parmetis_partitioner_test.C \
137137 partitioning/sfc_partitioner_test.C \
138+ quadrature/quadrature_exactness.h \
138139 quadrature/quadrature_test.C \
139140 solvers/time_solver_test_common.h \
140141 solvers/first_order_unsteady_solver_test.C \
@@ -241,7 +242,7 @@ data = matrices/geom_1_extraction_op.h5 \
241242unit_tests_data = $(data )
242243
243244# Why isn't this working automatically?
244- EXTRA_DIST = $(data )
245+ EXTRA_DIST = $(data ) fe/kokkos_fe_oracle_test_utils.h
245246
246247if LIBMESH_ENABLE_FPARSER
247248 unit_tests_sources += \
@@ -254,8 +255,75 @@ TESTS =
254255if LIBMESH_ENABLE_KOKKOS
255256 KOKKOS_TEST_CPPFLAGS += -I$(top_srcdir ) /include $(KOKKOS_CPPFLAGS )
256257
257- check_PROGRAMS += kokkos_vector_ops_oracle_unit kokkos_tensor_ops_oracle_unit
258- TESTS += kokkos_vector_ops_oracle_unit kokkos_tensor_ops_oracle_unit
258+ check_PROGRAMS += kokkos_fe_types_oracle_unit kokkos_fe_shape_oracle_unit \
259+ kokkos_fe_map_oracle_unit kokkos_fe_invariant_unit \
260+ kokkos_fe_contract_unit kokkos_fe_permuted_map_oracle_unit \
261+ kokkos_fe_reconstruction_oracle_unit \
262+ kokkos_fe_side_trace_oracle_unit
263+ TESTS += kokkos_fe_types_oracle_unit kokkos_fe_shape_oracle_unit \
264+ kokkos_fe_map_oracle_unit kokkos_fe_invariant_unit \
265+ kokkos_fe_contract_unit kokkos_fe_permuted_map_oracle_unit \
266+ kokkos_fe_reconstruction_oracle_unit \
267+ kokkos_fe_side_trace_oracle_unit
268+
269+ kokkos_fe_types_oracle_unit_SOURCES = fe/kokkos_fe_types_oracle_test.K
270+ kokkos_fe_types_oracle_unit_CPPFLAGS = $(AM_CPPFLAGS ) $(KOKKOS_TEST_CPPFLAGS )
271+ kokkos_fe_types_oracle_unit_CXXFLAGS = $(AM_CXXFLAGS ) $(KOKKOS_CXXFLAGS )
272+ kokkos_fe_types_oracle_unit_LDFLAGS = $(AM_LDFLAGS ) $(KOKKOS_LDFLAGS )
273+ kokkos_fe_types_oracle_unit_LDADD = $(top_builddir ) /libmesh_opt.la $(KOKKOS_LIBS ) $(libmesh_optional_LIBS )
274+
275+ kokkos_fe_shape_oracle_unit_SOURCES = fe/kokkos_fe_shape_oracle_test.K
276+ kokkos_fe_shape_oracle_unit_CPPFLAGS = $(AM_CPPFLAGS ) $(KOKKOS_TEST_CPPFLAGS )
277+ kokkos_fe_shape_oracle_unit_CXXFLAGS = $(AM_CXXFLAGS ) $(KOKKOS_CXXFLAGS )
278+ kokkos_fe_shape_oracle_unit_LDFLAGS = $(AM_LDFLAGS ) $(KOKKOS_LDFLAGS )
279+ kokkos_fe_shape_oracle_unit_LDADD = $(top_builddir ) /libmesh_opt.la $(KOKKOS_LIBS ) $(libmesh_optional_LIBS )
280+
281+ kokkos_fe_map_oracle_unit_SOURCES = fe/kokkos_fe_map_oracle_test.K
282+ kokkos_fe_map_oracle_unit_CPPFLAGS = $(AM_CPPFLAGS ) $(KOKKOS_TEST_CPPFLAGS )
283+ kokkos_fe_map_oracle_unit_CXXFLAGS = $(AM_CXXFLAGS ) $(KOKKOS_CXXFLAGS )
284+ kokkos_fe_map_oracle_unit_LDFLAGS = $(AM_LDFLAGS ) $(KOKKOS_LDFLAGS )
285+ kokkos_fe_map_oracle_unit_LDADD = $(top_builddir ) /libmesh_opt.la $(KOKKOS_LIBS ) $(libmesh_optional_LIBS )
286+
287+ kokkos_fe_invariant_unit_SOURCES = fe/kokkos_fe_invariant_test.K
288+ kokkos_fe_invariant_unit_CPPFLAGS = $(AM_CPPFLAGS ) $(KOKKOS_TEST_CPPFLAGS )
289+ kokkos_fe_invariant_unit_CXXFLAGS = $(AM_CXXFLAGS ) $(KOKKOS_CXXFLAGS )
290+ kokkos_fe_invariant_unit_LDFLAGS = $(AM_LDFLAGS ) $(KOKKOS_LDFLAGS )
291+ kokkos_fe_invariant_unit_LDADD = $(top_builddir ) /libmesh_opt.la $(KOKKOS_LIBS ) $(libmesh_optional_LIBS )
292+
293+ kokkos_fe_contract_unit_SOURCES = fe/kokkos_fe_contract_test.K
294+ kokkos_fe_contract_unit_CPPFLAGS = $(AM_CPPFLAGS ) $(KOKKOS_TEST_CPPFLAGS )
295+ kokkos_fe_contract_unit_CXXFLAGS = $(AM_CXXFLAGS ) $(KOKKOS_CXXFLAGS )
296+ kokkos_fe_contract_unit_LDFLAGS = $(AM_LDFLAGS ) $(KOKKOS_LDFLAGS )
297+ kokkos_fe_contract_unit_LDADD = $(top_builddir ) /libmesh_opt.la $(KOKKOS_LIBS ) $(libmesh_optional_LIBS )
298+
299+ kokkos_fe_permuted_map_oracle_unit_SOURCES = fe/kokkos_fe_permuted_map_oracle_test.K
300+ kokkos_fe_permuted_map_oracle_unit_CPPFLAGS = $(AM_CPPFLAGS ) $(KOKKOS_TEST_CPPFLAGS )
301+ kokkos_fe_permuted_map_oracle_unit_CXXFLAGS = $(AM_CXXFLAGS ) $(KOKKOS_CXXFLAGS )
302+ kokkos_fe_permuted_map_oracle_unit_LDFLAGS = $(AM_LDFLAGS ) $(KOKKOS_LDFLAGS )
303+ kokkos_fe_permuted_map_oracle_unit_LDADD = $(top_builddir ) /libmesh_opt.la $(KOKKOS_LIBS ) $(libmesh_optional_LIBS )
304+
305+ kokkos_fe_reconstruction_oracle_unit_SOURCES = fe/kokkos_fe_reconstruction_oracle_test.K
306+ kokkos_fe_reconstruction_oracle_unit_CPPFLAGS = $(AM_CPPFLAGS ) $(KOKKOS_TEST_CPPFLAGS )
307+ kokkos_fe_reconstruction_oracle_unit_CXXFLAGS = $(AM_CXXFLAGS ) $(KOKKOS_CXXFLAGS )
308+ kokkos_fe_reconstruction_oracle_unit_LDFLAGS = $(AM_LDFLAGS ) $(KOKKOS_LDFLAGS )
309+ kokkos_fe_reconstruction_oracle_unit_LDADD = $(top_builddir ) /libmesh_opt.la $(KOKKOS_LIBS ) $(libmesh_optional_LIBS )
310+
311+ kokkos_fe_side_trace_oracle_unit_SOURCES = fe/kokkos_fe_side_trace_oracle_test.K
312+ kokkos_fe_side_trace_oracle_unit_CPPFLAGS = $(AM_CPPFLAGS ) $(KOKKOS_TEST_CPPFLAGS )
313+ kokkos_fe_side_trace_oracle_unit_CXXFLAGS = $(AM_CXXFLAGS ) $(KOKKOS_CXXFLAGS )
314+ kokkos_fe_side_trace_oracle_unit_LDFLAGS = $(AM_LDFLAGS ) $(KOKKOS_LDFLAGS )
315+ kokkos_fe_side_trace_oracle_unit_LDADD = $(top_builddir ) /libmesh_opt.la $(KOKKOS_LIBS ) $(libmesh_optional_LIBS )
316+
317+ check_PROGRAMS += kokkos_quadrature_oracle_unit kokkos_vector_ops_oracle_unit \
318+ kokkos_tensor_ops_oracle_unit
319+ TESTS += kokkos_quadrature_oracle_unit kokkos_vector_ops_oracle_unit \
320+ kokkos_tensor_ops_oracle_unit
321+
322+ kokkos_quadrature_oracle_unit_SOURCES = fe/kokkos_quadrature_oracle_test.K
323+ kokkos_quadrature_oracle_unit_CPPFLAGS = $(AM_CPPFLAGS ) $(KOKKOS_TEST_CPPFLAGS )
324+ kokkos_quadrature_oracle_unit_CXXFLAGS = $(AM_CXXFLAGS ) $(KOKKOS_CXXFLAGS )
325+ kokkos_quadrature_oracle_unit_LDFLAGS = $(AM_LDFLAGS ) $(KOKKOS_LDFLAGS )
326+ kokkos_quadrature_oracle_unit_LDADD = $(top_builddir ) /libmesh_opt.la $(KOKKOS_LIBS ) $(libmesh_optional_LIBS )
259327
260328 kokkos_vector_ops_oracle_unit_SOURCES = numerics/kokkos_vector_ops_oracle_test.K
261329 kokkos_vector_ops_oracle_unit_CPPFLAGS = $(AM_CPPFLAGS ) $(KOKKOS_TEST_CPPFLAGS )
@@ -392,6 +460,42 @@ endif
392460 -c $< -o $@
393461
394462# Custom link rules so the Kokkos compiler drives the final link step.
463+ kokkos_fe_types_oracle_unit_LINK = \
464+ $(LIBTOOL ) --tag=CXX --mode=link $(KOKKOS_CXX ) \
465+ $(LDFLAGS ) $(kokkos_fe_types_oracle_unit_LDFLAGS ) -o $@
466+
467+ kokkos_fe_shape_oracle_unit_LINK = \
468+ $(LIBTOOL ) --tag=CXX --mode=link $(KOKKOS_CXX ) \
469+ $(LDFLAGS ) $(kokkos_fe_shape_oracle_unit_LDFLAGS ) -o $@
470+
471+ kokkos_fe_map_oracle_unit_LINK = \
472+ $(LIBTOOL ) --tag=CXX --mode=link $(KOKKOS_CXX ) \
473+ $(LDFLAGS ) $(kokkos_fe_map_oracle_unit_LDFLAGS ) -o $@
474+
475+ kokkos_fe_invariant_unit_LINK = \
476+ $(LIBTOOL ) --tag=CXX --mode=link $(KOKKOS_CXX ) \
477+ $(LDFLAGS ) $(kokkos_fe_invariant_unit_LDFLAGS ) -o $@
478+
479+ kokkos_fe_contract_unit_LINK = \
480+ $(LIBTOOL ) --tag=CXX --mode=link $(KOKKOS_CXX ) \
481+ $(LDFLAGS ) $(kokkos_fe_contract_unit_LDFLAGS ) -o $@
482+
483+ kokkos_fe_permuted_map_oracle_unit_LINK = \
484+ $(LIBTOOL ) --tag=CXX --mode=link $(KOKKOS_CXX ) \
485+ $(LDFLAGS ) $(kokkos_fe_permuted_map_oracle_unit_LDFLAGS ) -o $@
486+
487+ kokkos_fe_reconstruction_oracle_unit_LINK = \
488+ $(LIBTOOL ) --tag=CXX --mode=link $(KOKKOS_CXX ) \
489+ $(LDFLAGS ) $(kokkos_fe_reconstruction_oracle_unit_LDFLAGS ) -o $@
490+
491+ kokkos_fe_side_trace_oracle_unit_LINK = \
492+ $(LIBTOOL ) --tag=CXX --mode=link $(KOKKOS_CXX ) \
493+ $(LDFLAGS ) $(kokkos_fe_side_trace_oracle_unit_LDFLAGS ) -o $@
494+
495+ kokkos_quadrature_oracle_unit_LINK = \
496+ $(LIBTOOL ) --tag=CXX --mode=link $(KOKKOS_CXX ) \
497+ $(LDFLAGS ) $(kokkos_quadrature_oracle_unit_LDFLAGS ) -o $@
498+
395499kokkos_vector_ops_oracle_unit_LINK = \
396500 $(LIBTOOL ) --tag=CXX --mode=link $(KOKKOS_CXX ) \
397501 $(LDFLAGS ) $(kokkos_vector_ops_oracle_unit_LDFLAGS ) -o $@
0 commit comments