タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

simdに関するtohtasのブックマーク (2)

  • fast strlen and memchr by SSE2 (mitsunari@cybozu labs)

    strlen()とmemchr()のSIMD版を作ってみました. 今回は最速よりもお手軽さを重視したのでアセンブリ言語ではなくintrinsic関数を使っています.そのためVisual Studio 2008, gcc 4.xの両方でコンパイルでき32-bit, 64-bit OS上で動作します. WindowsLinuxでのみ確認していますが恐らくIntel Mac OS X上でも動作するでしょう(sample source). ベンチマークはランダムな長さの文字列の平均長(average length)を変化させつつ取りました.数値は1byteあたりにかかった処理時間比で小さいほど速いことを表します. strlenが3種類(ANSI, BLOG, SSE2)とmemchrが2種類(ANSI, SSE2)あります.BLOGというのは今回試してみようというきっかけになったCounting

    tohtas
    tohtas 2008/06/11
    すごそう
  • 第2章 SIMDプログラミングの基礎 - PS3 Linux Information Site / Cell/B.E.のパワーを体験しよう

    出典: PS3 Linux Information Site / Cell/B.E.のパワーを体験しよう 第1章では、Cellプログラミングの特徴について解説しました。章では、Cellプログラミングの特徴の1つである、SIMD演算を利用したプログラミング手法について解説します。 SIMD演算は、複数のデータに対する処理を1命令で実行できる演算手法です。このような手法は、マルチメディア・アプリケーションの音声・画像処理や3Dグラフィックスの演算処理などで多く利用されています。近年、多くのプロセッサがSIMD演算専用の命令 (以下、SIMD命令) を実装しており、例えばIntel x86はSSE命令やMMX命令といったSIMD命令をマルチメディア拡張機能として提供しています。一方、チュートリアルで対象としているCellではSIMD命令として、PPEにVMX命令、SPEにSPU SIMD命

    tohtas
    tohtas 2008/06/11
  • 1