On 10/5/18 23:22, Tom de Vries wrote:
> On 9/18/18 10:04 PM, Cesar Philippidis wrote:
>> 591973d3c3a [nvptx] use user-defined vectors when possible
> 
> If I drop this patch, I get the same test results. Can you find a
> testcase for which this patch has an effect?

I just revisited the vector length patch series, and that patch in
specific is bogus and can be safely dropped.

>From what I can remember, the intent behind that patch is to allow the
user to override the default vector length using GOMP_OPENACC_DIM. E.g.,

  #pragma acc parallel loop vector
  for (...)

Here, the nvptx BE defaults to vector length = 32. But I had originally
wanted to allow something like

  GOMP_OPENACC_DIM="1:1:128" ./a.out

to use a vector length of 128 in that parallel region. After looking the
rest of the patch series, that's not possible because the nvptx BE
hard-codes the vector length to 128 at compile time. This was done
because large, multi-warp vector reductions are slow (O(n) vs O(ln n)).

Is this patch series OK without that patch? And if so, because that
patch series depends on other patches, can the following patches be
committed independently?

91e5c13b462 [nvptx] Generalize state propagation and synchronization
cb4b27a93e0 [nvptx] Use MAX, MIN, ROUND_UP macros
0af782ae93c [nvptx] Use TARGET_SET_CURRENT_FUNCTION
87cfb384dbe [nvptx] Add axis_dim
d1783939d98 [nvptx] Add thread count parm to bar.sync
47e80fa77a5 [nvptx] only use one bar.sync barriers in OpenACC offloaded
            code
dafc9957ee7 [nvptx] Fix whitespace in nvptx_single and nvptx_neuter_pars
a4857b94879 [nvptx] make nvptx state propagation function names more
            generic
b4b85f6e0b5 [nvptx] consolidate offloaded function attributes into
            struct offload_attrs
bcdb1e8afac [nvptx] Rename worker_bcast variables oacc_bcast.
34958a0904d [nvptx] update openacc dim macros

These patches just refactor code in the nvptx BE.

Thanks,
Cesar

Attachment: nvptx-vl.tar.gz
Description: application/gzip

Reply via email to