タグ

IntelとSSEに関するyassのブックマーク (3)

  • 組み込み関数(intrinsic)によるSIMD入門

    “Symbolic bounds analysis of pointers, array indices, and accessed memory reg...Masahiro Sakai

    組み込み関数(intrinsic)によるSIMD入門
  • SSEとAVXで高次元ベクトルの内積計算を高速化してみた | さかな前線

    世界最速のお魚と言えばカジキ類で,泳ぐ速度は時速100km/hを超えるとか.55ノット程になるのでこれはMk-48魚雷にも匹敵するほどです. 一方ちょっとチートな高速お魚としては,お馴染みトビウオが飛行中に最大70km/hほどに達するとか. 今日はそんな若干チートな高速化のお話(?)ということで,SSE組み込み命令について. SSEやAVXといえばお馴染みSIMD命令で,それをプログラムから構造体と関数の形式で高移殖に記述する方法がSIMD組み込み関数(SIMD Intrinsic)なわけですが,これを使ってごく典型的なベクトルの内積計算を高速化してみました. ベクトルの内積の高速化と言えば星の数ほどもされてる話なわけで,いまさら魚の情報なんか役に立つ気は全くしないのですが,純粋に自分でやらないとわかんない>< ということで, とにかく書いてみよう 効果の程はいかに? を調べてみたくて,や

    yass
    yass 2013/08/13
    " SSEやAVXといえばお馴染みSIMD命令 / これを使ってごく典型的なベクトルの内積計算を高速化 / 最大で10倍のスループットというのは驚き / 8192次元,データ量にして8192*sizeof(float)*2=64KBに達すると,速度差がなくなってますね"
  • SSE4.2 の crc32c 命令の呼び出し

    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() を呼び出し

  • 1