Skip to content

Commit bebe8b7

Browse files
committed
Add Kokkos FE oracle test suite
1 parent a326237 commit bebe8b7

13 files changed

Lines changed: 6028 additions & 91 deletions

tests/Makefile.am

Lines changed: 107 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -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 \
241242
unit_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

246247
if LIBMESH_ENABLE_FPARSER
247248
unit_tests_sources += \
@@ -254,8 +255,75 @@ TESTS =
254255
if 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+
395499
kokkos_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

Comments
 (0)