Octopus
accel_oct_m::accel_ensure_buffer_size Interface Reference

Detailed Description

Definition at line 297 of file accel.F90.

Private Member Functions

subroutine accel_ensure_buffer_size_4 (buffer, flags, type, required_size, set_zero, async)
 
subroutine accel_ensure_buffer_size_8 (buffer, flags, type, required_size, set_zero, async)
 Grow a buffer to at least required_size elements, reusing it if it is already big enough. More...
 

Member Function/Subroutine Documentation

◆ accel_ensure_buffer_size_4()

subroutine accel_oct_m::accel_ensure_buffer_size::accel_ensure_buffer_size_4 ( type(accel_mem_t), intent(inout)  buffer,
integer, intent(in)  flags,
type(type_t), intent(in)  type,
integer, intent(in)  required_size,
logical, intent(in)  set_zero,
logical, intent(in), optional  async 
)
private

Definition at line 1075 of file accel.F90.

◆ accel_ensure_buffer_size_8()

subroutine accel_oct_m::accel_ensure_buffer_size::accel_ensure_buffer_size_8 ( type(accel_mem_t), intent(inout)  buffer,
integer, intent(in)  flags,
type(type_t), intent(in)  type,
integer(int64), intent(in)  required_size,
logical, intent(in)  set_zero,
logical, intent(in), optional  async 
)
private

Grow a buffer to at least required_size elements, reusing it if it is already big enough.

The size is int64 because a buffer packed over every projector matrix – total_points x nst_linear for the bra scratch – passes 2^31 elements for a large supercell, while a per-matrix buffer never came close.

Definition at line 1094 of file accel.F90.


The documentation for this interface was generated from the following file: