トップページ > プログラム > 2015年05月20日 > Ndb25Eqw

書き込み順位&時間帯一覧

5 位/201 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000001312101009



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
【C++】高速化手法【SSE】

書き込みレス一覧

【C++】高速化手法【SSE】
974 :デフォルトの名無しさん[]:2015/05/20(水) 15:47:05.48 ID:Ndb25Eqw
初めてきたが。
8ビット区切りで、同じ処理を一斉にやりたいということか?
CPU拡張命令なんかは詳しくないが、そこがほんとにボトルネックになってるのか。
拘る意味があるのか。
【C++】高速化手法【SSE】
977 :デフォルトの名無しさん[]:2015/05/20(水) 16:06:29.24 ID:Ndb25Eqw
ぐぐってみたが、これは2並列だが同様に3並列が出来ればいいって話か?


pmaddwd 積和演算をします.

レジスタ 内容
mm0 [W3:W2:W1:W0]
mm1 [W3':W2':W1':W0']

に対して pmaddwd mm0,mm1の後

mm0 [W3*W3'+W2*W2':W1*W1'+W0*W0']

http://homepage1.nifty.com/herumi/adv/adv10.html
【C++】高速化手法【SSE】
979 :デフォルトの名無しさん[]:2015/05/20(水) 16:09:55.55 ID:Ndb25Eqw
一つ余分だが、4並列の積和演算あったぞ。



SSE2 整数命令一覧

pmaddwd 積和演算

レジスタ  内容
xmm0
[W7, W6, W5, W4, W3, W2, W1,W0]
xmm1
[W'7, W'6, W'5, W'4, W'3, W'2, W'2, W'0]
xmm0
[W7*W'7+W6*W'6, W5*W'5+W4*W'4, W3*W'3+W2*W'2, W1*W'1+W0*W'0 ]

http://diary.jdigital.be/toshi/asm/SSE2_IntOP.html
【C++】高速化手法【SSE】
980 :デフォルトの名無しさん[]:2015/05/20(水) 16:20:21.00 ID:Ndb25Eqw
>>942だと、>>979の命令を使ってこれでいいんだろ?違うか?


xmm0
[0, 0, dr, sr, dg, sg, db, sb]

xmm1
[0, 0, 255-a, a, 255-a, a, 255-a, a]

pmaddwd(xmm0, xmm1)
【C++】高速化手法【SSE】
985 :デフォルトの名無しさん[]:2015/05/20(水) 17:49:18.18 ID:Ndb25Eqw
なるべく個々のデータ取り出しはせずに演算だけを繰り返して
普段使うデータ自体をSSEレジスタにセットしたままでいいんじゃないか?
一回計算しただけで結果をすぐ使いたいなら前処理、後処理の手間が大きいが。
【C++】高速化手法【SSE】
987 :デフォルトの名無しさん[]:2015/05/20(水) 18:07:58.70 ID:Ndb25Eqw
普段使うメモリ上のデータのほうを並び替えて一命令でSSEレジスタに転送できるように格納しておく。
【C++】高速化手法【SSE】
989 :デフォルトの名無しさん[]:2015/05/20(水) 18:23:10.27 ID:Ndb25Eqw
一度もSSEを使った経験がない・・・実装済みで、動作するアルファブレンディングのコードってない?
SSEあり、なしでどれだけ違うのか自分の環境で計測してみたい。
【C++】高速化手法【SSE】
991 :デフォルトの名無しさん[]:2015/05/20(水) 19:03:17.55 ID:Ndb25Eqw
サンクス
【C++】高速化手法【SSE】
995 :デフォルトの名無しさん[]:2015/05/20(水) 21:09:31.50 ID:Ndb25Eqw
うちのPCでは、SSSE3が動作しないと判明。


_mm_maddubs_epi16
追加のストリーミング SIMD 拡張命令 SSSE3 3 () pmaddubsw を生成します。
https://msdn.microsoft.com/ja-jp/library/vstudio/bb514017(v=vs.110).aspx


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。