Octopus
batch.F90 File Reference

Go to the source code of this file.

Modules

module  batch_oct_m
 This module implements batches of mesh functions.
 

Data Types

type  batch_oct_m::batch_t
 Class defining batches of mesh functions. More...
 
interface  batch_oct_m::batch_init
 initialize a batch with existing memory More...
 

Functions/Subroutines

subroutine batch_oct_m::batch_end (this, copy)
 finalize a batch and release allocated memory, if necessary More...
 
subroutine batch_oct_m::batch_deallocate_unpacked_host (this)
 release unpacked host memory More...
 
subroutine batch_oct_m::batch_deallocate_packed_host (this)
 release packed host memory More...
 
subroutine batch_oct_m::batch_deallocate_packed_device (this)
 release packed device memory More...
 
subroutine batch_oct_m::batch_allocate_unpacked_host (this)
 allocate host (CPU) memory for unpacked data More...
 
subroutine batch_oct_m::batch_allocate_packed_host (this)
 allocate host (CPU) memory for packed data More...
 
subroutine batch_oct_m::batch_allocate_packed_device (this)
 allocate device (GPU) memory for packed data More...
 
subroutine batch_oct_m::batch_init_empty (this, dim, nst, np)
 initialize an empty batch More...
 
subroutine batch_oct_m::batch_clone_to (this, dest, pack, copy_data, new_np)
 clone a batch to a new batch More...
 
subroutine batch_oct_m::batch_clone_to_array (this, dest, n_batches, pack, copy_data)
 
subroutine batch_oct_m::batch_copy_to (this, dest, pack, copy_data, new_np, special)
 make a copy of a batch More...
 
type(type_t) pure function batch_oct_m::batch_type (this)
 return the type of a batch More...
 
integer pure function batch_oct_m::batch_type_as_integer (this)
 For debuging purpose only. More...
 
integer pure function batch_oct_m::batch_status (this)
 return the status of a batch More...
 
logical pure function batch_oct_m::batch_is_packed (this)
 
integer(int64) function batch_oct_m::batch_pack_total_size (this)
 
subroutine batch_oct_m::batch_do_pack (this, copy, async)
 pack the data in a batch More...
 
subroutine batch_oct_m::batch_do_unpack (this, copy, force, async)
 unpack a batch More...
 
subroutine batch_oct_m::batch_finish_unpack (this)
 finish the unpacking if do_unpack() was called with async=.true. More...
 
subroutine batch_oct_m::batch_write_unpacked_to_device (this)
 
subroutine batch_oct_m::batch_read_device_to_unpacked (this)
 
subroutine batch_oct_m::batch_write_packed_to_device (this, async)
 
subroutine, public batch_oct_m::batch_read_device_to_packed (this, async)
 
integer function batch_oct_m::batch_inv_index (this, cind)
 inverse index lookup More...
 
integer pure function batch_oct_m::batch_ist_idim_to_linear (this, cind)
 direct index lookup More...
 
integer pure function batch_oct_m::batch_linear_to_ist (this, linear_index)
 get state index ist from linear (combined dim and nst) index More...
 
integer pure function batch_oct_m::batch_linear_to_idim (this, linear_index)
 extract idim from linear index More...
 
subroutine batch_oct_m::batch_remote_access_start (this, mpi_grp, rma_win)
 start remote access to a batch on another node More...
 
subroutine batch_oct_m::batch_remote_access_stop (this, rma_win)
 stop the remote access to the batch More...
 
subroutine batch_oct_m::batch_copy_data_to (this, np, dest, async)
 copy data to another batch. More...
 
subroutine batch_oct_m::batch_check_compatibility_with (this, target, only_check_dim)
 check whether two batches have compatible dimensions (and type) More...
 
subroutine batch_oct_m::batch_build_indices (this, st_start, st_end)
 build the index ist(:) and ist_idim_index(:,:) and set pack_size More...
 
subroutine batch_oct_m::dbatch_init_with_memory_3 (this, dim, st_start, st_end, psi)
 initialize a batch with an rank-3 array of TYPE_FLOAT valued mesh functions psi. More...
 
subroutine batch_oct_m::dbatch_init_with_memory_2 (this, dim, st_start, st_end, psi)
 initialize a batch with an rank-2 array of TYPE_FLOAT valued mesh functions psi. More...
 
subroutine batch_oct_m::dbatch_init_with_memory_1 (this, psi)
 initialize a batch with an rank-1 array of TYPE_FLOAT valued mesh functions psi. More...
 
subroutine batch_oct_m::dbatch_allocate_unpacked_host (this)
 allocate host (CPU) memory for unpacked data of type TYPE_FLOAT More...
 
subroutine batch_oct_m::dbatch_allocate_packed_host (this)
 allocate host (CPU) memory for packed data of type TYPE_FLOAT More...
 
subroutine, public batch_oct_m::dbatch_init (this, dim, st_start, st_end, np, special, packed)
 initialize a TYPE_FLOAT valued batch to given size without providing external memory More...
 
subroutine batch_oct_m::dbatch_pack_copy (this)
 copy data from the unpacked to the packed arrays More...
 
subroutine batch_oct_m::dbatch_unpack_copy (this)
 copy data from the packed to the unpacked arrays More...
 
subroutine batch_oct_m::zbatch_init_with_memory_3 (this, dim, st_start, st_end, psi)
 initialize a batch with an rank-3 array of TYPE_CMPLX valued mesh functions psi. More...
 
subroutine batch_oct_m::zbatch_init_with_memory_2 (this, dim, st_start, st_end, psi)
 initialize a batch with an rank-2 array of TYPE_CMPLX valued mesh functions psi. More...
 
subroutine batch_oct_m::zbatch_init_with_memory_1 (this, psi)
 initialize a batch with an rank-1 array of TYPE_CMPLX valued mesh functions psi. More...
 
subroutine batch_oct_m::zbatch_allocate_unpacked_host (this)
 allocate host (CPU) memory for unpacked data of type TYPE_CMPLX More...
 
subroutine batch_oct_m::zbatch_allocate_packed_host (this)
 allocate host (CPU) memory for packed data of type TYPE_CMPLX More...
 
subroutine, public batch_oct_m::zbatch_init (this, dim, st_start, st_end, np, special, packed)
 initialize a TYPE_CMPLX valued batch to given size without providing external memory More...
 
subroutine batch_oct_m::zbatch_pack_copy (this)
 copy data from the unpacked to the packed arrays More...
 
subroutine batch_oct_m::zbatch_unpack_copy (this)
 copy data from the packed to the unpacked arrays More...
 

Variables

integer, parameter, public batch_oct_m::batch_not_packed = 0
 functions are stored in CPU memory, unpacked order More...
 
integer, parameter, public batch_oct_m::batch_packed = 1
 functions are stored in CPU memory, in transposed (packed) order More...
 
integer, parameter, public batch_oct_m::batch_device_packed = 2
 functions are stored in device memory in packed order More...
 
integer, parameter batch_oct_m::cl_pack_max_buffer_size = 4
 this value controls the size (in number of wave-functions) of the buffer used to copy states to the opencl device. More...