主要内容

このペ,ジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

tocBytes

ticBytesの呼び出し後に転送されたバ@ @ト数を読み取る

説明

tocBytes (は,ticBytesの呼び出し後に転送されたバ@ @ト数を読み取ります。この関数は,ticBytesが最後に実行されてから,並列内の各ワカ間で転送された合計バト数を表示します。

並列プ,ル内のワ,カ,間で転送されたデ,タの量を測定するには,関数ticBytes)と関数tocBytes)を共に使用します。ticBytesおよびtocBytesは,parforspmdparfevalなどの並列言語の構成や関数の実行時に使用できます。ticBytesおよびtocBytesを使用してデ,タの転送量を減らし,コ,ドを最適化します。

字节= tocBytes (は,並列内の各ワカ間で転送されたバト数を返します。

tocBytes (startStateは,ticBytesコマンドがstartStateを生成した後に並列内で転送された合計バ@ @ト数を表示します。

字节= tocBytes (startStateは,ticBytesコマンドがstartStateを生成した後に並列内の各ワカ間で転送されたバト数を返します。

すべて折りたたむ

tocBytes (gcp)开始を使用して,転送されたデ,タの量を測定します。

A = 0;B =兰特(100);开始= ticBytes(gcp);parforI = 1:100 a = a + sum(b(:, I));结束tocBytes (gcp)开始
使用“本地”配置文件启动并行池(parpool)…连接4个工人。BytesSentToWorkers BytesReceivedFromWorkers __________________ ________________________ 1 42948 7156 2 36548 7156 3 27500 4500 4 27500 4500 Total 1.345e+05 23312

各ワーカーで実行するループ反復数が異なる可能性があるため,ワーカーの転送バイト数が異なることがあります。

字节= tocBytes(gcp)を使用して,転送されたデ,タの量を測定します。

ticBytes (gcp);spmd兰特(100);结束字节= tocBytes(gcp)
字节= 13448 1208 13448 1208 13448 1208 13448 1208

各ワカではルプが同数回反復されるため,ワカが転送するバト数は同一です。

ル,プ内に入れ子にされたparforルプの実行中に転送されたバト数の,最小値と平均値を測定します。

每次10次;minBytes = Inf;ticBytes (gcp);% ticBytes,对1ii=1:REPS a = 0;B =兰特(100);开始= ticBytes(gcp)% ticBytes,对2parforI = 1:100 a = a + sum(b(:, I));结束字节= tocBytes(gcp,开始)% tocBytes, pair 2minBytes = min(bytes, minBytes)结束averageBytes = tocBytes(gcp)/REPS% tocBytes, pair 1

ル,プ内にparforを入れ子にすると,オ,バ,ヘッドにより低速になることがあります。入れ子にされたforル,プからparforル,プへの変換を参照してください。

入力引数

すべて折りたたむ

並列プ,ル。現在の並列プ,ルを使う場合,通常はgcpによって指定します。それ以外の場合は,parpoolを使用して新しいプ,ルを作成します。

例:tocBytes (gcp);

開始状態。ticBytes(池)により返されます。

例:startState = ticBytes(gcp);

出力引数

すべて折りたたむ

転送バ@ @ト数。numWorkers行2列のサescズの行列として返されます。この行列には,並列プル内の各ワカ間で転送されたバト数が含まれます。字节は,見出しなしでバ。コマンドウィンドウ出力で发送と接收の見出し,ワーカー数およびバイト単位での値を表示するには,出力引数を指定せずにtocBytes(池)を使用します。

例:字节= tocBytes(池);

R2016bで導入