Nuno Nobre
Nuno Nobre
1. Worked like a charm, thanks! 🙂 2. How do we expect the current `mem_fence` implementation to work when targeting nvc++?
I'd have thought so, but it's actually invoking `__hipsycl_if_target_host()` which would do nothing, if not for the weird link time undefined reference to `__builtin_is_device_code`, presumably from `if target (nv::target::is_host)`.
My bad... `__hipsycl_if_target_hiplike()` does also resolve to an `if target`, I was looking at the wrong place. They are both preprocessed correctly apparently: ``` template struct mem_fence_impl { __attribute__((host)) __attribute__((device))...
> Does this also reproduce with your nvc++ versions? Yes, with both 21.7 and 22.7. > EDIT: Seems it does not like the empty host path. Removing it or putting...
> Hopefully it's fixed in one of the next nvc++ releases. I've checked if we can just put a semicolon in the empty branch (i.e., an empty statement) as a...
> Yeah, my experience is that nvc++ bugs are quite throrough ;) But thanks for trying. If they are anything like nvfortran's... 😝
I've quite radically reworked `ACCUpdateDirective`. The constructor no longer takes a list of signatures, but rather a list of nodes from which a new method in the class, `lower_to_language_level()`, is...
> Hi @nmnobre, yes, all node constructors have to take `children`. In this case the children will need to be `Clause` nodes, in a similar way to what I am...
In hindsight, I think I made the _wrong_ decision... I tried to make the `update` directive implementation mimic that of `enter data`, but I should've done the opposite... We shouldn't...
> What's your thinking here? My assumption was that we should assume that as we know it's going to be needed. I agree, it's eventually going to be needed, but...