Package hedge :: Package backends :: Package cuda :: Class Discretization
[hide private]
[frames] | no frames]

Class Discretization

source code


Nested Classes [hide private]
  PartitionData
  _BoundaryToGPUFuture
  _BoundarizeGPUToNumpyFuture
Instance Methods [hide private]
 
_get_partition_data(self, max_block_size) source code
 
__init__(self, mesh, local_discretization=None, order=None, init_cuda=True, debug=set(), device=None, default_scalar_type=numpy.float32, tune_for=None, run_context=None, mpi_cuda_dev_filter=lambda dev: True)
x.__init__(...) initializes x; see x.__class__.__doc__ for signature
source code
 
close(self) source code
 
_build_blocks(self) source code
 
_build_face_storage_map(self) source code
 
_get_stream(self) source code
 
_release_stream(self, s) source code
 
add_instrumentation(self, mgr) source code
 
create_op_timers(self) source code
 
find_el_gpu_index(self, el) source code
 
find_number_in_block(self, el) source code
 
gpu_dof_count(self) source code
 
_gpu_volume_embedding(self) source code
 
_meaningful_volume_indices(self) source code
 
_volume_to_gpu(self, field) source code
 
_volume_from_gpu(self, field) source code
 
_gpu_boundary_embedding(self, tag)
Return an array of indices embedding a CPU boundary field for tag into the GPU boundary field.
source code
 
_gpu_boundary_embedding_on_gpu(self, tag) source code
 
_boundary_from_gpu(self, field, tag) source code
 
convert_volume(self, field, kind) source code
 
convert_boundary(self, field, tag, kind) source code
 
convert_boundary_async(self, field, tag, kind, read_map=None) source code
 
_empty_gpuarray(self, shape, dtype) source code
 
_zeros_gpuarray(self, shape, dtype) source code
 
_new_vec(self, shape, create_func, dtype, base_size) source code
 
get_kind(self, field) source code
 
volume_empty(self, shape=(), dtype=None, kind="gpu") source code
 
volume_zeros(self, shape=(), dtype=None, kind="gpu") source code
 
boundary_empty(self, tag, shape=(), dtype=None, kind="gpu") source code
 
boundary_zeros(self, tag, shape=(), dtype=None, kind="gpu") source code
 
volumize_boundary_field(self, bfield, tag) source code
 
_boundarize_info(self, tag) source code
 
_gpu_boundarize_info(self, tag) source code
 
_numpy_boundarize_info(self, tag) source code
 
boundarize_volume_field(self, field, tag, kind=None) source code
 
boundarize_volume_field_async(self, field, tag, kind=None) source code
 
prepare_from_neighbor_map(self, indices) source code
 
element_local_kernel(self) source code
 
nodewise_dot_product(self, a, b) source code
 
elgroup_microblock_indices(self, elgroup)
For a given hedge.discretization._ElementGroup instance elgroup, return an index array (of dtype numpy.intp) that, indexed by the block-microblock element number, gives the element number within elgroup.
source code

Inherited from discretization.Discretization: __len__, add_function, boundary_nonempty, boundary_normals, compile, convert_dtype, dt_factor, dt_geometric_factor, dt_non_geometric_factor, find_el_data, find_el_discretization, find_el_range, find_element, get_boundary, get_point_evaluator, inner_product, integral, interpolate_boundary_function, interpolate_volume_function, len_boundary, mesh_volume, norm

Inherited from object: __delattr__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __str__

Class Methods [hide private]
 
all_debug_flags(cls) source code

Inherited from discretization.Discretization: noninteractive_debug_flags

Static Methods [hide private]

Inherited from discretization.Discretization: get_local_discretization

Class Variables [hide private]
  compute_kind = "gpu"
Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

all_debug_flags(cls)
Class Method

source code 
Overrides: discretization.Discretization.all_debug_flags

__init__(self, mesh, local_discretization=None, order=None, init_cuda=True, debug=set(), device=None, default_scalar_type=numpy.float32, tune_for=None, run_context=None, mpi_cuda_dev_filter=lambda dev: True)
(Constructor)

source code 

x.__init__(...) initializes x; see x.__class__.__doc__ for signature

Parameters:
  • tune_for - An optemplate for whose application this discretization's flux plan will be tuned.
Overrides: object.__init__

close(self)

source code 
Overrides: discretization.Discretization.close

add_instrumentation(self, mgr)

source code 
Overrides: discretization.Discretization.add_instrumentation

create_op_timers(self)

source code 
Overrides: discretization.Discretization.create_op_timers

gpu_dof_count(self)

source code 
Decorators:
  • @memoize_method

_gpu_volume_embedding(self)

source code 
Decorators:
  • @memoize_method

_meaningful_volume_indices(self)

source code 
Decorators:
  • @memoize_method

_gpu_boundary_embedding(self, tag)

source code 

Return an array of indices embedding a CPU boundary field for tag into the GPU boundary field.

Decorators:
  • @memoize_method

_gpu_boundary_embedding_on_gpu(self, tag)

source code 
Decorators:
  • @memoize_method

convert_volume(self, field, kind)

source code 
Overrides: discretization.Discretization.convert_volume

convert_boundary(self, field, tag, kind)

source code 
Overrides: discretization.Discretization.convert_boundary

convert_boundary_async(self, field, tag, kind, read_map=None)

source code 
Overrides: discretization.Discretization.convert_boundary_async

get_kind(self, field)

source code 
Overrides: discretization.Discretization.get_kind

volume_empty(self, shape=(), dtype=None, kind="gpu")

source code 
Overrides: discretization.Discretization.volume_empty

volume_zeros(self, shape=(), dtype=None, kind="gpu")

source code 
Overrides: discretization.Discretization.volume_zeros

boundary_empty(self, tag, shape=(), dtype=None, kind="gpu")

source code 
Overrides: discretization.Discretization.boundary_empty

boundary_zeros(self, tag, shape=(), dtype=None, kind="gpu")

source code 
Overrides: discretization.Discretization.boundary_zeros

volumize_boundary_field(self, bfield, tag)

source code 
Overrides: discretization.Discretization.volumize_boundary_field

_boundarize_info(self, tag)

source code 
Decorators:
  • @memoize_method

_gpu_boundarize_info(self, tag)

source code 
Decorators:
  • @memoize_method

_numpy_boundarize_info(self, tag)

source code 
Decorators:
  • @memoize_method

boundarize_volume_field(self, field, tag, kind=None)

source code 
Overrides: discretization.Discretization.boundarize_volume_field

boundarize_volume_field_async(self, field, tag, kind=None)

source code 
Overrides: discretization.Discretization.boundarize_volume_field_async

prepare_from_neighbor_map(self, indices)

source code 
Overrides: discretization.Discretization.prepare_from_neighbor_map

element_local_kernel(self)

source code 
Decorators:
  • @memoize_method

nodewise_dot_product(self, a, b)

source code 
Overrides: discretization.Discretization.nodewise_dot_product

elgroup_microblock_indices(self, elgroup)

source code 

For a given hedge.discretization._ElementGroup instance elgroup, return an index array (of dtype numpy.intp) that, indexed by the block-microblock element number, gives the element number within elgroup.

Decorators:
  • @memoize_method