“Symbolic bounds analysis of pointers, array indices, and accessed memory reg...Masahiro Sakai
![組み込み関数(intrinsic)によるSIMD入門](https://cdn-ak-scissors.b.st-hatena.com/image/square/919e91ee8aa47966e01f215d1dc8c319ee60b403/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fsimd-111211060004-phpapp01-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
世界最速のお魚と言えばカジキ類で,泳ぐ速度は時速100km/hを超えるとか.55ノット程になるのでこれはMk-48魚雷にも匹敵するほどです. 一方ちょっとチートな高速お魚としては,お馴染みトビウオが飛行中に最大70km/hほどに達するとか. 今日はそんな若干チートな高速化のお話(?)ということで,SSE組み込み命令について. SSEやAVXといえばお馴染みSIMD命令で,それをプログラムから構造体と関数の形式で高移殖に記述する方法がSIMD組み込み関数(SIMD Intrinsic)なわけですが,これを使ってごく典型的なベクトルの内積計算を高速化してみました. ベクトルの内積の高速化と言えば星の数ほどもされてる話なわけで,いまさら魚の情報なんか役に立つ気は全くしないのですが,純粋に自分でやらないとわかんない>< ということで, とにかく書いてみよう 効果の程はいかに? を調べてみたくて,や
SSE4.2 に追加された crc32c 用の機械語命令を使うのに必要そうな機能をメモ書き。 ちなみに、SSE4.2 対応の CPU を持ってないので、未検証の項目多い。 SSE4.2対応のCPU Intel系はNehalemマイクロアーキテクチャ以降 AMD系はBulldozerマイクロアーキテクチャ以降 Wikipedia によるとNehalemマイクロアーキテクチャは「 主に2008年〜2011年ごろに発売された。」と書いてあるので、最近のデスクトップ用のCPUならば大丈夫? SSE4.2対応のCPUかどうかのチェック (2012-11-03 大幅書き換え) 当然だが、SSE4.2 に対応してないCPUでは crc32c 機械語命令は使えないので、事前に SSE4.2 に対応しているかどうかをチェックする必要がある。 以下の関数 sse4_2_is_supported() を呼び出し
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く