Leverage transparent huge pages on Linux on POWER
IBM POWER 向けの HugeTLBfs の記事だが、Linux にもそのまま使える。
libHugeTLBfs による HugeTLBfs の利用方法が詳しく書かれている。
1. POWER{4,5,5+} は HugePage が 16MB
2. SLES 10 と RHEL 5 は使える。
3. readelf での .text は実行バイナリ、.bss は初期化されていない領域、.data は初期化された領域を示している
4. libhugetlbfs の install
5. mount / HugePage の確保
6. libhugetlbfs.so ありで compile
Tuning stream with libhugetlbfs
Stream のお話。
global 変数で確保している array を malloc で確保するように書きなおし、 libhugetlbfs による largepage を利用方法がメインであるが、コンパイルの仕方やどのような演算を行っているかという stream 自体のから始まり、benckmark に使用する array size を変えたり、コンパイル時の最適化オプション指定の方法、OpenMP の適用、thread の bind など充実な内容だ。
IBM POWER 向けの HugeTLBfs の記事だが、Linux にもそのまま使える。
libHugeTLBfs による HugeTLBfs の利用方法が詳しく書かれている。
1. POWER{4,5,5+} は HugePage が 16MB
2. SLES 10 と RHEL 5 は使える。
3. readelf での .text は実行バイナリ、.bss は初期化されていない領域、.data は初期化された領域を示している
4. libhugetlbfs の install
5. mount / HugePage の確保
6. libhugetlbfs.so ありで compile
Tuning stream with libhugetlbfs
Stream のお話。
global 変数で確保している array を malloc で確保するように書きなおし、 libhugetlbfs による largepage を利用方法がメインであるが、コンパイルの仕方やどのような演算を行っているかという stream 自体のから始まり、benckmark に使用する array size を変えたり、コンパイル時の最適化オプション指定の方法、OpenMP の適用、thread の bind など充実な内容だ。