2024-02-01から1ヶ月間の記事一覧

性能評価:抽出・インデックス

C++言語で記述したプログラムと、アセンブリ言語で記述した関数を利用したときの性能差を検証してみましょう。

抽出・インデックス

一次元配列の各要素を検査し、条件を満足していたら、その要素を抽出します。当時に抽出した要素の位置を得ます。ここでは任意の値以上の要素を抽出、任意の値以下の要素を抽出、任意範囲の要素を抽出するとともに、そのインデックスを得る例を示します。前…

性能評価:抽出

C++言語で記述したプログラムと、アセンブリ言語で記述した関数を利用したときの性能差を検証してみましょう。

抽出

一次元配列の各要素を検査し、条件を満足していたら、その要素を抽出します。ここでは任意の値以上の要素を抽出する、任意の値以下の要素を抽出する、任意範囲の要素を抽出する例を示します。以降に処理概要を図で示します。

性能評価:総和

一次元配列の総和を求めるプログラムを応用して、C++言語で記述したプログラムと、アセンブリ言語で記述した関数を利用したときの性能差を検証してみましょう。

総和

一次元配列の総和を求めるプログラムを紹介します。以降に処理の概要図を示します。

性能評価:値の検索

一次元配列から特定の値を探すプログラムを応用して、C++言語で記述したプログラムと、アセンブリ言語で記述した関数を利用したときの性能差を検証してみましょう。

値の検索

特定の値を一次元配列内から探し、そのインデックス値を返します。指定した値が配列内に存在しない時は-1を返します。特定の値が一次元配列内に複数含まれる場合は、一番若いインデックス値を返します。以降に処理の概要図を示します。

性能評価:最小値・最大値・インデックス

一次元配列から最小値・最大値を探すプログラムを応用して、C++言語で記述したプログラムと、アセンブリ言語で記述した関数を利用したときの性能差を検証してみましょう。

最小値・最大値・インデックス

一次元配列に含まれる最小値か最大値を見つけ、かつその位置を得るプログラムを紹介します。以降に処理の概要図を示します。

性能評価:最小値・最大値

一次元配列から最小値・最大値を探すプログラムを応用して、C++言語で記述したプログラムと、アセンブリ言語で記述した関数を利用したときの性能差を検証してみましょう。

最小値・最大値

一次元配列に含まれる最小値か最大値を見つけるプログラムを紹介します。以降に処理の概要図を示します。

任意範囲へ飽和:符号付・なし

任意の範囲へ飽和させる飽和処理を紹介します。

型飽和:符号付・なし型

データ型を変更するとき、特に大きなデータ型から小さなデータ型へ変換するときにオーバーフローやアンダーフローが発生しないように飽和させて代入する必要があります。ここでは、そのような型飽和処理を紹介します。 符号付、あるいは符号なし64ビット整数…

性能評価:予測と分岐・加算とクリア

予測と分岐・加算とクリアのプログラムを応用して、C++言語で記述したプログラムと、アセンブリ言語で記述した関数を利用したときの性能差を検証してみましょう。性能評価は「予測と分岐・加算とクリア・64ビット浮動小数点型」を用います。

予測と分岐・加算とクリア・32ビット浮動小数点型

配列の値によって処理を変更するプログラム紹介します。 AVX-512 命令のマスクレジスターを使用すると、プレディケーション(分岐の排除)によって、条件判断が必要な処理を効率良く実行できます。

予測と分岐・加算とクリア・64ビット浮動小数点型

配列の値によって処理を変更するプログラム紹介します。 AVX-512 命令のマスクレジスターを使用すると、プレディケーション(分岐の排除)によって、条件判断が必要な処理を効率良く実行できます。プレディケーションでは、各レーンで命令を実行するかしない…

性能評価:予測と分岐・設定

予測と分岐・設定のプログラムを応用して、C++言語で記述したプログラムと、アセンブリ言語で記述した関数を利用したときの性能差を検証してみましょう。性能評価は「予測と分岐:設定・64ビット整数型」を用います。

予測と分岐・設定・32ビット浮動小数点型

プレディケーション(分岐の排除)によって、条件判断が必要な処理を効率良く実行できます。

性能評価:予測と分岐・設定とクリア

予測と分岐・設定とクリアのプログラムを応用して、C++言語で記述したプログラムと、アセンブリ言語で記述した関数を利用したときの性能差を検証してみましょう。性能評価は「予測と分岐・設定とクリア・32ビット浮動小数点型」を用います。

予測と分岐・設定とクリア・32ビット浮動小数点型

配列の値によって処理を変更するプログラム紹介します。 AVX-512 命令のマスクレジスターを使用すると、プレディケーション(分岐の排除)によって、条件判断が必要な処理を効率良く実行できます。プレディケーションでは、各レーンで命令を実行するかしない…

予測と分岐・設定とクリア・64ビット浮動小数点型

配列の値によって処理を変更するプログラム紹介します。 AVX-512 命令のマスクレジスターを使用すると、プレディケーション(分岐の排除)によって、条件判断が必要な処理を効率良く実行できます。プレディケーションでは、各レーンで命令を実行するかしない…

予測と分岐・設定とクリア・8ビット整数型

配列の値によって処理を変更するプログラム紹介します。 AVX-512 命令のマスクレジスターを使用すると、プレディケーション(分岐の排除)によって、条件判断が必要な処理を効率良く実行できます。プレディケーションでは、各レーンで命令を実行するかしない…

予測と分岐・設定とクリア・16ビット整数型

配列の値によって処理を変更するプログラム紹介します。 AVX-512 命令のマスクレジスターを使用すると、プレディケーション(分岐の排除)によって、条件判断が必要な処理を効率良く実行できます。プレディケーションでは、各レーンで命令を実行するかしない…

予測と分岐・設定とクリア・32ビット整数型

配列の値によって処理を変更するプログラム紹介します。 AVX-512 命令のマスクレジスターを使用すると、プレディケーション(分岐の排除)によって、条件判断が必要な処理を効率良く実行できます。プレディケーションでは、各レーンで命令を実行するかしない…

予測と分岐・設定とクリア・64ビット整数型

配列の値によって処理を変更するプログラム紹介します。 AVX-512 命令のマスクレジスターを使用すると、プレディケーション(分岐の排除)によって、条件判断が必要な処理を効率良く実行できます。プレディケーションでは、各レーンで命令を実行するかしない…

予測と分岐・設定・64ビット浮動小数点型

プレディケーション(分岐の排除)によって、条件判断が必要な処理を効率良く実行できます。

予測と分岐・設定・8ビット整数型

プレディケーション(分岐の排除)によって、条件判断が必要な処理を効率良く実行できます。

予測と分岐・設定・16ビット整数型

プレディケーション(分岐の排除)によって、条件判断が必要な処理を効率良く実行できます。

予測と分岐・設定・32ビット整数型

プレディケーション(分岐の排除)によって、条件判断が必要な処理を効率良く実行できます。