- changed title to Failure of in-build-tree upcxx{,-info,-meta} when not configured with a default network
Failure of in-build-tree utils when configured without a default network
I've observed that the bin/upcxx-info
and bin/upcxx-meta
in a UPC++ build tree lacks the logic for automatic selection of the default which is present in bin/upcxx
and in their installed versions. This results in errors like the following if UPCXX_NETWORK
is unset:
{phargrov@wombat-login2 wombat-gcc_2023-03-25_13.43.11}$ ./bin/upcxx-meta
upcxx-meta: ERROR: invalid UPCXX_NETWORK=''.
Available networks: smp udp mpi ibv
{phargrov@wombat-login2 wombat-gcc_2023-03-25_13.43.11}$ ./bin/upcxx-info
upcxx: ERROR: invalid UPCXX_NETWORK=''.
Available networks: smp udp mpi ibv
The work-around is to set UPCXX_NETWORK
explicitly.
This is an inconvenience for developers and for use in CI, but I do not believe this impacts end-users.
Comments (4)
-
reporter -
reporter - changed status to open
Proposed fix in PR#484
-
reporter -
- changed status to resolved
Fix for in-build-tree utils w/o default network
Resolves issue 596
The problem in issue 596 was that when the utilities in
bin/
of the build tree are generated byconfigure
, they embed the value of$GASNET_CONDUIT
known toconfigure
. Unless there is a system-specific default (smp
on macOS andaries
on an Cray XC) this means that absence of--with-default-network=...
results in the utilities defaulting to an empty string forUPCXX_NETWORK
. This then fails validation against the list of all known networks.There are two changes to the generation of
upcxx
andupcxx-meta
to address the problem. The first is to allow and empty network value to pass validation. The second is to add to add login in the "may need to build the required runtime" step to query the default network. This is accomplished with the addition of a new (internal use) targetecho-default-network
inbld/Makefile
.No changes are require to
upcxx-info
, which is only a wrapper for the (fixed)upcxx
.No changes are required to
upcxx-run
, which does not suffer from issue 596.→ <<cset b5a9bf1d6830>>
- Log in to comment
I originally misunderstood both the scope and nature of the problem.
Unless there is a default network, all three of
upcxx
,upcxx-meta
andupcxx-info
will complain about an empty-string setting forUPCXX_NETWORK
.Currently,
configure
on macOS defaults tosmp
and when cross-compilation for a Cray XC it defaults toaries
. In all other cases this issue will appear unless--with-default-nework=...
is used.I have a solution in mind, but no time to implement it just yet.