タグ

simdとCPUに関するyassのブックマーク (10)

  • プログラムを高速化する話

    9. 9 最適化について 「細かい効率のことは忘れて、時間の 97% について考え よう。時期尚早な最適化は諸悪の根源だ。それでも残り 3% についても機会を逃すべきではない」 - Donald E. Knuth 「プログラム最適化の第一法則 : 最適化するな。 プログラム最適化の第二法則 ( 上級者限定 ): まだするな。 」 - Michael A. Jackson 11. 11 最適化の対象 主に Intel の Haswell マイクロアーキテクチャ以降を対象 多くのテクニックは他のプロセッサにも応用できます ベース マイクロアーキテクチャ プロセスルール 登場年 Nehalem Nehalem 45nm 2008 〃 Westmere 32nm 2010 Sandy Bridge Sandy Bridge 32nm 2011 〃 Ivy Bridge 22nm 2012 Hasw

    プログラムを高速化する話
  • マルチコアCPU上の並列化手法、その並列性能と問題点

    GPU を使用した並列計算環境が一般的になりつつあります。ユーザサイド立ってみれば、「並列化適用方法の種類とその効果」をもう一度整理して考え、自分に合った手法を選択しなければいけないと思っている方も多いことでしょう。並列計算と言っても、プロセッサ・コア自体が自動的にSIMD(ベクトル処理)実行するものから、マルチコアを利用した自動並列、OpenMPによるスレッドレベルの並列実行、さらにプログラムを改造してマルチプロセスによる MPI 並列実行と様々な手法が用意されています。さらに、今、GPUを利用した many cores 並列を利用した並列実行も加わり、ユーザにとっては、自分でも手軽にできる方法の判断やその性能効果に関する一つの判断基準を持っておくことが必要でしょう。また、簡単な並列実行の原理等の知識があるだけでも、今後の many cores 並列時代に向けて、合理的な並列化のための指

    マルチコアCPU上の並列化手法、その並列性能と問題点
    yass
    yass 2014/01/13
    "このシステムだけで言うと、 2スレッドも 4 スレッドの並列メモリバンド幅が 16GB/sec 程度と同じであり、帯域が飽和していることが分かります。こうした状況が現在の x64 系のプロセッサのメモリ・アーキテクチャの限界"
  • 或るプログラマの一生 » AVX-512 がアナウンスされていた

    x86/x64 最適化勉強会 #6 で聞いてきましたが、AVX-512 なるものがアナウンスされてました。名前から予想される通り、SIMD レジスタが 512bit になります。SIMD レジスタが 512bit というと Xeon Phi は最初からそうなっているのですが、これが普通の Xeon に降りてくるイメージです。 AVX が「単なる legacy SSE の 256bit 版」ではないのと同様、AVX-512 も「単なる AVX の 512bit 版」ではありません。 SIMD レジスタが zmm という名前で 512bit になる。下位 256bit は ymm としてアクセスできる(xmm に対する ymm と同じ) 64bit モードの場合、SIMD レジスタが 32使える。これは、zmm だけでなく ymm や xmm でも同様である。32bit モードでは8のまま

    yass
    yass 2014/01/09
    " SIMD レジスタが 512bit になります。SIMD レジスタが 512bit というと Xeon Phi は最初からそうなっているのですが、これが普通の Xeon に降りてくるイメージです。"
  • 組み込み関数(intrinsic)によるSIMD入門

    6. 目標目標 OpenCVによりも高速なプログラムを簡OpenCVによりも高速なプログラムを簡 単につくれる書き方を覚えよう単 くれる書き方を覚えよう 出来るようになること ・高速コピー src.copyTo(dest);高速コピ src.copyTo(dest); ・高速な加減乗算 dest = src1 + src2; ・高速型変換 src.convert(dest,CV_16U); ・高速BGR2RGB cvtColor(src,dest,CV_BGR2RGB); ・高速BGR2Gray cvtColor(src,dest,CV_BGR2Gray); ※出来ないこと 整数演算だけ 浮動小数点の命令は使わない 比較演算は使整数演算だけ,浮動小数点の命令は使わない,比較演算は使 わない,水平演算は使わない,AVXは含まない(SSE4.1まで) 7. 目的目的 を使えば 化は難しくないよ

    組み込み関数(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に達すると,速度差がなくなってますね"
  • https://bugs.java.com/?bug_id=7121648

  • ななめ45°から見たJavaOne

    2. 自己紹介 すえなが やすまさ  末永 恭正(@YaSuenag)  NTT OSSセンタ勤務 ◦ Javaの障害解析、Q&A対応  合言葉は「Javaいい子だから!」  hs_errログやコアの解析  Javaとlibc、Linuxカーネルの間を行ったり来たり… ◦ たま~にOpenJDKのパッチ書いてます  根っからのサンデープログラマー ◦ Object Pascal (Delphi) 大好き ◦ CとJavaも好き ◦ アセンブラも結構好き  JavaOne歴:2年(2010 & 2011) 3. JavaOneで感じたこと  求められるスキルの2極化 (EE vs SE) ◦ EE  とりあえず「クラウド」  とにかく「ポータビリティ」!  EoD 対 ◦ SE 極  とりあえず「並列化」  マルチリンガル?なVMの実現  VMの作りや動きを意識

    ななめ45°から見たJavaOne
  • Yaminabe simd

    Yaminabe simd 1. Intel AVX で SIMD 入門 2012/9/15 (Sat) 第2回 闇鍋プログラミング勉強会 Yuki Kawaguchi 1 2. 自己紹介名前: Yuki Kawaguchitwitter: @kawa0810はてな id: kawa0810・学生時代の研究 並列・分散処理,GPGPU,数値計算関係・仕事 orz バックアップソフトの開発・サポート 2 3. 自己紹介名前: Yuki Kawaguchitwitter: @kawa0810はてな id: kawa0810・学生時代の研究 並列・分散処理,GPGPU,数値計算関係・仕事 バックアップソフトの開発・サポート 3 4. 題4 5. SIMD とは?・Single Instruction Multiple Data・1回の命令で複数のデータを処理する命令形式 配列 x と配列 y

    Yaminabe simd
  • 第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命

    yass
    yass 2013/01/09
  • CompProBeta11.0_Customer_Presentation.ppt

    Intel、インテル、Intel ロゴ、Intel Atom、Intel Core、Xeon は、アメリカ合衆国およびその他の国における Intel Corporation の商標です。 © 2009 Intel Corporation.無断での引用、転載を禁じます。 インテル® マイクロアーキテクチャー Nehalem† ソフトウェア最適化 † 「Nehalem」 の開発コード名で呼ばれていた新しいインテル® マイクロアーキテクチャー インテル株式会社 ソフトウェア&サービス統括部 © 2009 Intel Corporation. 無断での引用、転載を禁じます。 記載内容は予告なしに変更されることがあります。 *その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。 内容 • ソフトウェア最適化と並列化のおさらい • インテル® マイクロアーキテクチャー Nehalem

  • 1