jax.experimental.pallas.mosaic_gpu.semaphore_signal_parallel#
- jax.experimental.pallas.mosaic_gpu.semaphore_signal_parallel(*signals)[源码]#
对多个信号量发出信号,不保证信号到达的顺序。
此原语在很大程度上等同于
for sem in semaphores: pl.semaphore_signal(sem, inc, device_id=device_id)
但与上面的循环不同,它不保证信号到达的任何顺序。特别是,目标设备可能在观察到
semaphores[0]
上的信号之前就观察到semaphores[1]
上的信号。此操作仍然保证在信号到达之前,在信号之前执行的任何副作用都将完全执行并可见。放宽的要求使得在 GPU 上进行整个操作的成本大大降低,因为可以为所有信号使用一个昂贵的内存围栏(而不是为每个信号使用一个昂贵的围栏)。
- 参数:
signals (SemaphoreSignal)