For the complete documentation index, see llms.txt. Markdown versions of all pages are available by appending .md to any URL (e.g. /max/get-started.md).
Python class
Signals
Signals
class max.nn.Signals(devices)
Bases: object
Signal buffers used for peer-to-peer communication in allreduce.
Device code uses these buffers by enabling peer-to-peer access. Then thread blocks use the buffers to implement barriers for synchronization, and to hold intermediate communication results.
Args: num_gpus: Number of GPUs involved in the allreduce.
NUM_BYTES
NUM_BYTES = 294387728
The size of the signal buffers used for communication in allreduce.
allocate()
static allocate(devices)
Allocates one fully initialized signal buffer per device.
This is the single chokepoint for signal-buffer allocation: it enables
peer-to-peer access, zeroes the buffers (the correct init for the
barrier counters and lamport_state), sentinel-initializes the
Lamport comm region, and synchronizes so the buffers are ready for use
when this method returns.
buffers()
buffers()
Allocates and returns buffers used for communication in allreduce.
Thin adapter over allocate() that maps this instance’s graph
DeviceRefs to the driver accelerators the allocator needs.
devices
List of graph devices that these signals communicate between.
input_types()
input_types()
Gets graph input types corresponding to these signal buffers.
-
Return type:
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!