- Marcar como novo
- Marcador
- Subscrever
- Silenciar
- Subscrever fonte RSS
- Destacar
- Imprimir
- Denunciar conteúdo inapropriado
Hello everybody.
I have a pointer like this:
float **p = ...; ... #pragma offload target(mic) in(p[0]:length(...)) _FUNCITON_
Then I got error info: ` "p" may not be used in a subscript operation.` when compiling it.
So how could I pass a one-dimensional array like this to mic? any advice and suggestions will be greatly appreciated!
- Marcar como novo
- Marcador
- Subscrever
- Silenciar
- Subscrever fonte RSS
- Destacar
- Imprimir
- Denunciar conteúdo inapropriado
Declarations like float **p; are not supported. However, float *p
__declspec(target(mic)) float *p[4];
int main()
{
p[0] = malloc(4*sizeof(float));
p[1] = malloc(4*sizeof(float));
p[0][0] = 55.0;
p[0][1] = 66.0;
p[0][2] = 77.0;
p[0][3] = 88.0;
#pragma offload target(mic) in(p[0:1] : extent(0:4))
{
printf("p[0][0] = %f\n", p[0][0]);
printf("p[0][1] = %f\n", p[0][1]);
printf("p[0][2] = %f\n", p[0][2]);
printf("p[0][3] = %f\n", p[0][3]);
}
return 0;
}
Link copiado
- Marcar como novo
- Marcador
- Subscrever
- Silenciar
- Subscrever fonte RSS
- Destacar
- Imprimir
- Denunciar conteúdo inapropriado
Declarations like float **p; are not supported. However, float *p
__declspec(target(mic)) float *p[4];
int main()
{
p[0] = malloc(4*sizeof(float));
p[1] = malloc(4*sizeof(float));
p[0][0] = 55.0;
p[0][1] = 66.0;
p[0][2] = 77.0;
p[0][3] = 88.0;
#pragma offload target(mic) in(p[0:1] : extent(0:4))
{
printf("p[0][0] = %f\n", p[0][0]);
printf("p[0][1] = %f\n", p[0][1]);
printf("p[0][2] = %f\n", p[0][2]);
printf("p[0][3] = %f\n", p[0][3]);
}
return 0;
}
- Marcar como novo
- Marcador
- Subscrever
- Silenciar
- Subscrever fonte RSS
- Destacar
- Imprimir
- Denunciar conteúdo inapropriado
Thank you Rajiv!

- Subscrever fonte RSS
- Marcar tópico como novo
- Marcar tópico como lido
- Flutuar este Tópico para o utilizador atual
- Marcador
- Subscrever
- Página amigável para impressora