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
nvptx-vl.tar.gz
Description: application/gzip