5.11. Graphcore Communication Library (GCL)
3.1.0
New features
None
Bug Fixes
Ensured that ReduceScatter always chooses the same collective method as AllGather that follows it and consumes its output.
Fixed the AllReduce performance glitch for 1 IPU per replica models with 90-100MB tensors.
Other improvements
Simplified public API for collectives.
Improved GCL documentation.
Optimized AllToAll collective on SlidingWindow-routed fabrics.
Allowed specifying chains of collective methods.
Prevent AllReduce outputs from being flagged as always-live.
Known issues
None
Compatibility changes
Removed support for syncless collectives. Use the default (syncful) collectives implementation instead. The option to select a collective implementation has been deprecated.
3.0.0
New features
The GCL option
syncful.useForwardingToSupportStridedGroups=auto
is now exposed externally.By doing through-routing over intermediate replicas, sliding window reachability is extended for certain configurations. For a replica size equal to 1, this option avoids deadlocks.
Bug Fixes
The broadcast method is no longer selected when the stride is greater than 1.
Three-phase collective operations are now scheduled properly for consecutive communication groups that span multiple ILDs.
Other improvements
The GCL documentation has been updated and split out into a separate document: GCL User Guide and API Reference. More detail on collective operations and logical topologies has been added.
Added getters to the public API.
Known issues
None
Compatibility changes
Removed the
useSynclessCollectives
option from the public API. The option was deprecated in SDK 2.6 and has now been removed.Renamed
libgcl_ct.so
tolibgcl.so
. The GCL shared library was renamed which means that programs directly linking with GCL need to pass the-lgcl
flag to the linker instead of-lgcl_ct
.