Burst Intrinsics Common クラス
Unity.Burst.Intrinsics.Common の intrinsic は、Burst のサポート対象ハードウェアターゲットで共有される機能を提供します。
Pause
Unity.Burst.Intrinsics.Common.Pause は、現在のスレッドを一時停止するよう CPU にリクエストする intrinsic です。x86 では pause、ARM では yield にマップされます。
これを使い、アトミックアクセスの競合状態におけるスピンロックを停止します。こうすることで、該当するコードセクションでの競合と消費電力を減らすことができます。
Prefetch
Unity.Burst.Intrinsics.Common.Prefetch は実験的な intrinsic であり、メモリの位置をキャッシュにプリフェッチするよう Burst にヒントを提供します。
この intrinsic は実験的なものなので、アクセスするには UNITY_BURST_EXPERIMENTAL_PREFETCH_INTRINSIC プリプロセッサー定義を使用する必要があります。
umul128
Unity.Burst.Intrinsics.Common.umul128 intrinsic は、128 ビットの符号無し乗算にアクセスするために使用します。この乗算は、関数のハッシュ化に役立ちます。この intrinsic は、x86 ターゲットと ARM ターゲットのハードウェア命令に 1 対 1 でマップされます。
InterlockedAnd & InterlockedOr
Unity.Burst.Intrinsics.Common.InterlockedAnd と Unity.Burst.Intrinsics.Common.InterlockedOr は実験的な intrinsic であり、int 型、uint 型、long 型、ulong 型のアトミックな and/or 演算を提供します。
これらの intrinsic は実験的なものなので、アクセスするには UNITY_BURST_EXPERIMENTAL_ATOMIC_INTRINSICS プリプロセッサ定義を使用する必要があります。