allow all three backends to co-exist in a single build (#270)

* add support for compiling all backends

also include the logic to select backends either based on user requests
or through some heuristics

* checkpoint for compiling all backends

* final checkpoint

all tests seem to pass when compiling all three backends simultaneasly
and forcing to use any of the three Backends.

* update PR to new envvar system
This commit is contained in:
Edgar Gabriel
2025-10-07 10:49:20 -05:00
committed by GitHub
parent c84bbc250b
commit a1269e3db5
22 changed files with 353 additions and 47 deletions
+2 -1
View File
@@ -32,7 +32,8 @@ namespace rocshmem {
__device__ Context::Context(Backend* handle, bool shareable)
: num_pes(handle->getNumPEs()),
my_pe(handle->getMyPE()),
fence_(shareable) {
fence_(shareable),
btype(handle->type) {
/*
* Device-side context constructor is a work-group collective, so make
* sure all the members have their default values before returning.