タグ

SSEに関するrydotのブックマーク (11)

  • Intel® Intrinsics Guide

    Using Intel.com Search You can easily search the entire Intel.com site in several ways. Brand Name: Core i9 Document Number: 123456 Code Name: Emerald Rapids Special Operators: “Ice Lake”, Ice AND Lake, Ice OR Lake, Ice* Quick Links You can also try the quick links below to see results for most popular searches. Product Information Support Drivers & Software

    Intel® Intrinsics Guide
  • ハミング距離の計算はホントに速いのか?

    これは@sakanazensen君が主催する『Computer Vision Advent Calendar 2013』の12/8の記事です。今年はあまり活発でないようなので、小ネタですが参戦しました。 はじめに 昨今のコンピュータビジョン・パターン認識分野で特徴ベクトルのバイナリベースの記述法が流行っています。その利点の一つとして、特徴ベクトル間の距離としてコンピュータにとって計算が容易な「ハミング距離」が使える、というものがあります。これはXOR演算と PopCount演算(いくつのビットが1かをカウントする演算)で構成されており、特に近年のCPUにはまず搭載されているベクトル計算命令セットの一つ「SSE4.2」の専用命令「POPCNT」が高速演算の根拠としてよく引き合いに出されます。二つともかなりプリミティブな命令ですから確かに高速に計算できそうな感じはします。しかしながら、例えばL

    ハミング距離の計算はホントに速いのか?
  • Why is SSE scalar sqrt(x) slower than rsqrt(x) * x?

    I've been profiling some of our core math on an Intel Core Duo, and while looking at various approaches to square root I've noticed something odd: using the SSE scalar operations, it is faster to take a reciprocal square root and multiply it to get the sqrt, than it is to use the native sqrt opcode! I'm testing it with a loop something like: inline float TestSqrtFunction( float in ); void TestFunc

    Why is SSE scalar sqrt(x) slower than rsqrt(x) * x?
  • Simple SSE and SSE2 optimized sin, cos, log and exp

    Simple SSE and SSE2 (and now NEON) optimized sin, cos, log and exp The story I have spent quite a while looking for a simple (but fast) SSE version of some basic transcendental functions (sines and exponential). On the mac, you get the vsinf and friends (in the Accelerate framework) which are nice (there is a ppc version and an intel version, Apple rox) but closed-source, and restricted to macos..

  • Intel® Architecture Code Analyzerの使いどころ - LLVMとコンパイラとVM

    Author:nothingcosmos(坂頂佑樹) IT系、特にVMに関して 周辺技術の紹介等をしています。 コメント・質問はお気軽にどうぞ。 LLVM wiki twitter:nothingcosmos

    rydot
    rydot 2012/12/03
  • SSE2による浮動小数演算の仕組みと検証

    はじめに x86が持ち合わせる汎用レジスタ(eax、ecxなど…)を覚えているでしょうか。これらを用いれば、32ビットまでの整数型の演算を行うことが可能です。ほとんどのプログラムはこれらの汎用レジスタを活用することでネイティブコード化を行うことが可能ですが、実は一つ二つ、不可能な問題もあるのです。 それは浮動小数演算。ネイティブコードで浮動小数演算を行う場合、汎用レジスタを使うわけにはいきません。そもそもx86の汎用レジスタは32ビットまでしか表現できないため、倍精度浮動小数点(64ビット)を扱うことができません。かろうじて単精度浮動小数点であれば汎用レジスタで値を保有することができますが、肝心な浮動小数点用の命令がx86の汎用レジスタ用には用意されていないのです。 そこで登場するのがSSE2になります。これらは64ビット・128ビットなど、汎用レジスタでは表現不可能な整数演算を高速に行っ

    SSE2による浮動小数演算の仕組みと検証
    rydot
    rydot 2012/12/03
  • advanced optimization SSE

    float型浮動小数を4つ並列に演算する機構です. MMXや3D Now!の様にFPUレジスタを利用しているのではなく全く新規に作られたレジスタです. そのため, MMXや3D Now!と違ってFPUレジスタとの切替え[emms, femms]は不要ですが, 代わりにOSがSSEレジスタをサポートしている必要があります. 基的に最下位データのみを操作する命令にはss, 4つの(パックされた)データを操作する命令にはpsがつきます. 大抵の命令はssよりはpsの方がレイテンシ, スループットともに1クロックずつ余計にかかります. 以下, 表の中の`F'はfloat型データ1つを表します. `a-bサイクル'はレイテンシa, スループットbを表します. xmm?と書くのは面倒なのでxm?と書きます. 4.1 読み込み / 書き込み

  • approximate double precision division using SSE2

  • あまラボ 連載1高速なメモリーコピー

    今回は宿題となっていたmmx命令のmovntqについて試してきました。この命令は連載の中で紹介したsse命令のmovntdqと似た働きをしますが、一度に処理できるデータ量が8バイトと少ない代わりにアライメントの制約を受けないと言うメリットがあります。この辺のメリットとデメリットがどう作用するかを試してきました。

  • IA-32 SIMDの扉

    SIMD命令およびアセンブラの基礎 SIMDとは 用語集 開発環境 アセンブラの基礎知識 x87 FPU命令を使用したプログラミング CPUの識別 メモリアドレスのアライメント ラップアラウンド算術と飽和算術 SIMD命令セットの分類と歴史 SIMD命令セットの記述方法 SIMD命令セットの概要 MMX命令セットの概要 SSE命令セットの概要 SSE2命令セットの概要 SSE3命令セットの概要 SSE4命令セットの概要 命令リファレンス データ転送命令 算術命令 比較命令 論理演算命令 シフト命令 シャッフル命令 パックおよびアンパック命令 変換命令 挿入および抽出命令 ブレンド命令 丸め命令 キャッシュ制御命令 その他の命令 プログラミング例 画像処理 音声信号処理 参考資料 参考資料 トップSIMDの扉

  • 【インフォシーク】Infoseek : 楽天が運営するポータルサイト

    日頃より楽天のサービスをご利用いただきましてありがとうございます。 サービスをご利用いただいておりますところ大変申し訳ございませんが、現在、緊急メンテナンスを行わせていただいております。 お客様には、緊急のメンテナンスにより、ご迷惑をおかけしており、誠に申し訳ございません。 メンテナンスが終了次第、サービスを復旧いたしますので、 今しばらくお待ちいただけますよう、お願い申し上げます。

    rydot
    rydot 2008/09/10
  • 1