整列したメモリを動的に確保する posix memalign
出典: PS3 Linux Information Site / Cell/B.E.のパワーを体験しよう
動的にヒープに整列したメモリを確保します。 普通のmallocもしくはnewは整列したメモリを確保できないので、posix_memalign 関数を使用します。 下記の例では128バイトに整列したメモリを16*1024Byte確保し、結果をpで受け取っています
int main (int argc, void** argv)
{
int ret;
char* p;
ret = posix_memalign ((void**)&p, 128, 16*1024);
assert (ret == 0);
cout << "p = " << (void*)p << "\n";
return 0;
}
特にCellに特化した制限事項はありませんので、 詳しい使い方は man posix_memalign コマンドを使用してマニュアルをご覧ください。 なおSPEでは現在のところ使用できないようです。
