Skip to content

Conversation

thedoctar
Copy link

@thedoctar thedoctar commented Nov 19, 2021

I get a bug where OpenCL cannot compile CTest kernels.

========================================
In file included from 2:3:
In file included from ./include/clRNG/mrg31k3p.clh:155:
./include/clRNG/private/mrg31k3p.c.h:234:14: error: passing '__constant cl_uint (*)[3]' to parameter of type 'cl_uint __private (*)[3]' changes address space of pointer
                modMatVec (clrngMrg31k3p_A1p72, streams[k].substream.g1, streams[k].substream.g1, mrg31k3p_M1);
                           ^~~~~~~~~~~~~~~~~~~
./include/clRNG/./private/modular.c.h:79:44: note: passing argument to parameter 'A' here
static void modMatVec (MODULAR_NUMBER_TYPE A[N][N], MODULAR_NUMBER_TYPE s[N], MODULAR_NUMBER_TYPE v[N], MODULAR_NUMBER_TYPE m)
                                           ^
In file included from 2:3:
In file included from ./include/clRNG/mrg31k3p.clh:155:
./include/clRNG/private/mrg31k3p.c.h:235:14: error: passing '__constant cl_uint (*)[3]' to parameter of type 'cl_uint __private (*)[3]' changes address space of pointer
                modMatVec (clrngMrg31k3p_A2p72, streams[k].substream.g2, streams[k].substream.g2, mrg31k3p_M2);
                           ^~~~~~~~~~~~~~~~~~~
./include/clRNG/./private/modular.c.h:79:44: note: passing argument to parameter 'A' here
static void modMatVec (MODULAR_NUMBER_TYPE A[N][N], MODULAR_NUMBER_TYPE s[N], MODULAR_NUMBER_TYPE v[N], MODULAR_NUMBER_TYPE m)
                                           ^
========================================

========================================
In file included from 10:3:
In file included from ./include/clRNG/mrg32k3a.clh:156:
./include/clRNG/private/mrg32k3a.c.h:213:13: error: passing '__constant cl_ulong (*)[3]' to parameter of type 'cl_ulong __private (*)[3]' changes address space of pointer
                modMatVec(clrngMrg32k3a_A1p76, streams[k].substream.g1, streams[k].substream.g1, Mrg32k3a_M1);
                          ^~~~~~~~~~~~~~~~~~~
./include/clRNG/./private/modular.c.h:79:44: note: passing argument to parameter 'A' here
static void modMatVec (MODULAR_NUMBER_TYPE A[N][N], MODULAR_NUMBER_TYPE s[N], MODULAR_NUMBER_TYPE v[N], MODULAR_NUMBER_TYPE m)
                                           ^
In file included from 10:3:
In file included from ./include/clRNG/mrg32k3a.clh:156:
./include/clRNG/private/mrg32k3a.c.h:214:13: error: passing '__constant cl_ulong (*)[3]' to parameter of type 'cl_ulong __private (*)[3]' changes address space of pointer
                modMatVec(clrngMrg32k3a_A2p76, streams[k].substream.g2, streams[k].substream.g2, Mrg32k3a_M2);
                          ^~~~~~~~~~~~~~~~~~~
./include/clRNG/./private/modular.c.h:79:44: note: passing argument to parameter 'A' here
static void modMatVec (MODULAR_NUMBER_TYPE A[N][N], MODULAR_NUMBER_TYPE s[N], MODULAR_NUMBER_TYPE v[N], MODULAR_NUMBER_TYPE m)

========================================

Fix bug "changing memory scope"
Fix bug of changing memory scope.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant