diff --git a/.github/workflows/reconverse-ci.yaml b/.github/workflows/reconverse-ci.yaml index 8617e7e4be..2c8ee81657 100644 --- a/.github/workflows/reconverse-ci.yaml +++ b/.github/workflows/reconverse-ci.yaml @@ -38,13 +38,26 @@ env: # Curated test tier. Grows one reviewed PR at a time; every tests/ dir NOT # listed here is by definition unsupported-on-reconverse until added (the - # parity matrix mirrors this list). + # parity matrix mirrors this list). within_node_bcast and the zerocopy + # dirs entered with the reconverse bump to 58921e9 (reconverse #217, #222): + # they are the tests that caught both bugs. zerocopy/zc_post_modify_size + # stays out until reconverse #223 (2-process data mismatch) is fixed, and + # zerocopy/large_p2p (a 2 GiB transfer, kept out of zerocopy/Makefile's own + # test target as well) does not fit a hosted runner. TEST_DIRS: >- tests/charm++/megatest tests/charm++/simplearrayhello tests/charm++/anytime_migration tests/charm++/anytime_bcastred tests/charm++/qd + tests/charm++/within_node_bcast + tests/charm++/zerocopy/zerocopy_with_qd + tests/charm++/zerocopy/direct_api + tests/charm++/zerocopy/large_bcast + tests/charm++/zerocopy/bcast_nonzero_root + tests/charm++/zerocopy/dereg_and_nodereg + tests/charm++/zerocopy/zc_post_async + tests/charm++/zerocopy/pup_buffer jobs: diff --git a/cmake/detect-features.cmake b/cmake/detect-features.cmake index c5350ca09a..6bac7ee100 100644 --- a/cmake/detect-features.cmake +++ b/cmake/detect-features.cmake @@ -37,6 +37,14 @@ set(CMK_USE_CMA ${CMK_HAS_CMA}) if(NETWORK STREQUAL "multicore") set(CMK_USE_CMA 0) endif() +# Reconverse has no CMA transport: its conv-rdma.cpp compiles the CMA paths +# only under a CMK_USE_CMA it never defines, and it does not parse +# +noCMAForZC. Leaving CMK_USE_CMA on for a reconverse build compiles dead +# CMA branches into Charm++ and makes the zerocopy tests' +noCMAForZC runs +# (guarded by CMK_USE_CMA in their Makefiles) abort with a usage error. +if(RECONVERSE) + set(CMK_USE_CMA 0) +endif() # Misc. linker flags (mostly for Charm4py) diff --git a/contrib/reconverse b/contrib/reconverse index 38091f1e95..58921e9f57 160000 --- a/contrib/reconverse +++ b/contrib/reconverse @@ -1 +1 @@ -Subproject commit 38091f1e950446ce6668560db5211ee356b5c2d7 +Subproject commit 58921e9f575fec5caafa69fd2504f700dcb70af4 diff --git a/tests/charm++/Makefile b/tests/charm++/Makefile index ebfe0176ff..f8fc55262a 100644 --- a/tests/charm++/Makefile +++ b/tests/charm++/Makefile @@ -41,7 +41,18 @@ FTDIRS = \ jacobi3d \ jacobi3d-sdag \ -TESTDIRS = $(filter-out $(FTDIRS),$(DIRS)) +# Not applicable on reconverse: queue tests classic's Cqs API, which the +# reconverse build does not compile (reconverse has its own queue and its own +# test for it); longIdle needs CcdCallOnConditionOnPE, which reconverse does +# not provide. +ifeq ($(CMK_GDIR),reconverse) +RECONVERSE_NA = \ + queue \ + longIdle \ + +endif + +TESTDIRS = $(filter-out $(FTDIRS) $(RECONVERSE_NA),$(DIRS)) NONSCALEDIRS = \ alignment \ diff --git a/tests/converse/Makefile b/tests/converse/Makefile index a67ac34d56..f4af500772 100644 --- a/tests/converse/Makefile +++ b/tests/converse/Makefile @@ -3,6 +3,13 @@ DIRS = \ megacon \ +# megacon is written against the Cpm interface and other classic-only +# Converse APIs that reconverse does not provide; reconverse carries its own +# port of the bank (tests/megarecon in the reconverse repository). +ifeq ($(CMK_GDIR),reconverse) +DIRS = +endif + TESTDIRS = $(DIRS) all: $(foreach i,$(DIRS),build-$i)