cuda.bindings._v2.driver.logical_endpoint_create#

cuda.bindings._v2.driver.logical_endpoint_create(uint32_t le_id, prop)#

Creates a logical endpoint with the requested properties and associates it with the logical endpoint id.

This creates a logical endpoint as described by prop. The number of participating devices is determined by the CUlogicalEndpointProp.type. If the type is CU_LOGICAL_ENDPOINT_TYPE_UNICAST then CUlogicalEndpointProp.unicast.device specifies the owner device of the unicast logical endpoint. If the type is CU_LOGICAL_ENDPOINT_TYPE_MULTICAST then CUlogicalEndpointProp.multicast.numDevices specifies the number of devices in the multicast logical endpoint team. Devices can be added to a multicast logical endpoint via cuLogicalEndpointAddDevice. After all the participating devices have been added, a call to cuLogicalEndpointQuery must be made to ensure that the logical endpoint is ready for memory binding and access. A unicast logical endpoint does not have a notion of adding devices via cuLogicalEndpointAddDevice. However, a call to cuLogicalEndpointQuery must still be made to ensure that the logical endpoint is ready for memory binding and access. Memory is bound to the logical endpoint via either cuLogicalEndpointBindAddr or cuLogicalEndpointBindMem, and can be unbound via cuLogicalEndpointUnbind. The total amount of memory that can be bound per device is specified by CUlogicalEndpointProp.size. This size must be a multiple of the value for bindAlignment as returned by cuLogicalEndpointGetLimits. The maximum size for the logical endpoint cannot exceed the value for maxSize as returned by cuLogicalEndpointGetLimits. The bind alignment and maximum size depend on the properties of the logical endpoint.

Parameters:
  • le_id (uint32_t) – Logical endpoint id that will be associated with the newly created logical endpoint.

  • prop (intptr_t) – Properties of the logical endpoint to create.

See also

cuLogicalEndpointCreate