前編はコチラ 複素数の積の計算 最後の2つの命令(FMAddSub、FMSubAdd)は256bitにパックされたデータの偶数番目と奇数番目でCの加算と減算が逆になるという、ちょっと変な演算である。この命令に関しては、スライドの下の説明には、複素演算に使うと書かれている。 実数の積和演算を行う場合は、前回説明した4種のFMA命令で良いが、各要素が複素数の積和演算を行う場合は、複素数の積と和の計算が必要になる。複素数の和は、実部同士、虚部同士を加算すれば良いが、A+BiとC+Diの積は実部が(A×C-B×D)、虚部は(A×D+B×C)と計算する必要がある。FMAddSubとFMSubAdd命令は、この計算をするための命令である。 AMDのSoftware Optimization Guideには、複素数の積の計算コードが載っている。256bitのYMMレジスタには32bitの単精度浮動小数点
前回のレポート(記事はこちらのリンク)に引き続き、今回はUncoreの部分について、これもわかる範囲でご紹介したい。 ■「Haswell」の内部構造、前回までのレポートはこちら ・IDF 2012 - 次期Intel Core「Haswell」の内部構造を探る - 拡張命令(AVX2/TSX)編 http://news.mynavi.jp/articles/2012/09/18/idf03/ ・IDF 2012 - 次期Intel Core「Haswell」の内部構造を探る - マイクロアーキテクチャ編 http://news.mynavi.jp/articles/2012/09/18/idf02/ 既に広く知られている話であるが、Haswell世代では、GPUに関してはGT1/GT2/GT3という3種類のSkewが用意される(Photo01)。このうちGT1とGT2は2コアのままで、GT
IDF 2012で、2013年に登場と見られるIntelの次世代プロセサ「Haswell」のアーキテクチャが発表された。Haswellのアーキテクチャ全般については大原雄介氏の記事を参照戴くのが分かり易いと思うが、それを補足する意味で、HPC(High Performance Computing)向けの強化ポイントについて詳細に見て行きたい。 Haswellで一番目に付くのは、各コアに256bit長(64bit×4)のFMA演算器を2個装備し、1サイクルに倍精度の浮動小数点演算を16回実行できるようにした点である。また、32bitの単精度浮動小数点なら32回の演算を実行できる。 「京」スパコンに使われている「SPARC64 VIIIfx」とその後継の「SPARC64 IXfx」のコアは8演算、2012年6月にTop500 1位となった「Sequoia」に使われている「BlueGene/Q(
米Intelは9月15日、マルチコアプロセッサ向けJavaScriptエンジン「River Trail」を発表した。JavaScriptの並列プログラミング向け拡張で、複雑な処理を可能にするWebアプリケーション開発を支援する。 River TrailはIntel Labsのオープンソースプロジェクトで、Webアプリケーションでのデータ並列処理を可能にすることを目的にJavaScriptを拡張する。Webアプリケーションの重要性が高まる中、ハードウェア側の処理能力を活用できていないという問題に対応するもので、Webアプリ開発者が並列プログラミングを利用できるようにする。 River Trailではマルチコアやベクトル命令へのアクセスが可能で、処理能力を要求する写真編集のようなアプリがWebブラウザでも提供可能になるという。同時に、既存のJavaScriptを拡張することで、通常のJavaS
米Intelが並列プログラムを容易にする言語拡張「Intel Cilk Plus」をオープンソース化し、またGCCへの実装が「cilkplus」ブランチで開始されたと発表した。x86_32およびx86_64アーキテクチャでテスト済みというLinux向けランタイムのソースコードも公開されている。 Cilk PlusはIntelが2010年に発表したC/C++向けの言語拡張。1990年代にマサチューセッツ工科大学で開発されたC言語拡張「Cilk」がベースで、プログラムの並列化を容易に実装できるキーワードや関数群が含まれる。Intelは2009年にCilk技術ベンダーのCilk Artsを買収し、Cilkの権利や技術を手に入れている。Cilk PlusはすでにIntelがリリースする「Intel Compiler」に搭載されているが、GCCなどほかのC/C++コンパイラではサポートされていなかっ
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
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く