2010-09-16から1日間の記事一覧

OpenMPによるタスク並列化

タスク並列化はsections,sectionで行う。ただし、オーバーヘッドが大きいので注意。 #define N 90000000 int a[N]; int b[N]; int c[N]; int d[N]; int main() { int i=0; int k=0; int l=0; int j=0; #pragma omp parallel #pragma omp sections { #pragma …

OpenMPの実験

OpenMPによる並列化の効果を確認する実験。単純なコードをOpenMPで並列化。 #define N 10000 int a[N][N]; int main() { int i=0; int j=0; #pragma omp parallel { #pragma omp for private(i) for(j=0;j OpenMPを使う場合:Core2Duo Quad(4core) real 0m1.5…

ちょっとした実験

ちょっとした実験。配列へのアクセスパターンで実行時間が どのくらい変わるか。 #define N 10000 int a[N][N]; int main() { int i=0; int j=0;for(j=0;j real 0m1.360s user 0m1.045s sys 0m0.308s #define N 10000 int a[N][N]; int main() { int i=0; in…

ちょっとした実験

ちょっとした実験。配列へのアクセスパターンで実行時間がどのくらい変わるか。 #define N 10000 int a[N][N]; int main() { int i=0; int j=0;for(j=0;j real 0m1.360s user 0m1.045s sys 0m0.308s #define N 10000 int a[N][N]; int main() { int i=0; int…

ちょっとした実験

メモリアクセスパターンによって実行速度がどのくらい変わるかを調査してみた。各所で散々やられている実験だけど、自分でやったことはなかったので・・・ 1.配列に行=>列のようにアクセスする場合 #define N 10000 int a[N][N]; int main() { int i=0; int …