質問

Xeon PHIでは、ロックフリーアルゴリズムでtbb compare_and_swap動作を使用しています。Xeon PhiはOrder Machineであるため、sfence操作はサポートされていません。それで、原子力はXeon Phi?

で正しく機能しますか

役に立ちましたか?

解決

はい、彼らは間違いなく正しく機能し、ほとんどのTBB自体はアトミック操作に基づいています。原子間の操作が正しく機能するのには、sfenceが必要ではなく、原子動作はメモリバリア自体を暗示しています。TBBは通常のXeonsでもsfenceを使用しません。Xeon Phiの場合、それはNO OP原子操作で置換されています。TBBのMIC_COMMON.Hには、次の定義が含まれています。

/** Intel(R) Many Integrated Core Architecture does not support mfence and pause instructions **/
#define __TBB_full_memory_fence() __asm__ __volatile__("lock; addl $0,(%%rsp)":::"memory")
#define __TBB_Pause(x) _mm_delay_32(16*(x))
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top