タグ

ブックマーク / kawa0810.hateblo.jp (1)

  • メモリアライメントを揃えずに SIMD する方法 - kawa0810 のブログ

    メモリアライメントを揃えずに SIMD 演算する方法 今までは _mm_malloc() を使用してメモリアライメントを 32byte 境界に揃えてから AVX 命令で SIMD 演算をしていましたが,メモリアライメントを気にせずに AVX を用いて SIMD 演算する方法です. データを 32byte 境界に揃えている場合は _mm_load_ps や _mm_load_pd が暗黙的に使われデータをロードします.計算したいデータが 32byte 境界に揃えていない場合は _mm_loadu_ps や _mm_storeu_ps 等を明示的に使用することで SIMD 演算を使用することが可能になります.ただし,オーバーヘッドが発生するため計算が遅くなるそうで可能な限りデータは 32byte 境界に揃えましょう. 総和計算のサンプルコード メモリアライメントを気にせずに総和計算をするサンプ

    メモリアライメントを揃えずに SIMD する方法 - kawa0810 のブログ
  • 1