Octopus
batch_ops.F90 File Reference

Go to the source code of this file.

Modules

module  batch_ops_oct_m
 This module implements common operations on batches of mesh functions.
 

Data Types

interface  batch_ops_oct_m::batch_axpy
 batchified version of the BLAS axpy routine: \( y = a*x + y \) More...
 
interface  batch_ops_oct_m::batch_scal
 scale a batch by a constant or vector \( y = a*x \) More...
 
interface  batch_ops_oct_m::batch_xpay
 batchified version of \( y = x + a*y \) More...
 
interface  batch_ops_oct_m::batch_add_with_map
 
interface  batch_ops_oct_m::batch_copy_with_map
 
interface  batch_ops_oct_m::batch_set_state
 There are several ways how to call batch_set_state and batch_get_state: More...
 
interface  batch_ops_oct_m::batch_get_state
 
interface  batch_ops_oct_m::batch_get_points
 
interface  batch_ops_oct_m::batch_set_points
 
interface  batch_ops_oct_m::batch_mul
 

Functions/Subroutines

subroutine, public batch_ops_oct_m::batch_set_zero (this, np, async)
 fill all mesh functions of the batch with zero More...
 
subroutine batch_ops_oct_m::batch_get_points_accel (this, sp, ep, psi, ldpsi1, ldpsi2)
 GPU version of batch_get_points. More...
 
subroutine batch_ops_oct_m::batch_set_points_accel (this, sp, ep, psi, ldpsi1, ldpsi2)
 GPU version of batch_set_points. More...
 
integer pure function, public batch_ops_oct_m::batch_points_block_size ()
 determine the device block size More...
 
subroutine batch_ops_oct_m::batch_add_with_map_cpu (np, map, xx, yy, zz)
 
subroutine batch_ops_oct_m::batch_add_with_map_accel (np, map, xx, yy, zz)
 
subroutine batch_ops_oct_m::batch_copy_with_map_cpu (np, map, xx, yy)
 
subroutine batch_ops_oct_m::batch_copy_with_map_accel (np, map, xx, yy)
 
subroutine, public batch_ops_oct_m::batch_split_complex (np, xx, yy, zz)
 extract the real and imaginary parts of a complex batch More...
 
subroutine batch_ops_oct_m::dbatch_axpy_const (np, aa, xx, yy)
 This routine applies a 'pair-wise' axpy operation to all functions of the batches xx and yy, where the same constant aa is used for all functions. More...
 
subroutine batch_ops_oct_m::dbatch_axpy_vec (np, aa, xx, yy, a_start, a_full)
 This routine applies an 'pair-wise' axpy operation to all functions of the batches xx and yy, where the constant aa(ist) is used for the mesh functions in the batch. More...
 
subroutine, public batch_ops_oct_m::dbatch_axpy_function (np, aa, xx, psi, nst)
 This routine performs a set of axpy operations for each function x of a batch (xx), and accumulate the result to y (psi in this case), a single function. More...
 
subroutine, public batch_ops_oct_m::dbatch_ax_function_py (np, aa, psi, yy)
 This routine performs a set of axpy operations adding the same function psi to all functions of a batch (yy),. More...
 
subroutine batch_ops_oct_m::dbatch_scal_const (np, aa, xx)
 scale all functions in a batch by constant aa More...
 
subroutine batch_ops_oct_m::dbatch_scal_vec (np, aa, xx, a_start, a_full)
 scale all functions in a batch by state dependent constant More...
 
subroutine batch_ops_oct_m::dbatch_xpay_vec (np, xx, aa, yy, a_start, a_full)
 calculate yy(ist,:) = xx(ist,:) + aa(ist)*yy(ist,:) for a batch More...
 
subroutine batch_ops_oct_m::dbatch_xpay_const (np, xx, aa, yy)
 calculate yy(ist) = xx(ist) + aa*yy(ist) for a batch More...
 
subroutine batch_ops_oct_m::dbatch_set_state1 (this, ist, np, psi)
 Write a single state with np points into a batch at position ist. More...
 
subroutine batch_ops_oct_m::dbatch_set_state2 (this, index, np, psi)
 Write a single state with np points into a batch at position defined by index. More...
 
subroutine batch_ops_oct_m::dbatch_set_state3 (this, ii, np, psi)
 Write a set of state with np points into a batch. More...
 
subroutine batch_ops_oct_m::dbatch_get_state1 (this, ist, np, psi)
 Write a get of state with np points from a batch. More...
 
subroutine batch_ops_oct_m::dbatch_get_state2 (this, index, np, psi)
 
subroutine batch_ops_oct_m::dbatch_get_state3 (this, ii, np, psi)
 
subroutine batch_ops_oct_m::dbatch_get_points (this, sp, ep, psi)
 copy a set of points into a mesh function More...
 
subroutine batch_ops_oct_m::dbatch_set_points (this, sp, ep, psi)
 copy a set of points into a mesh function More...
 
subroutine batch_ops_oct_m::dbatch_mul (np, ff, xx, yy)
 multiply all functions in a batch pointwise by a given mesh function ff More...
 
subroutine batch_ops_oct_m::dbatch_add_with_map (np, map, xx, yy, zz)
 
subroutine batch_ops_oct_m::dbatch_copy_with_map (np, map, xx, yy)
 
subroutine batch_ops_oct_m::zbatch_axpy_const (np, aa, xx, yy)
 This routine applies a 'pair-wise' axpy operation to all functions of the batches xx and yy, where the same constant aa is used for all functions. More...
 
subroutine batch_ops_oct_m::zbatch_axpy_vec (np, aa, xx, yy, a_start, a_full)
 This routine applies an 'pair-wise' axpy operation to all functions of the batches xx and yy, where the constant aa(ist) is used for the mesh functions in the batch. More...
 
subroutine, public batch_ops_oct_m::zbatch_axpy_function (np, aa, xx, psi, nst)
 This routine performs a set of axpy operations for each function x of a batch (xx), and accumulate the result to y (psi in this case), a single function. More...
 
subroutine, public batch_ops_oct_m::zbatch_ax_function_py (np, aa, psi, yy)
 This routine performs a set of axpy operations adding the same function psi to all functions of a batch (yy),. More...
 
subroutine batch_ops_oct_m::zbatch_scal_const (np, aa, xx)
 scale all functions in a batch by constant aa More...
 
subroutine batch_ops_oct_m::zbatch_scal_vec (np, aa, xx, a_start, a_full)
 scale all functions in a batch by state dependent constant More...
 
subroutine batch_ops_oct_m::zbatch_xpay_vec (np, xx, aa, yy, a_start, a_full)
 calculate yy(ist,:) = xx(ist,:) + aa(ist)*yy(ist,:) for a batch More...
 
subroutine batch_ops_oct_m::zbatch_xpay_const (np, xx, aa, yy)
 calculate yy(ist) = xx(ist) + aa*yy(ist) for a batch More...
 
subroutine batch_ops_oct_m::zbatch_set_state1 (this, ist, np, psi)
 Write a single state with np points into a batch at position ist. More...
 
subroutine batch_ops_oct_m::zbatch_set_state2 (this, index, np, psi)
 Write a single state with np points into a batch at position defined by index. More...
 
subroutine batch_ops_oct_m::zbatch_set_state3 (this, ii, np, psi)
 Write a set of state with np points into a batch. More...
 
subroutine batch_ops_oct_m::zbatch_get_state1 (this, ist, np, psi)
 Write a get of state with np points from a batch. More...
 
subroutine batch_ops_oct_m::zbatch_get_state2 (this, index, np, psi)
 
subroutine batch_ops_oct_m::zbatch_get_state3 (this, ii, np, psi)
 
subroutine batch_ops_oct_m::zbatch_get_points (this, sp, ep, psi)
 copy a set of points into a mesh function More...
 
subroutine batch_ops_oct_m::zbatch_set_points (this, sp, ep, psi)
 copy a set of points into a mesh function More...
 
subroutine batch_ops_oct_m::zbatch_mul (np, ff, xx, yy)
 multiply all functions in a batch pointwise by a given mesh function ff More...
 
subroutine batch_ops_oct_m::zbatch_add_with_map (np, map, xx, yy, zz)
 
subroutine batch_ops_oct_m::zbatch_copy_with_map (np, map, xx, yy)