Closed mnakao closed 5 years ago
報告者:村井
現在、一次元の分散配列のみを xmp_malloc を用いて動的に割り付けることができる。多次元の分散配列も対象にできた方がいいという要望がある(分散配列が最終的に一次元化されるのなら、多次元配列を対象にすることも技術的には可能)。
xmp_malloc の呼び出しを検出して、
a = (float (*)[n2][n3])xmp_malloc(xmp_desc_of(a), n1, n2, n3); ↓
a = (float (*)[n2][n3])xmp_malloc(xmp_desc_of(a), n1, n2, n3);
a = (float *)xmp_malloc(xmp_desc_of(a), n1, n2, n3);
とすることは可能だが、
void (*func)(...) = xmp_malloc; a = (float (*)[n2][n3])(*func)(xmp_desc_of(a), n1, n2, n3);
のキャストを変換するのは不可能。
つまり、この場合、バックエンドコンパイラの warning は不可避だが、仕方がない?
報告者:村井
現在、一次元の分散配列のみを xmp_malloc を用いて動的に割り付けることができる。多次元の分散配列も対象にできた方がいいという要望がある(分散配列が最終的に一次元化されるのなら、多次元配列を対象にすることも技術的には可能)。
xmp_malloc の呼び出しを検出して、
a = (float (*)[n2][n3])xmp_malloc(xmp_desc_of(a), n1, n2, n3);
↓a = (float *)xmp_malloc(xmp_desc_of(a), n1, n2, n3);
とすることは可能だが、
のキャストを変換するのは不可能。
つまり、この場合、バックエンドコンパイラの warning は不可避だが、仕方がない?