petsc4py.PETSc.DeviceContext#

class petsc4py.PETSc.DeviceContext#

Bases: Object

DeviceContext object.

Represents an abstract handle to a device context.

Enumerations

DeviceJoinMode

The type of join to perform.

StreamType

The type of stream.

Methods Summary

create()

Create an empty DeviceContext.

duplicate()

Duplicate a the device context.

fork(n[, stream_type])

Create multiple device contexts which are all logically dependent on this one.

getCurrent()

Return the current device context.

getDevice()

Get the Device which this instance is attached to.

getStreamType()

Return the StreamType.

idle()

Return whether the underlying stream for the device context is idle.

join(join_mode, py_sub_ctxs)

Join a set of device contexts on this one.

setCurrent(dctx)

Set the current device context.

setDevice(device)

Set the Device which this DeviceContext is attached to.

setFromOptions([comm])

Configure the DeviceContext from the options database.

setStreamType(stream_type)

Set the StreamType.

setUp()

Set up the internal data structures for using the device context.

synchronize()

Synchronize a device context.

waitFor(other)

Make this instance wait for other.

Attributes Summary

current

The current global device context.

device

The device associated to the device context.

stream_type

The stream type.

Methods Documentation

classmethod create()#

Create an empty DeviceContext.

Not collective.

Source code at petsc4py/PETSc/Device.pyx:240

Return type:

DeviceContext

duplicate()#

Duplicate a the device context.

Not collective.

Source code at petsc4py/PETSc/Device.pyx:337

Return type:

DeviceContext

fork(n, stream_type=None)#

Create multiple device contexts which are all logically dependent on this one.

Not collective.

Parameters:
  • n (int) – The number of device contexts to create.

  • stream_type (StreamType | str | None) – The type of stream of the forked device context.

Return type:

list[DeviceContext]

Source code at petsc4py/PETSc/Device.pyx:388

static getCurrent()#

Return the current device context.

Not collective.

Source code at petsc4py/PETSc/Device.pyx:488

Return type:

DeviceContext

getDevice()#

Get the Device which this instance is attached to.

Not collective.

Source code at petsc4py/PETSc/Device.pyx:290

Return type:

Device

getStreamType()#

Return the StreamType.

Not collective.

Source code at petsc4py/PETSc/Device.pyx:256

Return type:

str

idle()#

Return whether the underlying stream for the device context is idle.

Not collective.

Source code at petsc4py/PETSc/Device.pyx:352

Return type:

bool

join(join_mode, py_sub_ctxs)#

Join a set of device contexts on this one.

Not collective.

Parameters:
Return type:

None

Source code at petsc4py/PETSc/Device.pyx:418

static setCurrent(dctx)#

Set the current device context.

Not collective.

Parameters:

dctx (DeviceContext | None) – The DeviceContext to set as current (or None to use the default context).

Return type:

None

Source code at petsc4py/PETSc/Device.pyx:504

setDevice(device)#

Set the Device which this DeviceContext is attached to.

Collective.

Parameters:

device (Device) – The Device to which this instance is attached to.

Return type:

None

Source code at petsc4py/PETSc/Device.pyx:305

setFromOptions(comm=None)#

Configure the DeviceContext from the options database.

Collective.

Parameters:

comm (Comm | None) – MPI communicator, defaults to Sys.getDefaultComm.

Return type:

None

Source code at petsc4py/PETSc/Device.pyx:469

setStreamType(stream_type)#

Set the StreamType.

Not collective.

Parameters:

stream_type (StreamType | str) – The type of stream to set

Return type:

None

Source code at petsc4py/PETSc/Device.pyx:271

setUp()#

Set up the internal data structures for using the device context.

Not collective.

Source code at petsc4py/PETSc/Device.pyx:325

Return type:

None

synchronize()#

Synchronize a device context.

Not collective.

Notes

The underlying stream is considered idle after this routine returns, i.e. idle will return True.

Source code at petsc4py/PETSc/Device.pyx:452

Return type:

None

waitFor(other)#

Make this instance wait for other.

Not collective.

Parameters:

other (DeviceContext | None) – The other DeviceContext to wait for

Return type:

None

Source code at petsc4py/PETSc/Device.pyx:367

Attributes Documentation

current#

The current global device context.

Source code at petsc4py/PETSc/Device.pyx:541

device#

The device associated to the device context.

Source code at petsc4py/PETSc/Device.pyx:534

stream_type#

The stream type.

Source code at petsc4py/PETSc/Device.pyx:527