タグ

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

  • 関連タグはありません

タグの絞り込みを解除

ProgrammingとdeferredとCPUに関するagwのブックマーク (11)

  • 2のべき乗サイズの配列は危ないという話 via 行列積 - elkurin’s blog

    こんにちは。労働者です。とあるプログラムで学生さんの課題を添削していたら面白い話に出会いました。 僕は今、主に学部生向けのインターン研修的なプログラムでメンターなるものをやっています。メンターとしての仕事は、学生さんの課題へフィードバックを返し、Office Hourというセッションを毎週設けて質問受けやCSに関するトークを行うといった内容になっています。今回話題に取り上げるのはその中の課題の1つ、「行列積のプログラムを書いて時間を計測せよ」という何気ない話で、続く課題たちのいわば前座のようなものです。こういったところに沼は隠されているものですね。 担当している学生さんたちが細かい実験を行ってくれて以下のような疑問が提示されました。 「行列積の計算が N = 1024のときだけ N = 1023, 1025のときに比べて3倍遅いのはなぜ?」 配列のサイズが2のべき乗になるのは避けるべきとい

    2のべき乗サイズの配列は危ないという話 via 行列積 - elkurin’s blog
  • SSEによる高速化ケーススタディ - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? この記事はCompetitive Programming Advent Calendar 2014 22日目の記事として書かれました。 はじめに 競技プログラミングの問題(主にTopCoder SRMやICPCなどの短期間マッチ)において、制約が甘いなどの理由からオーダ記法で一回り想定解より大きな計算量のアルゴリズムでも定数倍高速化することによって通ってしまうことがあります。一方で、最近のx86(互換)プロセッサにはほぼ確実に SSE (Streaming SIMD Extensions) と呼ばれる拡張命令セットが実装されており、アル

    SSEによる高速化ケーススタディ - Qiita
  • CPU実験で自作CPUにUNIXライクOS (xv6) を移植した話 - 豆腐の豆腐和え

    今年のCPU実験では、有志からなる我らがX班が、おそらくCPU実験史上初である自作CPUへのOS (xv6) 移植に成功しました。コア係とコンパイラ係の面々がそれぞれまとめ記事を書いていたので、OS係から見たOS移植のまとめも書こうかなと思います。こんなことしてましたってことが伝わればいいなと思います。 この記事を読む後輩やらなんやらがいたら、ぜひ僕らがやったようなことはさっさとクリアしちゃって、さらにさらに面白いことをする踏み台にしていってほしいですね。 どなたが読んでもある程度概要が伝わるよう、まずCPU実験とは何かということをさらっと書いた後、実際にxv6を移植するにあたってやったことをまとめたいと思います。 CPU実験とは CPU実験は僕の学科(理学部情報科学科)で3年冬に行われる、半年間にわたる学科名物演習です。 最初の週で4~5人程度の班に分けられた後、それぞれの班でオリジナル

    CPU実験で自作CPUにUNIXライクOS (xv6) を移植した話 - 豆腐の豆腐和え
  • そして最近の分岐予測について2 - なるせにっき

    先日の日記で最近のIntel CPUでは間接分岐の分岐予測がほとんどミスしなくなっているという話を紹介しましたが、Branch Prediction and the Performance of Interpreters - Don't Trust Folkloreという論文にまさに同じことが書かれているのを見つけました。ていうか、この論文わたし見た形跡がある……。 去年にこの論文を見かけたときは「Direct threaded codeとかオワコン」って話までしか見てなかったんですが、今改めて見ると分岐予測が世代ごとに進化していてすごいって話に加えて、ITTAGEという分岐予測手法を使うと同じくらい当たるって書いてありますね。 ITTAGEはTAGE (TAgged GEometric length predictor)の間接分岐版で、TAGEは原論文がA case for (parti

    そして最近の分岐予測について2 - なるせにっき
  • クロックの定義

    ◇ 基クロックは、周期とエッジの位相を次の構文で指定する 。 ここで立上がりエッジの位相を指定するということは、複数のクロック同士は独立ではなく同期していると見なされるということである。 create_clock [-name clockName]                     基クロックのオブジェクト名、省略すると clockPortName と同じになる -period periodValue                   周期 (ns 単位 ) [-waveform {riseValue fallValue}]   立上がりと立下がりエッジの位相 (ns 単位 ) 、省略すると立上がりが 0ns,Duty=50% になる clockPortName                          クロック入力ポート、クロック出力ピン、またはネットのオブジェクト名

    クロックの定義
  • JavaScriptでx86エミュレータを書く | POSTD

    背景 コンピュータ・サイエンスのバックグラウンドを持たない者として、私は常々もっと低いレベルでプログラムのしくみを理解したい、そこに多くのエネルギーを費やしたいと考えてきました。 そこで、まずは基を身につけるためにプログラミングの入門書である『 Programming from the Ground Up 』を入手したのですが、なかなか学習を始められずにいました。そんな時、ちょうどブラジルまでの11時間にも及ぶフライトが予定されており、それがこのを読み始めるにはもってこいの機会となったのです。 読んでみると、このがすっかり気に入ってしまいました。ただ、事例がLinux x86 GNUアセンブリ言語で書かれていたのです。私は64ビットのMac OS Xユーザでした…。アセンブラ、リンカフラグの例や、 i386 と x86_64 間のシンタックスを理解するのにはインターネットが欠かせない

    JavaScriptでx86エミュレータを書く | POSTD
  • 256 ビットのインテル® AVX を使用した 3D ベクトルの正規化 | iSUS

    この記事は、インテル® ソフトウェア・ネットワークに掲載されている「3D Vector Normalization Using 256-Bit Intel® Advanced Vector Extensions (Intel® AVX)」(http://software.intel.com/en-us/articles/3d-vector-normalization-using-256-bit-intel-advanced-vector-extensions-intel-avx/) の日語参考訳です。 目標 8 要素幅の SIMD 処理により、パックド 3D データを一度に転置して幾何学計算のパフォーマンスを向上させる方法を紹介します。 抄録 この記事は、256 ビットのインテル® アドバンスド・ベクトル・エクステンション (インテル® AVX) を利用して 3D ベクトルの配列を正規化

    256 ビットのインテル® AVX を使用した 3D ベクトルの正規化 | iSUS
  • インテルが求める「FPGAアプリケーションエンジニア」とはこんな人 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    インテルが求める「FPGAアプリケーションエンジニア」とはこんな人 - Qiita
  • CPUに適度に間違わせることで節電する技術

    CPUに適度に間違わせることで節電する技術
  • あなたのお家に届くまで CPUキャッシュアーキテクチャ入門 Dora.Panda

    3. ハードウェア構成 左図の構成で説明を進めます CPUによって実装が異なるので、機種 固有の説明は省きます。 私なりに考えた「キャッシュの基礎を 理解する」ための仮想CPUです。 「そこそこ」ワーストケースで考えます。 TLBヒット、L1、L2キャッシュはミス ヒット。 細かい用語は後ほど。 Processor Chip CPU Core L2 Cache Mem Ctrl DRAM HW… PCIe MMU L1 Cache

    あなたのお家に届くまで CPUキャッシュアーキテクチャ入門 Dora.Panda
  • マルチコアCPUの恩恵を享受する方法

    Multi-Core CPUの恩恵を享受するには、ひとつのジョブを複数のプロセスに分け同時に実行することで、時間のかかるジョブを早く終わらせてスループットを稼ぐ方法と、ジョブをそのまま並列化させずに複数同時に実行することで、トータルのスループットを稼ぐ方法があります。 シングルスレッドアプリの複数同時実行で高いスループットを実現 デュアルコアシステムは、今までのシングルコアのシステムよりCPUクロック、FSBが落ちるので、1プロセスを速く走らせるという点においてはシングルコアに劣りますが、2ジョブを同時に実行させてもほぼ1ジョブひとつ実行するのと同じ時間で終了させることができ、トータルのスループットを稼ぐという点においてはシングルコアのシステムより優れています。 est_human BLAST Test Database : Apr 24 2005 est_human Imp

  • 1