白丝美女被狂躁免费视频网站,500av导航大全精品,yw.193.cnc爆乳尤物未满,97se亚洲综合色区,аⅴ天堂中文在线网官网

Synchronization of concurrent computation engines

專(zhuān)利號(hào)
US11175919B1
公開(kāi)日期
2021-11-16
申請(qǐng)人
Amazon Technologies, Inc.(US WA Seattle)
發(fā)明人
Ilya Minkin; Ron Diamant; Drazen Borkovic; Jindrich Zejda; Dana Michelle Vantrease
IPC分類(lèi)
G06F9/30; G06F9/35; G06F13/28; G06F9/38; G06F9/52; G06N3/06
技術(shù)領(lǐng)域
checkpoint,engine,execution,register,ckpt1,engines,in,wait,value,can
地域: WA WA Seattle

摘要

Integrated circuit devices and methods for synchronizing execution of program code for multiple concurrently operating execution engines of the integrated circuit devices are provided. In some cases, one execution engine of an integrated circuit device may be dependent on the operation of another execution engine of the integrated circuit device. To synchronize the execution engines around the dependency, a first execution engine may execute an instruction to set a value in a register while a second execution engine may execute an instruction to wait for a condition associated with the register value.

說(shuō)明書(shū)

In various examples, global checkpoint registers can be used to synchronize the operations of two or more execution engines of the integrated circuit device. FIG. 4 is a sequence diagram illustrating an example of using checkpoints to synchronize execution engines in a global checkpoint register implementation in accordance with various aspects of the present disclosure. As illustrated in FIG. 4, a first execution engine (e.g., a direct memory access (DMA) engine) 410, a second execution engine (e.g., a processing engine (PE)) 420, a third execution engine (e.g., an activation engine (ACT) engine) 430, and a fourth execution engine (e.g., a pooling (POOL) engine) 440, each capable of independently executing instructions. The first execution engine 410 may execute an instruction, for example, copying weights to a state buffer, and when the instruction is complete, the first execution engine 410 may execute an instruction to set a value (i.e., a checkpoint) in a global checkpoint register. For example, the first execution engine 410 may execute an instruction (i.e., Set 1 to Ckpt2) 411 to set a value of “1” in the global checkpoint register Ckpt2. The global checkpoint register Ckpt2 may broadcast 412 its value to all of the execution engines.

權(quán)利要求

1
微信群二維碼
意見(jiàn)反饋