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:239

Return type:

DeviceContext

duplicate()#

Duplicate a the device context.

Not collective.

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

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:387

static getCurrent()#

Return the current device context.

Not collective.

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

Return type:

DeviceContext

getDevice()#

Get the Device which this instance is attached to.

Not collective.

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

Return type:

Device

getStreamType()#

Return the StreamType.

Not collective.

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

Return type:

str

idle()#

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

Not collective.

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

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:417

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:503

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:304

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:468

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:270

setUp()#

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

Not collective.

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

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:451

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:366

Attributes Documentation

current#

The current global device context.

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

device#

The device associated to the device context.

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

stream_type#

The stream type.

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