Intel Software Network(ISN)サイト
のレビューの
トピックに続いて、別の小さな投稿を書くことにしました。 ISN Webサイトで見つけることができるいくつかの記事についてお話ししたいと思います。 このトピックは、プログラマーまたはプログラマーになる予定のあるユーザーを対象としています。
効果的なプログラムの開発や一般的なプログラミングに興味のある人のために、記事の小さなセレクションを作成しました。 これらの記事やその他の記事は、ISNの棚に静かにほこりを集めており、ほとんど見ていません。 残念ながら、Habréでのプログラミングに関する記事はほとんどありません。おそらく、このレビューは誰かに新しい情報源を提供するでしょう。
そのため、ISN Webサイトの記事とその簡単な注釈。
明らかに浮動小数点数について
浮動小数点数は、コンピューターゲームプログラミングのほぼすべての領域に浸透しました。 それらは、位置、速度、加速からトリッキーなAI変数、テクスチャ座標、色に至るまですべてを表現するために使用されます。 しかし、ユビキタスな存在にもかかわらず、浮動小数点数の背後にあるメカニズム、内部制限、およびゲームで発生する可能性のある特定の問題を調査するプログラマーはごくわずかです。 この記事では、浮動小数点数のいくつかの問題について説明し、プロジェクトの作業中にこれらの問題が突然発生した場合にプログラマーが準備できることを期待して、関連する例を示します。
Intel Streaming SIMD Extensions 4(SSE4)によるメモリパフォーマンスの改善
Intel SSE4は、新しいSIMD(単一命令複数データ)命令セットです。 インテルSSE4には、プロセッサーのUSWC(キャッシュ不可能な書き込み結合)メモリに表示されるデバイスからの「ストリーミングダウンロード」を制御するMOVNTDQAコマンドが含まれています。 ストリームダウンロードはI / Oデバイスのリーダー機能を強化し、通常のダウンロード(MOVDQAなど)と比較して速度が7.5倍に向上します。 この記事では、ストリーミングダウンロードコマンドの概要と、その使用により達成されるパフォーマンスの改善について説明します。
Intel Streaming SIMD Extensions 4(SSE4)コマンドセットを使用したモーション評価
この記事では、ビデオエンコードプログラムでIntel SSE4コマンドを使用して、整数モーションベクトルの検索パフォーマンスレベルを1.6倍から3.8倍に改善する方法について説明します。 3つの異なるサイズのブロックを使用して、動き推定で使用される散布の一部を表し、4x4、8x8、および16x16の散布にコードを適合させる方法を示します。
マルチスレッドアプリケーションを開発するための8つの簡単なルール
この記事では、シリアルプログラムコードを効果的にパラレルに変換するための8つの簡単なルールについて学びます。 これらのルールに従って、マルチスレッドソリューションをより迅速に作成し、信頼性を向上させ、パフォーマンスを最適化し、ボトルネックを減らします。
乱数ジェネレーターを使用してアプリケーションを並列化することによるパフォーマンスの向上
一連の乱数を使用するプログラムコードの並列化は、新しいデータ依存関係の回避に関連しています。 擬似乱数のセットは、アプリケーションのシリアルバージョンとパラレルバージョンの両方で等しく作成する必要があります。 この記事では、乱数を作成するアルゴリズムを安全に並列化する方法について説明します。 組み込み言語関数はプログラムコードで使用されるため、この方法では、コードの改良や乱数の品質をチェックするための追加アルゴリズムの実装は必要ありません。
ゲームエンジンの固体を破壊するための物理モデルの開発
今日、ビジュアルコンピューティングで最も興味深いタスクの1つは、現実世界の物理現象のモデリングです。 この記事では、固体の破壊のモデリングに関する研究を紹介します。 視覚的に正しいパーティションを実装するための2つのアプローチが考慮されます-亀裂伝播の物理理論に基づく方法と、ヒューリスティックアルゴリズムです。 両方の方法の特徴、長所と短所、モデリング中に発生する問題について説明します。
並列プログラミング技術の紹介
かつて、並列プログラミングは、巨大なスーパーコンピューターのタスクに興味を持った人々だけの運命でした。 しかし、従来のアプリケーションがマルチコアプロセッサで動作するようになった今、パラレルプログラミングは、プロのソフトウェア開発者が習得し、使用する必要のある技術になりつつあります。
並列メモリ割り当てメカニズム
C / C ++でアプリケーションを並列化すると、多くの場合、malloc()(または新規)関数がアプリケーションの最大パフォーマンスを制限するボトルネックであることがわかります。 この記事では、優れた並列メモリ割り当てメカニズムが解決できる4つの主要な問題、スレッドセーフ、追加のオーバーヘッド、競合、メモリドリフトについて説明します。
Intel Parallel Inspectorを使用してマルチスレッドエラーを見つける秘Find
この記事では、Intel Parallel Studioマルチスレッドアプリケーション開発パッケージのコンポーネントの1つであるIntel Parallel Inspectorマルチスレッドエラー診断ツールの機能の概要を説明します。
再コーディングとコーデックの最適化:ヒントとコツ
この記事では、コーデックエンジンのパフォーマンスを改善するための実用的なヒントとテクニックを提供します。 これらのヒントでは、Intel VTune Performance AnalyzerイベントとPrescott New Instructions(SSE3)の使用について説明しています。