データレイアウトデータがアクセスされる方法でデータレイアウトが構成されると、ソフトウェアのパフォーマンスは向上します。最初のケースでは、データベースのフィルおよびアクセスにリンクリストを使用していました。初期データ格納要素は、次のように定義された構造体でした。};これらの構造体からリンクリストが作成された後、クエリーが行われます。リンクリストは、プロセッサーのプリフェッチ・セクションにとって正確な予測が困難な、ランダムで予測不能な方法でデータにアクセスします。「リンクリスト」行として示されています。ベクトルクラスで置換されると、データは線形でアクセスされます。ベクトルコードを次に示します。「ベクトル」行として示されています。示されているように、この変更されたアクセスパターンを利用すると、パフォーマンスは大幅に向上します。この変更は、同じ構造体を保存します。この場合、メモリーバスがメモリーとキャッシュ間の余分なデータ転送で占有され、余分な帯域幅とキャッシュリソースの両方が消費されます。構造体を、新しいクラスに変更しています。別のベクトルが用意されていることに注意してください。キャッシュ使用の負荷が減ります。検索のためキャッシュに書き込まれたベクトルは「ホット」、キャッシュに書き込まれなかったベクトルは「コールド」と呼ばれます。「ホット-コールドベクトル」行として示されています。レジスターのすべてのレーンを使用します。パフォーマンスの向上を確認してください。変更のコンセプトは、データがアクセスされる方法で、データを連続して配置することです。変更について、さらに調査することを推奨します。ベースのプラットフォームのパフォーマンスに与える影響まとめ現在のプラットフォームで利用可能なベクトルレジスターをソフトウェアで効率的に利用すると、パフォーマンスは大幅に向上します。この記事では、次の手順を説明しました。対応のユーザー定義関数/サブルーチンを利用する最内ループの外側へ不変条件を移動する使用される順にデータを格納するキャッシュライン境界にデータをアライメントするこれらの手法を採用し、コンパイラー最適化レポートの情報を利用するソフトウェア開発者は、ソフトウェアのパフォーマンスを向上することができるでしょう。ようなツールは、ベクトル化の向上にも役立ちます。ベクトル化は、ソフトウェアの最適化およびパフォーマンスの最適化の重要なステップです。サポートを受けていました。サポートを受けていました。コード例は使用許諾を受けて使用しています。コードセグメントは使用許諾を受けて使用しています。より配布されています。チュートリアル・コードは使用許諾を受けて使用しています。一部としてインストールされます。コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。行列を乗算する、連立方程式を解く、フーリエ変換を行うなど、さまざまな数値問題を解く際に役立つ多くのルーチンが含まれています。米国インテル社が四半期に一度オンラインで公開しているオンラインマガジンです。インテルの技術者によるテクノロジーの解説や、最新ツールの紹介など、並列化に関する記事を毎号掲載しています。形式で用意しました、ぜひご覧ください。版はこちらからご利用になれます。プロセッサー上でのベクトル化について調査します。サイトはエクセルソフト株式会社が運営しています。社名、製品名などは一般に各社の表示、商標または登録商標です。