タグ

cpuに関するrydotのブックマーク (19)

  • https://github.com/herumi/misc/blob/master/cpp/fence.md

    https://github.com/herumi/misc/blob/master/cpp/fence.md
    rydot
    rydot 2018/09/13
  • ひとりでCPUとエミュレータとコンパイラを作るのカレンダー | Advent Calendar 2017 - Qiita

    The Qiita Advent Calendar 2017 is supported by the following companies, organizations, and services.

    ひとりでCPUとエミュレータとコンパイラを作るのカレンダー | Advent Calendar 2017 - Qiita
    rydot
    rydot 2017/12/15
  • ASCII.jp:ロードマップでわかる!当世プロセッサー事情(大原雄介)

    多くの新製品が世に送り出されるプロセッサーの世界。テクニカルライターの大原雄介氏による連載では、CPUGPUなどコンピューターの中核となるプロセッサーのロードマップを軸に、その変遷を解説していく。 2024年06月10日 12時00分 PC 第775回 安定した転送速度を確保できたSCSI 消え去ったI/F史 SCSIは「まだ使っている」ユーザーがいるだろう。筆者の手元にも若干機材が残っているが、市場としてはほぼ壊滅している感が強い。 2024年06月03日 12時00分 PC 第774回 日の半導体メーカーが開発協力に名乗りを上げた次世代Esperanto ET-SoC AIプロセッサーの昨今 Esperanto Technologyが第3世代製品をRapidusの2nmプロセスを利用して製造することを明らかにした。発表会の内容をもとにET-SoC-2/ET-SoC-3の詳細を説明

    ASCII.jp:ロードマップでわかる!当世プロセッサー事情(大原雄介)
    rydot
    rydot 2017/04/15
  • introdunction to SIMD programming - primitive: blog

    Unite 2015 Tokyo の講演で詳細を話せなかったのが心残りだったので、大量のオブジェクトの更新処理についてこの場で書いてみます。 主に C++ で、簡単なパーティクルエンジンを作り、それを SIMD を用いて高速化する手順を解説します。 話を簡単にするため、以下の前提を設けます。 ・x86 環境のみ考慮 ・パーティクルは位置と速度のみを保持 ・パーティクル同士の相互衝突は総当たりで計算 総当たりなので超遅いですが、実装は容易で SIMD による恩恵を受けやすく、題材として手頃です。 この記事の中で引用されているソースの元は こちら、ビルド結果 (上のスクリーンショットのデモプログラム) は こちら になります。 相互衝突するパーティクルを実装する場合、お互いの距離を計算し、当たっていたらめり込み具合に応じて押し返す、というのがよくある実装だと思います。まずはそれをストレートに

    introdunction to SIMD programming - primitive: blog
  • Intel® Implicit SPMD Program Compiler

    An open-source compiler for high-performance SIMD programming on the CPU and GPU Overview ispc is a compiler for a variant of the C programming language, with extensions for "single program, multiple data" (SPMD) programming. Under the SPMD model, the programmer writes a program that generally appears to be a regular serial program, though the execution model is actually that a number of program i

  • AVX-512のカレンダー | Advent Calendar 2014 - Qiita

    About reserved postingIf you register a secret article by the day before the same day, it will be automatically published around 7:00 on the same day. About posting periodOnly articles submitted after November 1 of the year can be registered. (Secret articles can be registered anytime articles are posted.)

    AVX-512のカレンダー | Advent Calendar 2014 - Qiita
    rydot
    rydot 2016/02/27
  • いまどきのmatmul

    概要 経緯 : http://d.hatena.ne.jp/w_o/20141021#1413893835 Host 1700msec、Epiphany 170msecとかになって、さすが、16coreだから10倍速いみたいな話になったが、 経験的に、こういうのってナイーブCと比較してるから、普通にマルチスレッド & NEON使えば、10倍差ぐらいすぐはやくなんじゃね? と、思ってNEON + スレッド化matmulを探したのだけど、見当たらなくて、探すより書いたほうがはやそうだったので書いた。 というのがあって、今更matmulを実装したのでその話について書く。 1ノード Haswell 正方行列 単精度 サイズは128の倍数だとか制限付けてもよい という条件でどうやって効率上げていくかについて説明する。 今日の結果は N = 2000〜3000 で効率 80% ぐらい。 まあ多分もっと

    いまどきのmatmul
  • いまどきの☆あせんぶりーらんげーじ

    いまどきの☆あせんぶりーらんげーじ 概要 今のCPUは複雑すぎるのでコンパイラのほうが人間より賢いとか嘘である。 基を抑えればそんなことないので、皆さんコンパイラに打ち勝ちましょう。 以下では、パイプライン化されてて、スーパースカラなマシンをいまどきの☆アーキテクチャとしている。(つってももう20年前くらいの話なんじゃないか…) 今でもスーパースカラじゃないRISCとかあるよ!!とかの意見は、自分のブログに書いておいてください。 あと、x86をいまどきのアーキテクチャと呼ぶのは抵抗あるけど、深追いするならx86が一番面白いと思うので、x86限定の話題も遠慮しないで書く。あと、アセンブリの記法はAT&Tです。 前提知識 x86アセンブリ 参考文献 これを読めばこの文書を読む必要は無い。 The microarchitecture of Intel and AMD CPU’s: An opt

    rydot
    rydot 2016/02/27
  • 4. Instruction tables - Lists of instruction latencies, throughputs and micro-operation breakdowns for Intel, AMD and VIA CPUs

    rydot
    rydot 2016/02/27
  • プログラムを高速化する話

    KMCの例会講座で用いたスライドを一部編集したものです。 ビット演算を組み合わせたトリッキーな方法で様々な操作を高速に行う方法を紹介します。

    プログラムを高速化する話
  • Haswellオーバークロックガイド【後編】

    rydot
    rydot 2013/10/26
  • 2004-10-09

    最近Efficeonが1GhzでTDP 3Wとか言うのをみてなんかすごいなぁ、 とか思ったのだが、はてそういえば熱力学のあたりにこの辺の下界を与える 式があったような気がするので、ちょっくら計算してみることにした。 計算というものは原理的には古典/量子計算ともに消費エネルギー0で 行うことが出来る。が、不可逆なゲートの演算においてはそうではない。 不可逆な過程においてエントロピーは増大するというアレである。 しかし、ちょっと待った。出力データの"情報"エントロピーが 入力データの"情報"エントロピーより減少しているから 環境の"物理的な"エントロピーは増大して、全体としては エントロピーが増大している…って、"情報"のエントロピーと "物理的"エントロピーを混同していいのか? …とも思ったが、しかし、デバイスレベルで見ると、 特定の場所の電圧の変化がまぎれも無く不可逆な変化をしており、 や

    2004-10-09
  • 条件分岐とcmovとmaxps

    3. 自己紹介 光成滋生(サイボウズ・ラボ) 姑息な最適化が大好き 以前はコーデック系の趣味仕事をやっていた 最近は仕事のために機械学習を勉強中 PRMLあんちょこ公開中(https://github.com/herumi/prml/) blog : http://homepage1.nifty.com/herumi/ mail : herumi@nifty.com twitter : @herumi 3 /24 5. プロファイル プロファイラ 関数組み込みタイプ プログラム自体に組み込まれる それ自体がプログラムに影響を与える 回数は正確 gprofやDevPartner, Vtune タイミング割り込みによる集計タイプ 割り込みでその瞬間のeipを取得し集計 プログラムに影響を(殆ど)与えない 回数は不正確,時間は概ね正確 CodeAnalys

    条件分岐とcmovとmaxps
    rydot
    rydot 2013/05/17
  • x86とGCCと分岐と私 - mirichiの日記

    mrubyのVMはoptableに命令と実際のアドレスの変換テーブルをおいて、gotoのときにそれを使って変換→ジャンプをしているのでダイレクトスレッデッドじゃなくてトークンスレッデッドじゃないのかと思う今日この頃。識者の意見求む。 今回はCPUのアーキテクチャに深く依存する分岐予測の話。長いしわかりにくい。他人への説明用ではなく自分用の整理と考えられたし。 1.分岐とは アセンブラでいうJMP系、CALL系、RETを言う。プログラムカウンタを変更して任意の位置に実行位置を移動する。Cだと制御系の文(if、while、for、gotoなど)や関数呼び出しがそれらの命令に変換される。CPUのレベルでは条件無しのJMPも分岐と表現する。 CPUアーキテクチャ側から見ると分岐命令は大きくわけて4つ。 ・無条件分岐 ・条件分岐 ・間接分岐 ・リターン である。 2.分岐予測とは CPUはIntel

    x86とGCCと分岐と私 - mirichiの日記
  • What Every Programmer Should Know About Memory (PDF)

    What Every Programmer Should Know About Memory Ulrich Drepper Red Hat, Inc. drepper@redhat.com November 21, 2007 Abstract As CPU cores become both faster and more numerous, the limiting factor for most programs is now, and will be for some time, memory access. Hardware designers have come up with ever more sophisticated memory handling and acceleration techniques–such as CPU caches–but these canno

  • PopCntの速度再び2011 - 小宮日記

    3年ほど前、popcntの速度を調べたことがありますが http://d.hatena.ne.jp/mkomiya/20070905/p1 bitを数える http://vivio.blog.shinobi.jp/Entry/137/ ふと思い出したので、またちょっと調べてみました。 以前は、ビット数少ないとアセンブラ速いけど 表引きC言語は安定してるよね 的な幕引きでしたが、 アセンブラでマジックで計算するコードをサイボウズラボの人が書いていたので、 http://developer.cybozu.co.jp/takesako/2006/11/binary_hacks.html それを加えてみます。 あと、団子の人のSSEコードもあったのでそれも追加。 LS3600さんが、SSE4.2でPopCntの使い方も紹介されてましたが、 今使ってるマシン(core2duo E7500)がSSE4

    PopCntの速度再び2011 - 小宮日記
  • ビットを数える・探すアルゴリズム

    作成日:2004.05.04 修正日:2012.09.01 このページは 2003年の9/11、9/28 の日記をまとめて作成。 はじめに PowerPC 系や Alpha などには population count と呼ばれるレジスタ中の立っているビット数を数える命令が実装されている。 集合演算を行うライブラリを実装したい場合などに重宝しそうな命令である。 職場でこの population count 命令について話をしているうちにビットカウント操作をハードウェアで実装するのは得なのか?という点が議論になった。 CPU の設計をできるだけシンプルにするためには、複雑で使用頻度の低い命令は極力減らした方がよい。 例えば SPARC は命令セット中にビットカウント演算があるが、CPU 内には実装しないという方針をとっている(population 命令を実行すると不正命令例外が発生し、それを

  • 45GHzのCPU並みの演算能力を並列処理で実現、安価にスパコンを作ることが可能なオープンソースプロジェクト「Parallella」とは?

    スーパーコンピューター並のシステムすら構築できる強力なハードとソフトオープンソースで開発、誰でも99ドル(約7700円)から利用できるようにしよう、というプロジェクトが「Parallella」です。 Parallella: A Supercomputer For Everyone by Adapteva — Kickstarter 「今、私たちは1つのプロセッサーが1つのタスクを行うというシングルスレッドコンピューターを使っています。それはそれですごいことなのですが、処理頻度の限界やメモリーのボトルネックという問題に直面し、近年パフォーマンスの改善は望まれているレベルに達していません。この状況が続けば、過去30年間我々が経験してきた、毎年毎年コンピューターのパフォーマンスが向上するという状況は終わります。そして、その問題を解決するための答えがパラレルコンピューティングです」と語るのがこのプ

    45GHzのCPU並みの演算能力を並列処理で実現、安価にスパコンを作ることが可能なオープンソースプロジェクト「Parallella」とは?
  • CPUのアーキテクチャをトイレに例えると | Hinemosu

    おもろい。たとえ方がうまいなぁ。 消え気味なのでコピペ。 155 :・良く分かるパイプライン :04/04/26 17:20 ID:B6tZVOSS 「おしっこをして手をあらってでてくる」。 トイレが一室しかないと混雑時は長蛇の列ができます。 1.おしっこをする 2.手を洗う。 二段のパイプにすると、手を洗ってる間に別の人が用を足せるようになります。 トイレ一室で二人が気持ちよくなれて、効率が倍になります。 もうすこし深くしてみましょう。 1.ジッパーを下げる 2.ちんちんとりだす 3.放尿する 4.しずくを切ってちんちんしまう。 5.ジッパーをあげる 6.手を洗う 7.紙を使って手をふく 7ステージに分解すると、なんと 7人が同時に処理できます。 これがパイプラインです。 156 :・良く分かるスーパスケーラ :04/04/26 17:21 ID:B6tZVOSS トイレの利用はおしっこ

    CPUのアーキテクチャをトイレに例えると | Hinemosu
    rydot
    rydot 2012/10/05
  • 1