René's URL Explorer Experiment


Title: Why program.build() always says "}"didn't match? · Issue #41 · nativelibs4java/JavaCL · GitHub

Open Graph Title: Why program.build() always says "}"didn't match? · Issue #41 · nativelibs4java/JavaCL

X Title: Why program.build() always says "}"didn't match? · Issue #41 · nativelibs4java/JavaCL

Description: :441:12: error: expected '}' :439:10: note: to match this '{' { ^ kernel file: // TODO: Add OpenCL kernel code here. __kernel void dpqc( int Ndim, //__global float *G, __constant float *G, //__global float *B, __constant float *B, __glob...

Open Graph Description: :441:12: error: expected '}' :439:10: note: to match this '{' { ^ kernel file: // TODO: Add OpenCL kernel code here. __kernel void dpqc( int Ndim, //__global float *G, __constant float *G, //__glob...

X Description: :441:12: error: expected '}' :439:10: note: to match this '{' { ^ kernel file: // TODO: Add OpenCL kernel code here. __kernel void dpqc( int Ndim, //__global float *G, __constant fl...

Opengraph URL: https://github.com/nativelibs4java/JavaCL/issues/41

X: @github

direct link

Domain: patch-diff.githubusercontent.com


Hey, it has json ld scripts:
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Why program.build()  always says \"}\"didn't match?","articleBody":"\u003ckernel\u003e:441:12: error: expected '}'\r\n\u003ckernel\u003e:439:10: note: to match this '{'\r\n                                                                        {\r\n                                                                        ^\r\n\r\nkernel file:\r\n\r\n// TODO: Add OpenCL kernel code here.\r\n\r\n__kernel void dpqc(\r\n\t\t\t\tint Ndim,\r\n\t\t\t\t//__global float *G,\r\n\t\t\t\t__constant float *G,\r\n\t\t\t\t//__global float *B,\r\n\t\t\t\t__constant float *B,\r\n\t\t\t\t__global float *e,\r\n\t\t\t\t__global float *f,\r\n\t\t\t\t__global float *dP,\r\n\t\t\t\t__global float *dQ,\r\n\t\t\t\t__global float *temp1,\r\n\t\t\t\t__global float *temp2,\r\n\t\t\t\t__constant float *Pc,\r\n\t\t\t\t__constant float *Qc,\r\n\t\t\t\t__constant float *Uc,\r\n\t\t\t\t__global float *dU2,\r\n\t\t\t\tint Mdim,\r\n\t\t\t\t__global float *P,\r\n\t\t\t\t__global float *Q,\r\n\t\t\t\t__global int *PQV_flag){ \r\n\t\t\t\t\r\n\t\t\t\tint k;\r\n\t\t\t\tint i = get_global_id(0);\r\n\t\t\t\tfloat tmp1, tmp2;\r\n\t\t\t\tprintf(\"%d\\n\",PQV_flag[i]);\r\n\t\t\t\tif(PQV_flag[i]==1){\t\t// 1~Mdim是只算PQ节点\r\n\t\t\t\t\ttmp1 = 0.0;\r\n\t\t\t\t\ttmp2 = 0.0;\r\n\t\t\t\t\t#pragma unroll\r\n\t\t\t\t\tfor(k=0;k\u003cNdim;k++){ \r\n\t\t\t\t\t\ttmp1 += G[i*Ndim+k]*e[k] - B[i*Ndim+k]*f[k];\r\n\t\t\t\t\t\ttmp2 += G[i*Ndim+k]*f[k] + B[i*Ndim+k]*e[k];\r\n\t\t\t\t\t\t//printf(\"%f\\n\",tmp2);\r\n\t\t\t\t\t}\r\n\t\t\t\t\t//printf(\"%f\\n\",tmp2);\r\n\t\t\t\t\tP[i] = (e[i]*tmp1 + f[i]*tmp2);\r\n\t\t\t\t\tdP[i] = Pc[i] - (e[i]*tmp1 + f[i]*tmp2);\r\n\t\t\t\t\tQ[i] = f[i]*tmp1 - e[i]*tmp2;\r\n\t\t\t\t\tdQ[i] = Qc[i] - f[i]*tmp1 + e[i]*tmp2;\r\n\t\t\t\t\t//dU2[i] = Uc[i]*Uc[i] - (e[i]*e[i] + f[i]*f[i]); \r\n\t\t\t\t\ttemp1[i] = tmp1;\t\t//中间量,其他内核可以用到\r\n\t\t\t\t\ttemp2[i] = tmp2;\r\n\t\t\t\t}\r\n\t\t\t\telse if(PQV_flag[i]==0){\t// Mdim+1~Ndim-1是只算PV节点\r\n\t\t\t\t\ttmp1 = 0.0;\r\n\t\t\t\t\ttmp2 = 0.0;\r\n\t\t\t\t\t#pragma unroll\r\n\t\t\t\t\tfor(k=0;k\u003cNdim;k++){ \r\n\t\t\t\t\t\ttmp1 += G[i*Ndim+k]*e[k] - B[i*Ndim+k]*f[k];\r\n\t\t\t\t\t\ttmp2 += G[i*Ndim+k]*f[k] + B[i*Ndim+k]*e[k];\r\n\t\t\t\t\t\t//printf(\"%f\\n\",tmp1);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tP[i] = (e[i]*tmp1 + f[i]*tmp2);\r\n\t\t\t\t\tdP[i] = Pc[i] - (e[i]*tmp1 + f[i]*tmp2);\r\n\t\t\t\t\t//printf(\"%f %f %f\\n\",Uc[i], e[i], f[i]);\r\n\t\t\t\t\tdU2[i] = Uc[i]*Uc[i] - (e[i]*e[i] + f[i]*f[i]); \r\n\t\t\t\t\t//printf(\"%d %f\\n\", i ,dU2[i]);\r\n\t\t\t\t\ttemp1[i] = tmp1;\t\t//中间量,其他内核可以用到\r\n\t\t\t\t\ttemp2[i] = tmp2;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n__kernel void jmcc(\r\n\t\t\t\t\tint M,\r\n\t\t\t\t\tint N,\r\n\t\t\t\t\t//__global float *G,\r\n\t\t\t\t\t__constant float *G,\r\n\t\t\t\t\t//__global float *B,\r\n\t\t\t\t\t__constant float *B,\r\n\t\t\t\t\t__global float *e,\r\n\t\t\t\t\t__global float *f,\r\n\t\t\t\t\t__global float *temp1,\r\n\t\t\t\t\t__global float *temp2,\r\n\t\t\t\t\t__global float *J,\r\n\t\t\t\t\t__global int *PQV_flag){ \r\n\t\t\t\t\t\r\n\t\t\t\t\tint k;\r\n\t\t\t\t\tint Jdim;\r\n\t\t\t\t\tJdim = (2*N-2)*2;\r\n\t\t\t\t\tfloat tmp1,tmp2;\r\n\t\t\t\t\tint i = get_global_id(0);\r\n\t\t\t\t\tif(PQV_flag[i]==1){ \r\n\t\t\t\t\t\tfor(k=0; k\u003cN-1; k++){ \r\n\t\t\t\t\t\t\tif(i != k){ //单次计算H,N,J,L,Jaccobi矩阵一行2*N-2个元素\r\n\t\t\t\t\t\t\t\tJ[i*Jdim+k*2] = -(G[i*N+k]*e[i] + B[i*N+k]*f[i]);\t//Hij\r\n\t\t\t\t\t\t\t\tJ[i*Jdim+k*2+1] = B[i*N+k]*e[i] - G[i*N+k]*f[i];\t//Nij = Bij*ei - Gij*fi\r\n\t\t\t\t\t\t\t\tJ[i*Jdim+2*k+(2*N-2)] = J[i*Jdim+k*2+1];\t\t\t//Jij = Nij\r\n\t\t\t\t\t\t\t\tJ[i*Jdim+2*k+1+(2*N-2)] = -J[i*Jdim+k*2];\t\t\t//Lij = -Hij\r\n\t\t\t\t\t\t\t\t//printf(\"%f %f %f %f\")\t\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse{ \r\n\t\t\t\t\t\t\t\ttmp1=0;\r\n\t\t\t\t\t\t\t\ttmp2=0;\r\n\t\t\t\t\t\t\t\tfor(int j=0;j\u003cN;j++){ \r\n\t\t\t\t\t\t\t\t\ttmp1 += G[i*N+j]*e[j] - B[i*N+j]*f[j];\r\n\t\t\t\t\t\t\t\t\ttmp2 += G[i*N+j]*f[j] + B[i*N+j]*e[j];\r\n\t\t\t\t\t\t\t\t\t//printf(\"%f\\n\",tmp1);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tJ[i*Jdim+k*2] =  -tmp1 - G[i*N+k]*e[i] - B[i*N+k]*f[i];\t\t\t\t//Hii\r\n\t\t\t\t\t\t\t\tJ[i*Jdim+k*2+1] = -tmp2 + B[i*N+k]*e[i] - G[i*N+k]*f[i];\t\t\t//Nii\r\n\t\t\t\t\t\t\t\tJ[i*Jdim+2*k+(2*N-2)] = tmp2 + B[i*N+k]*e[i] - G[i*N+k]*f[i];\t\t//Jii\r\n\t\t\t\t\t\t\t\tJ[i*Jdim+2*k+1+(2*N-2)] = -tmp1 + G[i*N+k]*e[i] + B[i*N+k]*f[i];\t//Lii\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if(PQV_flag[i]==0){ \r\n\t\t\t\t\t\tfor(k=0; k\u003cN-1; k++){ \r\n\t\t\t\t\t\t\tif(i != k){\r\n\t\t\t\t\t\t\t\tJ[i*Jdim+k*2] = -(G[i*N+k]*e[i] + B[i*N+k]*f[i]);\t//Hij\r\n\t\t\t\t\t\t\t\tJ[i*Jdim+k*2+1] = B[i*N+k]*e[i] - G[i*N+k]*f[i];\t//Nij = Bij*ei - Gij*fi\r\n\t\t\t\t\t\t\t\tJ[i*Jdim+2*k+(2*N-2)] = 0;\t\t\t\t\t\t\t//Rij\r\n\t\t\t\t\t\t\t\tJ[i*Jdim+2*k+1+(2*N-2)] = 0;\t\t\t\t\t\t//Sij\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse{ \r\n\t\t\t\t\t\t\t\ttmp1=0;\r\n\t\t\t\t\t\t\t\ttmp2=0;\r\n\t\t\t\t\t\t\t\tfor(int j=0;j\u003cN;j++){ \r\n\t\t\t\t\t\t\t\t\ttmp1 += G[i*N+j]*e[j] - B[i*N+j]*f[j];\r\n\t\t\t\t\t\t\t\t\ttmp2 += G[i*N+j]*f[j] + B[i*N+j]*e[j];\r\n\t\t\t\t\t\t\t\t\t//printf(\"%f\\n\",tmp1);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tJ[i*Jdim+k*2] =  -tmp1 - G[i*N+k]*e[i] - B[i*N+k]*f[i];\t\t\t//Hii\r\n\t\t\t\t\t\t\t\tJ[i*Jdim+k*2+1] = -tmp2 + B[i*N+k]*e[i] - G[i*N+k]*f[i];\t\t\t//Nii\r\n\t\t\t\t\t\t\t\tJ[i*Jdim+2*k+(2*N-2)] = -2*e[i];\r\n\t\t\t\t\t\t\t\tJ[i*Jdim+2*k+1+(2*N-2)] = -2*f[i];\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\t\r\n\t\t\t\t}\r\n\r\n__kernel void transpose(\r\n\t\t\t\t\t\t__global float *input_mat,\r\n\t\t\t\t\t\t__global float *output_mat,\r\n\t\t\t\t\t\tint width,\r\n\t\t\t\t\t\tint height)\r\n{ \r\n\tint row = get_global_id(0);\r\n\t//int col = get_global_id(1);\r\n\tfor(int col=0; col\u003cwidth; col++){\r\n\t\toutput_mat[row*width+col] = input_mat[col*height+row];\r\n\t}\r\n}\r\n\r\n__kernel void qr(\r\n\t\t\t\t\t__local float *u_vec,\r\n\t\t\t\t\t__global float *a_mat, \r\n\t\t\t\t\t__global float *q_mat, \r\n\t\t\t\t\t__global float *p_mat, \r\n\t\t\t\t\t__global float *prod_mat) {\r\n\r\n\t\t\t\t\tlocal float u_length_squared, dot;\r\n\t\t\t\t\tfloat prod, vec_length = 0.0f;\r\n\r\n\t\t\t\t\tint id = get_local_id(0);\r\n\t\t\t\t\tint num_cols = get_global_size(0);\r\n   \r\n\t\t\t\t\t/* Load first column into local memory as u vector */\r\n\t\t\t\t\tu_vec[id] = a_mat[id*num_cols];\r\n\t\t\t\t\t//printf(\"%d %f\\n\",id,u_vec[id]);\r\n\t\t\t\t\tbarrier(CLK_LOCAL_MEM_FENCE);\r\n\r\n\t\t\t\t\t/* Find length of first A column and u vector */\r\n\t\t\t\t\tif(id == 0) {\r\n\t\t\t\t\t\tfor(int i=1; i\u003cnum_cols; i++) {\r\n\t\t\t\t\t\t\tvec_length += u_vec[i] * u_vec[i];\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tu_length_squared = vec_length;\r\n\t  \r\n\t\t\t\t\t\tvec_length = sqrt(vec_length + u_vec[0] * u_vec[0]);\r\n\t\t\t\t\t\ta_mat[0] = vec_length;\r\n\t\t\t\t\t\tu_vec[0] -= vec_length;\r\n\t\t\t\t\t\tu_length_squared += u_vec[0] * u_vec[0];\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\ta_mat[id*num_cols] = 0.0f;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbarrier(CLK_GLOBAL_MEM_FENCE);\r\n\r\n\t\t\t\t\t/* Transform further columns of A */\r\n\t\t\t\t\tfor(int i=1; i\u003cnum_cols; i++) {\r\n\t\t\t\t\t\tdot = 0.0f;\r\n\t\t\t\t\t\tif(id == 0) {\r\n\t\t\t\t\t\t\tfor(int j=0; j\u003cnum_cols; j++) {\r\n\t\t\t\t\t\t\t\t dot += a_mat[j*num_cols + i] * u_vec[j];\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbarrier(CLK_LOCAL_MEM_FENCE);\r\n\t\t\t\t\t\ta_mat[id*num_cols + i] -= 2 * u_vec[id] * dot / u_length_squared;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t/* Update Q matrix */\r\n\t\t\t\t   for(int i=0; i\u003cnum_cols; i++) {\r\n\t\t\t\t\t  q_mat[id*num_cols + i] = -2 * u_vec[i] * \r\n\t\t\t\t\t\t\tu_vec[id] / u_length_squared;\r\n\t\t\t\t   }\r\n\t\t\t\t   q_mat[id*num_cols + id] += 1;\r\n\t\t\t\t   barrier(CLK_GLOBAL_MEM_FENCE); \r\n\r\n\t\t\t\t   /* Loop through other columns */\r\n\t\t\t\t   for(int col = 1; col \u003c num_cols-1; col++) {\r\n\r\n\t\t\t\t\t  /* Load new column into memory */\r\n\t\t\t\t\t  u_vec[id] = a_mat[id * num_cols + col];\r\n\t\t\t\t\t  barrier(CLK_LOCAL_MEM_FENCE);\r\n\r\n\t\t\t\t\t  /* Find length of A column and u vector */\r\n\t\t\t\t\t  if(id == col) {\r\n\t\t\t\t\t\t\tvec_length = 0.0f;\r\n\t\t\t\t\t\t\tfor(int i = col + 1; i \u003c num_cols; i++) {\r\n\t\t\t\t\t\t\t\tvec_length += u_vec[i] * u_vec[i];\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tu_length_squared = vec_length;\r\n\t\t\t\t\t\t\tvec_length = sqrt(vec_length + u_vec[col] * u_vec[col]);\r\n\t\t\t\t\t\t\tu_vec[col] -= vec_length;\r\n\t\t\t\t\t\t\tu_length_squared += u_vec[col] * u_vec[col];\r\n\t\t\t\t\t\t\ta_mat[col * num_cols + col] = vec_length;\r\n\t\t\t\t\t  }\r\n\t\t\t\t\t  else if(id \u003e col) {\r\n\t\t\t\t\t\ta_mat[id * num_cols + col] = 0.0f;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbarrier(CLK_GLOBAL_MEM_FENCE);\r\n\r\n\t\t\t\t\t/* Transform further columns of A */\r\n\t\t\t\t\t  for(int i = col+1; i \u003c num_cols; i++) {\r\n\t\t\t\t\t\t if(id == 0) {\r\n\t\t\t\t\t\t\tdot = 0.0f;\r\n\t\t\t\t\t\t\tfor(int j=col; j\u003cnum_cols; j++) {\r\n\t\t\t\t\t\t\t   dot += a_mat[j*num_cols + i] * u_vec[j];\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t }\r\n\t\t\t\t\t\t barrier(CLK_LOCAL_MEM_FENCE);\r\n         \r\n\t\t\t\t\t\t if(id \u003e= col)\r\n\t\t\t\t\t\t\ta_mat[id*num_cols + i] -= 2 * u_vec[id] * \r\n\t\t\t\t\t\t\t\t  dot / u_length_squared;\r\n\t\t\t\t\t\t barrier(CLK_GLOBAL_MEM_FENCE);\r\n\t\t\t\t\t  }\r\n\r\n\t\t\t\t\t  /* Update P matrix */\r\n\t\t\t\t\t  if(id \u003e= col) {\r\n\t\t\t\t\t\t for(int i=col; i\u003cnum_cols; i++) {\r\n\t\t\t\t\t\t\tp_mat[id*num_cols + i] = -2 * u_vec[i] * \r\n\t\t\t\t\t\t\t\t  u_vec[id] / u_length_squared;\r\n\t\t\t\t\t\t }\r\n\t\t\t\t\t\t p_mat[id*num_cols + id] += 1;\r\n\t\t\t\t\t  }\r\n\t\t\t\t\t  barrier(CLK_GLOBAL_MEM_FENCE); \r\n\r\n\t\t\t\t\t  /* Multiply q_mat * p_mat = prod_mat */\r\n\t\t\t\t\t  for(int i=col; i\u003cnum_cols; i++) {\r\n\t\t\t\t\t\t prod = 0.0f;\r\n\t\t\t\t\t\t for(int j=col; j\u003cnum_cols; j++) {\r\n\t\t\t\t\t\t\tprod += q_mat[id*num_cols + j] * p_mat[j*num_cols + i];\r\n\t\t\t\t\t\t }     \r\n\t\t\t\t\t\t prod_mat[id*num_cols + i] = prod;  \r\n\t\t\t\t\t  }\r\n\t\t\t\t\t  barrier(CLK_GLOBAL_MEM_FENCE); \r\n\r\n\t\t\t\t\t  /* Place the content of prod_mat in q_mat */\r\n\t\t\t\t\t  for(int i=col; i\u003cnum_cols; i++) {\r\n\t\t\t\t\t\t q_mat[id*num_cols + i] = prod_mat[id*num_cols + i];\r\n\t\t\t\t\t  }\r\n\t\t\t\t\t  barrier(CLK_GLOBAL_MEM_FENCE); \r\n\t\t\t\t   }\r\n\t\t\t\t}\r\n\r\n__kernel void sevc1(\r\n\t\t\t\t\tint dim,\r\n\t\t\t\t\t__global float *R,\r\n\t\t\t\t\t__global float *Q,\r\n\t\t\t\t\t__global float *b,\r\n\t\t\t\t\t__global float *x,\r\n\t\t\t\t\t__local float *tmp\r\n\t\t\t\t\t){\r\n\t\t\t\t\tfloat tmp1=0;\r\n\t\t\t\t\tint id = get_global_id(0);\r\n\t\t\t\t\tfor(int i=0; i\u003cdim; i++){\r\n\t\t\t\t\t\ttmp[id] += Q[id*dim+i] * b[i];\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbarrier(CLK_GLOBAL_MEM_FENCE);\r\n\t\t\t\t\t//printf(\"b'[%d]=%f\\n\",id,tmp[id]);\r\n\t\t\t\t\tfor(int i=dim-1; i\u003e=0; i--){\r\n\t\t\t\t\t\tif(i==dim-1){\r\n\t\t\t\t\t\t\tx[i] = tmp[i]/R[i*dim+i];\t\t//x(5) = b'(5)/R[5][5];\r\n\t\t\t\t\t\t\t//printf(\"x[%d] = %f %f\\n\",i,x[i],R[i*dim+i]);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\tfor(int j=i+1; j\u003cdim; j++){\r\n\t\t\t\t\t\t\t\t//if(i\u003cdim-1){\r\n\t\t\t\t\t\t\t\t\ttmp1 += R[i*dim+j]*x[j];\r\n\t\t\t\t\t\t\t\t//}\r\n\t\t\t\t\t\t\t\t//else{\r\n\t\t\t\t\t\t\t\t\t//tmp1=0;\r\n\t\t\t\t\t\t\t\t//}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tx[i] = (tmp[i]-tmp1)/R[i*dim+i];\r\n\t\t\t\t\t\t\ttmp1=0;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t__kernel void dpqc_sparse(\r\n\t\t\t\t\t\t\tint Ndim,\r\n\t\t\t\t\t\t\t__constant float *G_data,\r\n\t\t\t\t\t\t\t__constant int *G_ICOL,\r\n\t\t\t\t\t\t\t__constant int *G_ICFR,\r\n\t\t\t\t\t\t\t__constant float *B_data,\r\n\t\t\t\t\t\t\t__constant int *B_ICOL,\r\n\t\t\t\t\t\t\t__constant int *B_ICFR,\r\n\t\t\t\t\t\t\t__global float *e,\r\n\t\t\t\t\t\t\t__global float *f,\r\n\t\t\t\t\t\t\t__global float *dP,\r\n\t\t\t\t\t\t\t__global float *dQ,\r\n\t\t\t\t\t\t\t__constant float *Pc,\r\n\t\t\t\t\t\t\t__constant float *Qc,\r\n\t\t\t\t\t\t\t__constant float *Uc,\r\n\t\t\t\t\t\t\t__global float *dU2,\r\n\t\t\t\t\t\t\tint Mdim,\r\n\t\t\t\t\t\t\t__global float *P,\r\n\t\t\t\t\t\t\t__global float *Q,\r\n\t\t\t\t\t\t\t__global int *PQV_flag){\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tint i = get_global_id(0);\r\n\t\t\t\t\t\t\t//int k;\r\n\t\t\t\t\t\t\tfloat tmp1=0.0, tmp2=0.0, tmp3=0.0, tmp4=0.0;\r\n\t\t\t\t\t\t\t//printf(\"%d %f\\n\",i,G_data[i]);\r\n\t\t\t\t\t\t\t//printf(\"%d\\n\",PQV_flag[i]);\r\n\t\t\t\t\t\t\tif(/*i\u003cMdim*/PQV_flag[i]==1){\r\n\t\t\t\t\t\t\t\ttmp1=0;tmp2=0;tmp3=0;tmp4=0;\r\n\t\t\t\t\t\t\t\tfor(int j = G_ICFR[i]; j \u003c G_ICFR[i+1]; j++){\r\n\t\t\t\t\t\t\t\t\ttmp1 += G_data[j] * e[G_ICOL[j]];\t\t//G*e\r\n\t\t\t\t\t\t\t\t\ttmp2 += G_data[j] * f[G_ICOL[j]];\t\t//G*f\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tfor(int j = B_ICFR[i]; j \u003c B_ICFR[i+1]; j++){\r\n\t\t\t\t\t\t\t\t\ttmp3 += B_data[j] * e[B_ICOL[j]];\t\t//B*e\r\n\t\t\t\t\t\t\t\t\ttmp4 += B_data[j] * f[B_ICOL[j]];\t\t//B*f\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tdP[i] = Pc[i] - (e[i]*(tmp1-tmp4) + f[i]*(tmp2+tmp3));\r\n\t\t\t\t\t\t\t\tdQ[i] = Qc[i] - (f[i]*(tmp1-tmp4) - e[i]*(tmp2+tmp3));\r\n\t\t\t\t\t\t\t\tP[i] = (e[i]*(tmp1-tmp4) + f[i]*(tmp2+tmp3));\r\n\t\t\t\t\t\t\t\tQ[i] = (f[i]*(tmp1-tmp4) - e[i]*(tmp2+tmp3));\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse if(/*i\u003cNdim-1*/PQV_flag[i]==0){\r\n\t\t\t\t\t\t\t\ttmp1=0;tmp2=0;tmp3=0;tmp4=0;\r\n\t\t\t\t\t\t\t\tfor(int j = G_ICFR[i]; j \u003c G_ICFR[i+1]; j++){\r\n\t\t\t\t\t\t\t\t\ttmp1 += G_data[j] * e[G_ICOL[j]];\t\t//G*e\r\n\t\t\t\t\t\t\t\t\ttmp2 += G_data[j] * f[G_ICOL[j]];\t\t//G*f\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tfor(int j = B_ICFR[i]; j \u003c B_ICFR[i+1]; j++){\r\n\t\t\t\t\t\t\t\t\ttmp3 += B_data[j] * e[B_ICOL[j]];\t\t//B*e\r\n\t\t\t\t\t\t\t\t\ttmp4 += B_data[j] * f[B_ICOL[j]];\t\t//B*f\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\tdP[i] = Pc[i] - (e[i]*(tmp1-tmp4) + f[i]*(tmp2+tmp3));\r\n\t\t\t\t\t\t\t\t//dQ[i] = Qc[i] - (f[i]*(tmp1-tmp4) - e[i]*(tmp2+tmp3));\r\n\t\t\t\t\t\t\t\t//printf(\"%f %f %f\\n\",Uc[i], e[i], f[i]);\r\n\t\t\t\t\t\t\t\tdU2[i] = Uc[i]*Uc[i] - (e[i]*e[i] + f[i]*f[i]);\r\n\t\t\t\t\t\t\t\tP[i] = (e[i]*(tmp1-tmp4) + f[i]*(tmp2+tmp3));\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse if(PQV_flag[i] == 2){\r\n\t\t\t\t\t\t\t\ttmp1=0;tmp2=0;tmp3=0;tmp4=0;\r\n\t\t\t\t\t\t\t\tfor(int j = G_ICFR[i]; j \u003c G_ICFR[i+1]; j++){\r\n\t\t\t\t\t\t\t\t\ttmp1 += G_data[j] * e[G_ICOL[j]];\t\t//G*e\r\n\t\t\t\t\t\t\t\t\ttmp2 += G_data[j] * f[G_ICOL[j]];\t\t//G*f\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tfor(int j = B_ICFR[i]; j \u003c B_ICFR[i+1]; j++){\r\n\t\t\t\t\t\t\t\t\ttmp3 += B_data[j] * e[B_ICOL[j]];\t\t//B*e\r\n\t\t\t\t\t\t\t\t\ttmp4 += B_data[j] * f[B_ICOL[j]];\t\t//B*f\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tdP[i] = Pc[i] - (e[i]*(tmp1-tmp4) + f[i]*(tmp2+tmp3));\r\n\t\t\t\t\t\t\t\tdQ[i] = Qc[i] - (f[i]*(tmp1-tmp4) - e[i]*(tmp2+tmp3));\r\n\t\t\t\t\t\t\t\tP[i] = (e[i]*(tmp1-tmp4) + f[i]*(tmp2+tmp3));\r\n\t\t\t\t\t\t\t\tQ[i] = (f[i]*(tmp1-tmp4) - e[i]*(tmp2+tmp3));\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\r\n\r\n__kernel void jmcc_sparse(\r\n\t\t\t\t\tint M,\r\n\t\t\t\t\tint N,\r\n\t\t\t\t\t__constant float *G_data,\r\n\t\t\t\t\t__constant float *B_data,\r\n\t\t\t\t\t__constant float *ICFR,\r\n\t\t\t\t\t__constant int *ROW,\r\n\t\t\t\t\t__constant int *COL,\r\n\t\t\t\t\tint num,\r\n\t\t\t\t\t__global int *PQV_flag,\r\n\t\t\t\t\t__global float *e,\r\n\t\t\t\t\t__global float *f,\r\n\t\t\t\t\t__global float *J){ \r\n\t\t\t\t\t\r\n\t\t\t\t\tint Jdim = (2*N-2)*2;\r\n\t\t\t\t\tfloat tmp1,tmp2,tmp3,tmp4;\r\n\t\t\t\t\tint i = get_global_id(0);\r\n\t\t\t\t\tprintf(\"%2d %d %d \\n\",i,G_data[ROW[i]],G_data[COL[i]]);\t\t\r\n\t\t\t\t\t\tif( PQV_flag[i] == 1 ){\t\t//PQV_flag[i] == 1,表示PQ节点\r\n\t\t\t\t\t\t\tfor(int j=ICFR[i];j\u003cICFR[i+1];j++){\t\t//排零运算\r\n\t\t\t\t\t\t\t\tif(i!=COL[j] \u0026\u0026 COL[j]\u003c7){\t\t\t\t//非对角块时\r\n\t\t\t\t\t\t\t\t\tJ[ i*Jdim + 2*COL[j] ] = -(G_data[j]*e[i] + B_data[j]*f[i]);\t\t\t\t//Hij\r\n\t\t\t\t\t\t\t\t\tJ[ i*Jdim + 2*COL[j] + 1 ] = B_data[j]*e[i] - G_data[j]*f[i];\t\t\t\t\t//Nij\t\r\n\t\t\t\t\t\t\t\t\tJ[ i*Jdim + (2*N-2) + 2*COL[j] ] = B_data[j]*e[i] - G_data[j]*f[i];\t\t//Jij\r\n\t\t\t\t\t\t\t\t\tJ[ i*Jdim + (2*N-2) + 2*COL[j] + 1] = G_data[j]*e[i] + B_data[j]*f[i];\t//Lij\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\telse if(i == COL[j] \u0026\u0026 COL[j]\u003c7){\r\n\t\t\t\t\t\t\t\t\ttmp1=0;tmp2=0;\r\n\t\t\t\t\t\t\t\t\tfor(int k=ICFR[i];k\u003cICFR[i+1];k++){\r\n\t\t\t\t\t\t\t\t\t\ttmp1 += G_data[k]*e[COL[k]] - B_data[k]*f[COL[k]];\t\t\t//求和Gij*ej - Bij*fj\r\n\t\t\t\t\t\t\t\t\t\ttmp2 += G_data[k]*f[COL[k]] + B_data[k]*e[COL[k]];\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tJ[ i*Jdim + 2*COL[j] ] = -tmp1 - G_data[j]*e[i] - B_data[j]*f[i];\r\n\t\t\t\t\t\t\t\t\tJ[ i*Jdim + 2*COL[j] + 1 ] = -tmp2 - G_data[j]*f[i] + B_data[j]*e[i];\r\n\t\t\t\t\t\t\t\t\tJ[ i*Jdim + (2*N-2) + 2*COL[j] ] = tmp2 - G_data[j]*f[i] + B_data[j]*e[i];\r\n\t\t\t\t\t\t\t\t\tJ[ i*Jdim + (2*N-2) + 2*COL[j] + 1 ] = -tmp1 + G_data[j]*e[i] - B_data[j]*f[i];\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if( PQV_flag[i] == 0 ){\t//PQV_flag[i] == 0,表示第i个节点从PQ节点变为了PV节点\r\n\t\t\t\t\t\t\tfor(int j=ICFR[i];j\u003cICFR[i+1];j++){\r\n\t\t\t\t\t\t\t\tif(i!=COL[j] \u0026\u0026 COL[j]\u003c7){\r\n\t\t\t\t\t\t\t\t\tJ[ i*Jdim + 2*COL[j] ] = -(G_data[j]*e[i] + B_data[j]*f[i]);\t\t\t\t//Hij\r\n\t\t\t\t\t\t\t\t\tJ[ i*Jdim + 2*COL[j] + 1 ] = B_data[j]*e[i] - G_data[j]*f[i];\t\t\t//Nij\r\n\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\telse if(i == COL[j] \u0026\u0026 COL[j]\u003c7){\r\n\t\t\t\t\t\t\t\t\ttmp1=0;tmp2=0;\r\n\t\t\t\t\t\t\t\t\tfor(int k=ICFR[i];k\u003cICFR[i+1];k++){\r\n\t\t\t\t\t\t\t\t\t\ttmp1 += G_data[k]*e[COL[k]] - B_data[k]*f[COL[k]];\t\t\t//求和Gij*ej - Bij*fj\r\n\t\t\t\t\t\t\t\t\t\ttmp2 += G_data[k]*f[COL[k]] + B_data[k]*e[COL[k]];\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tJ[i*Jdim + 2*COL[j]] = -tmp1 - G_data[j]*e[i] - B_data[j]*f[i];\r\n\t\t\t\t\t\t\t\t\tJ[i*Jdim + 2*COL[j]+1] = -tmp2 - G_data[j]*f[i] + B_data[j]*e[i];\r\n\t\t\t\t\t\t\t\t\tfor(int m=0;m\u003c(N-1);m++)\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\tJ[i*Jdim+(2*N-2)+2*m]=-2*e[i];\r\n\t\t\t\t\t\t\t\t\t\tJ[i*Jdim+(2*N-2)+2*m+1]=-2*f[i];\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\r\nJAVA FILE:\r\npackage Flow_OpenCL;\r\n\r\nimport java.io.File;\r\nimport java.io.IOException;\r\n\r\nimport com.nativelibs4java.*;\r\nimport com.nativelibs4java.opencl.CLBuildException;\r\nimport com.nativelibs4java.opencl.CLContext;\r\nimport com.nativelibs4java.opencl.CLDevice;\r\nimport com.nativelibs4java.opencl.CLException;\r\nimport com.nativelibs4java.opencl.CLKernel;\r\nimport com.nativelibs4java.opencl.CLPlatform;\r\nimport com.nativelibs4java.opencl.CLProgram;\r\nimport com.nativelibs4java.opencl.CLQueue;\r\nimport com.nativelibs4java.opencl.JavaCL;\r\nimport com.nativelibs4java.util.IOUtils;\r\n\r\npublic class Flow1 {\r\n\t\r\n\tpublic static void main(String[] args) throws Exception {\r\n\t\t\r\n\t\tCLPlatform[] Platforms = JavaCL.listPlatforms();\t\t\t\t\t//查询可用平台\r\n\t\tCLDevice device = Platforms[0].getBestDevice();\t\t\t\t\t\t//调用设备\r\n\t\tString platformName = Platforms[0].getName();\t\t\t\t\t\t//获取平台名称\r\n\t\tString deviceName = device.getName();\t\t\t\t\t\t\t\t//获取设备名称\r\n\t\tSystem.out.println(\"平台:\"+platformName+\" 设备:\"+deviceName);\t\t//打印平台和设备名称\r\n\t\r\n\t\t//CLContext context = JavaCL.createBestContext();\t\t//为设备创建上下文\r\n\t\tCLContext context = JavaCL.createContext(null, device);\r\n\t\t//CLQueue queue = context.createDefaultQueue((CLDevice.QueueProperties[] )null);\r\n\t\tCLQueue queue = context.createDefaultProfilingQueue();\r\n\t\t\r\n\t\t\r\n\t\t//jmcc.cl-done\r\n\t\t//dpqc_sparse.cl-done\r\n\t\t//qr.cl-done\r\n\t\t//transpose.cl-done\r\n\t\t//sevc1.cl-done\r\n\t\tString kernelText = IOUtils.readText(new File(\"E:\\\\LSH\\\\JavaCL\\\\src\\\\Flow_OpenCL\\\\FLOW.cl\"));\r\n\t\tCLProgram program = context.createProgram(kernelText);\r\n\t\t/*\r\n\t\tprogram.addInclude(\"E:\\\\LSH\\\\JavaCL\\\\src\\\\Flow_OpenCL\\\\qr.cl\");\r\n\t\tString qrText = IOUtils.readText(new File(\"E:\\\\LSH\\\\JavaCL\\\\src\\\\Flow_OpenCL\\\\qr.cl\"));\r\n\t\tprogram.addSource(qrText);\r\n\t\t*/\r\n\t\tprogram.build();\r\n\t\t\r\n\t\tCLKernel[] kernels = program.createKernels();\r\n\t\tSystem.out.println(\"完成\");\r\n\t\t\r\n\t\t\r\n\t}\r\n\t\r\n}\r\n","author":{"url":"https://github.com/liushaohuai5","@type":"Person","name":"liushaohuai5"},"datePublished":"2019-06-24T07:08:50.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":0},"url":"https://github.com/41/JavaCL/issues/41"}

route-pattern/_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format)
route-controllervoltron_issues_fragments
route-actionissue_layout
fetch-noncev2:d1147d61-48e2-9c1b-160b-cd1d1e26f3aa
current-catalog-service-hash81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114
request-idB1FA:46928:38833D8:4F0E6F0:69793A6C
html-safe-nonce1304505667bebf5dabd745f2ed67e7cdaff79a47ae15a8766aef9b87d4ad740f
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCMUZBOjQ2OTI4OjM4ODMzRDg6NEYwRTZGMDo2OTc5M0E2QyIsInZpc2l0b3JfaWQiOiI3ODY0MzIyNzk5OTQwNzQ1ODM2IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0=
visitor-hmac75823025d043c28cfa21f19634f52298a93eb9618f929cdf2eae82c0f08a81f3
hovercard-subject-tagissue:459725754
github-keyboard-shortcutsrepository,issues,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///voltron/issues_fragments/issue_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/nativelibs4java/JavaCL/41/issue_layout
twitter:imagehttps://opengraph.githubassets.com/ce8211188ba3fcf8ea16cef77dbb43e21291087e849927f8fae75b32603af8b2/nativelibs4java/JavaCL/issues/41
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/ce8211188ba3fcf8ea16cef77dbb43e21291087e849927f8fae75b32603af8b2/nativelibs4java/JavaCL/issues/41
og:image:alt:441:12: error: expected '}' :439:10: note: to match this '{' { ^ kernel file: // TODO: Add OpenCL kernel code here. __kernel void dpqc( int Ndim, //__global float *G, __constant float *G, //__glob...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernameliushaohuai5
hostnamegithub.com
expected-hostnamegithub.com
None33d60f7e5c009874ca1d3bae4ff07a11d7994e6b4b54cf6e64121c500cc10bc5
turbo-cache-controlno-preview
go-importgithub.com/nativelibs4java/JavaCL git https://github.com/nativelibs4java/JavaCL.git
octolytics-dimension-user_id11545921
octolytics-dimension-user_loginnativelibs4java
octolytics-dimension-repository_id31854274
octolytics-dimension-repository_nwonativelibs4java/JavaCL
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id31854274
octolytics-dimension-repository_network_root_nwonativelibs4java/JavaCL
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release2391a1af9753b168299d1cbf80f8bb67be4430bd
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://patch-diff.githubusercontent.com/nativelibs4java/JavaCL/issues/41#start-of-content
https://patch-diff.githubusercontent.com/
Sign in https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2Fnativelibs4java%2FJavaCL%2Fissues%2F41
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2Fnativelibs4java%2FJavaCL%2Fissues%2F41
Sign up https://patch-diff.githubusercontent.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fvoltron%2Fissues_fragments%2Fissue_layout&source=header-repo&source_repo=nativelibs4java%2FJavaCL
Reloadhttps://patch-diff.githubusercontent.com/nativelibs4java/JavaCL/issues/41
Reloadhttps://patch-diff.githubusercontent.com/nativelibs4java/JavaCL/issues/41
Reloadhttps://patch-diff.githubusercontent.com/nativelibs4java/JavaCL/issues/41
nativelibs4java https://patch-diff.githubusercontent.com/nativelibs4java
JavaCLhttps://patch-diff.githubusercontent.com/nativelibs4java/JavaCL
Notifications https://patch-diff.githubusercontent.com/login?return_to=%2Fnativelibs4java%2FJavaCL
Fork 19 https://patch-diff.githubusercontent.com/login?return_to=%2Fnativelibs4java%2FJavaCL
Star 90 https://patch-diff.githubusercontent.com/login?return_to=%2Fnativelibs4java%2FJavaCL
Code https://patch-diff.githubusercontent.com/nativelibs4java/JavaCL
Issues 36 https://patch-diff.githubusercontent.com/nativelibs4java/JavaCL/issues
Pull requests 0 https://patch-diff.githubusercontent.com/nativelibs4java/JavaCL/pulls
Actions https://patch-diff.githubusercontent.com/nativelibs4java/JavaCL/actions
Projects 0 https://patch-diff.githubusercontent.com/nativelibs4java/JavaCL/projects
Wiki https://patch-diff.githubusercontent.com/nativelibs4java/JavaCL/wiki
Security 0 https://patch-diff.githubusercontent.com/nativelibs4java/JavaCL/security
Insights https://patch-diff.githubusercontent.com/nativelibs4java/JavaCL/pulse
Code https://patch-diff.githubusercontent.com/nativelibs4java/JavaCL
Issues https://patch-diff.githubusercontent.com/nativelibs4java/JavaCL/issues
Pull requests https://patch-diff.githubusercontent.com/nativelibs4java/JavaCL/pulls
Actions https://patch-diff.githubusercontent.com/nativelibs4java/JavaCL/actions
Projects https://patch-diff.githubusercontent.com/nativelibs4java/JavaCL/projects
Wiki https://patch-diff.githubusercontent.com/nativelibs4java/JavaCL/wiki
Security https://patch-diff.githubusercontent.com/nativelibs4java/JavaCL/security
Insights https://patch-diff.githubusercontent.com/nativelibs4java/JavaCL/pulse
New issuehttps://patch-diff.githubusercontent.com/login?return_to=https://github.com/nativelibs4java/JavaCL/issues/41
New issuehttps://patch-diff.githubusercontent.com/login?return_to=https://github.com/nativelibs4java/JavaCL/issues/41
Why program.build() always says "}"didn't match?https://patch-diff.githubusercontent.com/nativelibs4java/JavaCL/issues/41#top
https://github.com/liushaohuai5
https://github.com/liushaohuai5
liushaohuai5https://github.com/liushaohuai5
on Jun 24, 2019https://github.com/nativelibs4java/JavaCL/issues/41#issue-459725754
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.