0

グラフィックスマジックを使用して画像をスケーリングしていますが、openMP では処理パフォーマンスが向上しないことがわかりました。以下は私のテスト結果です:

C:\Users\L.J.W>set OMP_NUM_THREADS=1

C:\Users\L.J.W>gm benchmark -stepthreads 1 -duration 10 convert d:/opt/1.jpg  -s
cale 300x300 -gravity center -quality 90 -strip d:/opt/2.jpg
Results: 1 threads 212 iter 9.70s user 10.02s total 21.151 iter/s 21.848 iter/cp
u 1.00 speedup 1.000 karp-flatt

C:\Users\L.J.W>set OMP_NUM_THREADS=4

C:\Users\L.J.W>gm benchmark -stepthreads 1 -duration 10 convert d:/opt/1.jpg  -s
cale 300x300 -gravity center -quality 90 -strip d:/opt/2.jpg
Results: 1 threads 212 iter 9.58s user 10.02s total 21.153 iter/s 22.133 iter/cp
u 1.00 speedup 1.000 karp-flatt
Results: 2 threads 212 iter 9.89s user 10.00s total 21.194 iter/s 21.435 iter/cp
u 1.00 speedup 0.996 karp-flatt
Results: 3 threads 213 iter 9.52s user 10.04s total 21.209 iter/s 22.383 iter/cp
u 1.00 speedup 0.996 karp-flatt
Results: 4 threads 212 iter 9.73s user 10.03s total 21.143 iter/s 21.778 iter/cp
u 1.00 speedup 1.001 karp-flatt

また、8core サーバーと 2core notbook に違いがないこともわかりました。

何か問題でも?

4

1 に答える 1

1

スケール アルゴリズムは、マルチスレッド化されていない数少ないアルゴリズムの 1 つです。幸いなことに、すでにかなり高速です。スレッドが追加されたときの改善を確認するには、-scale ではなく -resize を試してください。-resize を使用した場合の実際のパフォーマンスは、依然として -scale よりも低い場合があります (システムによって異なります)。

于 2013-11-27T20:31:07.410 に答える