def channel(obj): """ Return the parallel region global channel number `obj` is executing in. The channel number is in the range of 0 to ``max_channel(obj)``. When the parallel region is not nested this is the same value as ``local_channel(obj)``. If the parallel region is nested the value will be between zero and ``(width*N - 1)`` where N is the number of times the parallel region has been replicated due to nesting. Args: obj: Instance of a class executing within Streams. Returns: int: Parallel region global channel number or -1 if not located in a parallel region. """ return _ec.channel(_get_opc(obj))