Octopus
accel_oct_m Module Reference

Data Types

type  accel_context_t
 
interface  accel_create_blas_alpha_beta_buffer
 
interface  accel_create_buffer
 
type  accel_device_t
 
interface  accel_get_device_pointer
 
interface  accel_kernel_run
 
type  accel_kernel_t
 
type  accel_mem_t
 
interface  accel_padded_size
 
interface  accel_read_buffer
 
interface  accel_release_blas_alpha_beta_buffer
 
interface  accel_set_buffer_to_zero
 
interface  accel_set_kernel_arg
 
type  accel_t
 
interface  accel_write_buffer
 

Functions/Subroutines

pure logical function, public accel_is_enabled ()
 
pure logical function, public accel_allow_cpu_only ()
 
subroutine, public accel_init (base_grp, namespace)
 
integer function get_platform_id (platform_name)
 
subroutine, public accel_end (namespace)
 
integer(int64) function accel_padded_size_i8 (nn)
 
integer(int32) function accel_padded_size_i4 (nn)
 
subroutine accel_create_buffer_4 (this, flags, type, size, set_zero, async)
 
subroutine accel_create_buffer_8 (this, flags, type, size, set_zero, async)
 
subroutine, public accel_release_buffer (this, async)
 
subroutine, public accel_ensure_buffer_size (buffer, flags, type, required_size, set_zero, async)
 
logical pure function, public accel_buffer_is_allocated (this)
 
subroutine, public accel_finish ()
 
subroutine accel_set_kernel_arg_buffer (kernel, narg, buffer)
 
subroutine accel_set_kernel_arg_local (kernel, narg, type, size)
 
subroutine accel_kernel_run_8 (kernel, globalsizes, localsizes)
 
subroutine accel_kernel_run_4 (kernel, globalsizes, localsizes)
 
integer pure function, public accel_max_workgroup_size ()
 
integer function, public accel_kernel_workgroup_size (kernel)
 
subroutine opencl_build_program (prog, filename, flags)
 
subroutine opencl_release_program (prog)
 
subroutine opencl_release_kernel (prog)
 
subroutine opencl_create_kernel (kernel, prog, name)
 
subroutine opencl_print_error (ierr, name)
 
subroutine, public clblas_print_error (ierr, name)
 
subroutine, public clfft_print_error (ierr, name)
 
logical function f90_cl_device_has_extension (device, extension)
 
subroutine accel_set_buffer_to_zero_i8 (buffer, type, nval, offset, async)
 
subroutine accel_set_buffer_to_zero_i4 (buffer, type, nval, offset, async)
 
subroutine opencl_check_bandwidth ()
 
logical pure function, public accel_use_shared_mem ()
 
subroutine accel_kernel_global_init ()
 
subroutine accel_kernel_global_end ()
 
subroutine, public accel_kernel_build (this, file_name, kernel_name, flags)
 
subroutine accel_kernel_end (this)
 
subroutine, public accel_kernel_start_call (this, file_name, kernel_name, flags)
 
integer(int64) pure function, public accel_global_memory_size ()
 
integer(int64) pure function, public accel_local_memory_size ()
 
integer pure function, public accel_max_size_per_dim (dim)
 
subroutine, public accel_set_stream (stream_number)
 
subroutine, public accel_get_stream (stream_number)
 
subroutine, public accel_synchronize_all_streams ()
 
type(c_ptr) function, public daccel_get_pointer_with_offset (buffer, offset)
 
type(c_ptr) function, public zaccel_get_pointer_with_offset (buffer, offset)
 
subroutine, public accel_clean_pointer (buffer)
 
subroutine, public accel_get_unfolded_size (size, grid_size, thread_block_size)
 Get unfolded size: some kernels (e.g. projectors) unfold the array across warps as an optimization. This is, however, only benefitial on Nvidia GPUs. More...
 
subroutine daccel_write_buffer_single (this, data, async)
 
subroutine daccel_write_buffer_0 (this, size, data, offset, async)
 
subroutine daccel_write_buffer_1 (this, size, data, offset, async)
 
subroutine daccel_write_buffer_2 (this, size, data, offset, async)
 
subroutine daccel_write_buffer_3 (this, size, data, offset, async)
 
subroutine daccel_write_buffer_0_int32 (this, size, data, offset, async)
 
subroutine daccel_write_buffer_1_int32 (this, size, data, offset, async)
 
subroutine daccel_write_buffer_2_int32 (this, size, data, offset, async)
 
subroutine daccel_write_buffer_3_int32 (this, size, data, offset, async)
 
subroutine daccel_read_buffer_0 (this, size, data, offset, async)
 
subroutine daccel_read_buffer_1 (this, size, data, offset, async)
 
subroutine daccel_read_buffer_2 (this, size, data, offset, async)
 
subroutine daccel_read_buffer_3 (this, size, data, offset, async)
 
subroutine daccel_read_buffer_0_int32 (this, size, data, offset, async)
 
subroutine daccel_read_buffer_1_int32 (this, size, data, offset, async)
 
subroutine daccel_read_buffer_2_int32 (this, size, data, offset, async)
 
subroutine daccel_read_buffer_3_int32 (this, size, data, offset, async)
 
subroutine daccel_set_kernel_arg_data (kernel, narg, data)
 
subroutine daccel_get_device_pointer_1 (host_pointer, device_pointer, dimensions)
 
subroutine daccel_get_device_pointer_2 (host_pointer, device_pointer, dimensions)
 
subroutine daccel_get_device_pointer_3 (host_pointer, device_pointer, dimensions)
 
subroutine daccel_get_device_pointer_1l (host_pointer, device_pointer, dimensions)
 
subroutine daccel_get_device_pointer_2l (host_pointer, device_pointer, dimensions)
 
subroutine daccel_get_device_pointer_3l (host_pointer, device_pointer, dimensions)
 
subroutine daccel_create_blas_alpha_beta_buffer (this, data, async)
 
subroutine daccel_release_blas_alpha_beta_buffer (this, data, async)
 
subroutine zaccel_write_buffer_single (this, data, async)
 
subroutine zaccel_write_buffer_0 (this, size, data, offset, async)
 
subroutine zaccel_write_buffer_1 (this, size, data, offset, async)
 
subroutine zaccel_write_buffer_2 (this, size, data, offset, async)
 
subroutine zaccel_write_buffer_3 (this, size, data, offset, async)
 
subroutine zaccel_write_buffer_0_int32 (this, size, data, offset, async)
 
subroutine zaccel_write_buffer_1_int32 (this, size, data, offset, async)
 
subroutine zaccel_write_buffer_2_int32 (this, size, data, offset, async)
 
subroutine zaccel_write_buffer_3_int32 (this, size, data, offset, async)
 
subroutine zaccel_read_buffer_0 (this, size, data, offset, async)
 
subroutine zaccel_read_buffer_1 (this, size, data, offset, async)
 
subroutine zaccel_read_buffer_2 (this, size, data, offset, async)
 
subroutine zaccel_read_buffer_3 (this, size, data, offset, async)
 
subroutine zaccel_read_buffer_0_int32 (this, size, data, offset, async)
 
subroutine zaccel_read_buffer_1_int32 (this, size, data, offset, async)
 
subroutine zaccel_read_buffer_2_int32 (this, size, data, offset, async)
 
subroutine zaccel_read_buffer_3_int32 (this, size, data, offset, async)
 
subroutine zaccel_set_kernel_arg_data (kernel, narg, data)
 
subroutine zaccel_get_device_pointer_1 (host_pointer, device_pointer, dimensions)
 
subroutine zaccel_get_device_pointer_2 (host_pointer, device_pointer, dimensions)
 
subroutine zaccel_get_device_pointer_3 (host_pointer, device_pointer, dimensions)
 
subroutine zaccel_get_device_pointer_1l (host_pointer, device_pointer, dimensions)
 
subroutine zaccel_get_device_pointer_2l (host_pointer, device_pointer, dimensions)
 
subroutine zaccel_get_device_pointer_3l (host_pointer, device_pointer, dimensions)
 
subroutine zaccel_create_blas_alpha_beta_buffer (this, data, async)
 
subroutine zaccel_release_blas_alpha_beta_buffer (this, data, async)
 
subroutine iaccel_write_buffer_single (this, data, async)
 
subroutine iaccel_write_buffer_0 (this, size, data, offset, async)
 
subroutine iaccel_write_buffer_1 (this, size, data, offset, async)
 
subroutine iaccel_write_buffer_2 (this, size, data, offset, async)
 
subroutine iaccel_write_buffer_3 (this, size, data, offset, async)
 
subroutine iaccel_write_buffer_0_int32 (this, size, data, offset, async)
 
subroutine iaccel_write_buffer_1_int32 (this, size, data, offset, async)
 
subroutine iaccel_write_buffer_2_int32 (this, size, data, offset, async)
 
subroutine iaccel_write_buffer_3_int32 (this, size, data, offset, async)
 
subroutine iaccel_read_buffer_0 (this, size, data, offset, async)
 
subroutine iaccel_read_buffer_1 (this, size, data, offset, async)
 
subroutine iaccel_read_buffer_2 (this, size, data, offset, async)
 
subroutine iaccel_read_buffer_3 (this, size, data, offset, async)
 
subroutine iaccel_read_buffer_0_int32 (this, size, data, offset, async)
 
subroutine iaccel_read_buffer_1_int32 (this, size, data, offset, async)
 
subroutine iaccel_read_buffer_2_int32 (this, size, data, offset, async)
 
subroutine iaccel_read_buffer_3_int32 (this, size, data, offset, async)
 
subroutine iaccel_set_kernel_arg_data (kernel, narg, data)
 
subroutine iaccel_get_device_pointer_1 (host_pointer, device_pointer, dimensions)
 
subroutine iaccel_get_device_pointer_2 (host_pointer, device_pointer, dimensions)
 
subroutine iaccel_get_device_pointer_3 (host_pointer, device_pointer, dimensions)
 
subroutine iaccel_get_device_pointer_1l (host_pointer, device_pointer, dimensions)
 
subroutine iaccel_get_device_pointer_2l (host_pointer, device_pointer, dimensions)
 
subroutine iaccel_get_device_pointer_3l (host_pointer, device_pointer, dimensions)
 
subroutine iaccel_create_blas_alpha_beta_buffer (this, data, async)
 
subroutine iaccel_release_blas_alpha_beta_buffer (this, data, async)
 
subroutine laccel_write_buffer_single (this, data, async)
 
subroutine laccel_write_buffer_0 (this, size, data, offset, async)
 
subroutine laccel_write_buffer_1 (this, size, data, offset, async)
 
subroutine laccel_write_buffer_2 (this, size, data, offset, async)
 
subroutine laccel_write_buffer_3 (this, size, data, offset, async)
 
subroutine laccel_write_buffer_0_int32 (this, size, data, offset, async)
 
subroutine laccel_write_buffer_1_int32 (this, size, data, offset, async)
 
subroutine laccel_write_buffer_2_int32 (this, size, data, offset, async)
 
subroutine laccel_write_buffer_3_int32 (this, size, data, offset, async)
 
subroutine laccel_read_buffer_0 (this, size, data, offset, async)
 
subroutine laccel_read_buffer_1 (this, size, data, offset, async)
 
subroutine laccel_read_buffer_2 (this, size, data, offset, async)
 
subroutine laccel_read_buffer_3 (this, size, data, offset, async)
 
subroutine laccel_read_buffer_0_int32 (this, size, data, offset, async)
 
subroutine laccel_read_buffer_1_int32 (this, size, data, offset, async)
 
subroutine laccel_read_buffer_2_int32 (this, size, data, offset, async)
 
subroutine laccel_read_buffer_3_int32 (this, size, data, offset, async)
 
subroutine laccel_set_kernel_arg_data (kernel, narg, data)
 
subroutine laccel_get_device_pointer_1 (host_pointer, device_pointer, dimensions)
 
subroutine laccel_get_device_pointer_2 (host_pointer, device_pointer, dimensions)
 
subroutine laccel_get_device_pointer_3 (host_pointer, device_pointer, dimensions)
 
subroutine laccel_get_device_pointer_1l (host_pointer, device_pointer, dimensions)
 
subroutine laccel_get_device_pointer_2l (host_pointer, device_pointer, dimensions)
 
subroutine laccel_get_device_pointer_3l (host_pointer, device_pointer, dimensions)
 
subroutine laccel_create_blas_alpha_beta_buffer (this, data, async)
 
subroutine laccel_release_blas_alpha_beta_buffer (this, data, async)
 

Variables

integer, parameter, public accel_mem_read_only = CL_MEM_READ_ONLY
 
integer, parameter, public accel_mem_read_write = CL_MEM_READ_WRITE
 
integer, parameter, public accel_mem_write_only = CL_MEM_WRITE_ONLY
 
type(accel_t), public accel
 
type(accel_mem_t), save, public zm_0_buffer
 
type(accel_mem_t), save, public zm_1_buffer
 
type(accel_mem_t), save, public dm_0_buffer
 
type(accel_mem_t), save, public dm_1_buffer
 
type(accel_kernel_t), target, save, public kernel_vpsi
 
type(accel_kernel_t), target, save, public kernel_vpsi_complex
 
type(accel_kernel_t), target, save, public kernel_vpsi_spinors
 
type(accel_kernel_t), target, save, public kernel_vpsi_spinors_complex
 
type(accel_kernel_t), target, save, public kernel_daxpy
 
type(accel_kernel_t), target, save, public kernel_zaxpy
 
type(accel_kernel_t), target, save, public kernel_copy
 
type(accel_kernel_t), target, save, public kernel_copy_complex_to_real
 
type(accel_kernel_t), target, save, public kernel_copy_real_to_complex
 
type(accel_kernel_t), target, save, public dpack
 
type(accel_kernel_t), target, save, public zpack
 
type(accel_kernel_t), target, save, public dunpack
 
type(accel_kernel_t), target, save, public zunpack
 
type(accel_kernel_t), target, save, public kernel_ghost_reorder
 
type(accel_kernel_t), target, save, public kernel_density_real
 
type(accel_kernel_t), target, save, public kernel_density_complex
 
type(accel_kernel_t), target, save, public kernel_density_spinors
 
type(accel_kernel_t), target, save, public kernel_phase
 
type(accel_kernel_t), target, save, public kernel_phase_spiral
 
type(accel_kernel_t), target, save, public dkernel_dot_matrix
 
type(accel_kernel_t), target, save, public zkernel_dot_matrix
 
type(accel_kernel_t), target, save, public zkernel_dot_matrix_spinors
 
type(accel_kernel_t), target, save, public dkernel_batch_axpy
 
type(accel_kernel_t), target, save, public zkernel_batch_axpy
 
type(accel_kernel_t), target, save, public dkernel_ax_function_py
 
type(accel_kernel_t), target, save, public zkernel_ax_function_py
 
type(accel_kernel_t), target, save, public dkernel_batch_dotp
 
type(accel_kernel_t), target, save, public zkernel_batch_dotp
 
type(accel_kernel_t), target, save, public dzmul
 
type(accel_kernel_t), target, save, public zzmul
 
type(accel_kernel_t), target, save, public set_one
 
type(accel_kernel_t), target, save set_zero
 
type(accel_kernel_t), target, save set_zero_int
 
integer, parameter opencl_gpu = -1
 
integer, parameter opencl_cpu = -2
 
integer, parameter opencl_accelerator = -3
 
integer, parameter opencl_default = -4
 
integer, parameter cl_plat_invalid = -1
 
integer, parameter cl_plat_amd = -2
 
integer, parameter cl_plat_nvidia = -3
 
integer, parameter cl_plat_ati = -4
 
integer, parameter cl_plat_intel = -5
 
integer, public cl_status
 
integer buffer_alloc_count
 
integer(int64) allocated_mem
 
type(accel_kernel_t), pointer head
 
type(alloc_cache_tmemcache
 

Function/Subroutine Documentation

◆ accel_is_enabled()

pure logical function, public accel_oct_m::accel_is_enabled

Definition at line 426 of file accel.F90.

◆ accel_allow_cpu_only()

pure logical function, public accel_oct_m::accel_allow_cpu_only

Definition at line 436 of file accel.F90.

◆ accel_init()

subroutine, public accel_oct_m::accel_init ( type(mpi_grp_t), intent(inout)  base_grp,
type(namespace_t), intent(in)  namespace 
)

Definition at line 446 of file accel.F90.

◆ get_platform_id()

integer function accel_oct_m::get_platform_id ( character(len=*), intent(in)  platform_name)
private

Definition at line 1112 of file accel.F90.

◆ accel_end()

subroutine, public accel_oct_m::accel_end ( type(namespace_t), intent(in)  namespace)

Definition at line 1124 of file accel.F90.

◆ accel_padded_size_i8()

integer(int64) function accel_oct_m::accel_padded_size_i8 ( integer(int64), intent(in)  nn)
private

Definition at line 1229 of file accel.F90.

◆ accel_padded_size_i4()

integer(int32) function accel_oct_m::accel_padded_size_i4 ( integer(int32), intent(in)  nn)
private

Definition at line 1250 of file accel.F90.

◆ accel_create_buffer_4()

subroutine accel_oct_m::accel_create_buffer_4 ( type(accel_mem_t), intent(inout)  this,
integer, intent(in)  flags,
type(type_t), intent(in)  type,
integer, intent(in)  size,
logical, intent(in), optional  set_zero,
logical, intent(in), optional  async 
)
private

Definition at line 1259 of file accel.F90.

◆ accel_create_buffer_8()

subroutine accel_oct_m::accel_create_buffer_8 ( type(accel_mem_t), intent(inout)  this,
integer, intent(in)  flags,
type(type_t), intent(in)  type,
integer(int64), intent(in)  size,
logical, intent(in), optional  set_zero,
logical, intent(in), optional  async 
)
private

Definition at line 1272 of file accel.F90.

◆ accel_release_buffer()

subroutine, public accel_oct_m::accel_release_buffer ( type(accel_mem_t), intent(inout)  this,
logical, intent(in), optional  async 
)

Definition at line 1330 of file accel.F90.

◆ accel_ensure_buffer_size()

subroutine, public accel_oct_m::accel_ensure_buffer_size ( 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 
)

Definition at line 1378 of file accel.F90.

◆ accel_buffer_is_allocated()

logical pure function, public accel_oct_m::accel_buffer_is_allocated ( type(accel_mem_t), intent(in)  this)

Definition at line 1398 of file accel.F90.

◆ accel_finish()

subroutine, public accel_oct_m::accel_finish

Definition at line 1406 of file accel.F90.

◆ accel_set_kernel_arg_buffer()

subroutine accel_oct_m::accel_set_kernel_arg_buffer ( type(accel_kernel_t), intent(inout)  kernel,
integer, intent(in)  narg,
type(accel_mem_t), intent(in)  buffer 
)
private

Definition at line 1426 of file accel.F90.

◆ accel_set_kernel_arg_local()

subroutine accel_oct_m::accel_set_kernel_arg_local ( type(accel_kernel_t), intent(inout)  kernel,
integer, intent(in)  narg,
type(type_t), intent(in)  type,
integer, intent(in)  size 
)
private

Definition at line 1451 of file accel.F90.

◆ accel_kernel_run_8()

subroutine accel_oct_m::accel_kernel_run_8 ( type(accel_kernel_t), intent(inout)  kernel,
integer(int64), dimension(:), intent(in)  globalsizes,
integer(int64), dimension(:), intent(in)  localsizes 
)
private

Definition at line 1490 of file accel.F90.

◆ accel_kernel_run_4()

subroutine accel_oct_m::accel_kernel_run_4 ( type(accel_kernel_t), intent(inout)  kernel,
integer, dimension(:), intent(in)  globalsizes,
integer, dimension(:), intent(in)  localsizes 
)
private

Definition at line 1571 of file accel.F90.

◆ accel_max_workgroup_size()

integer pure function, public accel_oct_m::accel_max_workgroup_size

Definition at line 1582 of file accel.F90.

◆ accel_kernel_workgroup_size()

integer function, public accel_oct_m::accel_kernel_workgroup_size ( type(accel_kernel_t), intent(inout)  kernel)

Definition at line 1588 of file accel.F90.

◆ opencl_build_program()

subroutine accel_oct_m::opencl_build_program ( type(cl_program), intent(inout)  prog,
character(len=*), intent(in)  filename,
character(len=*), intent(in), optional  flags 
)
private

Definition at line 1626 of file accel.F90.

◆ opencl_release_program()

subroutine accel_oct_m::opencl_release_program ( type(cl_program), intent(inout)  prog)
private

Definition at line 1702 of file accel.F90.

◆ opencl_release_kernel()

subroutine accel_oct_m::opencl_release_kernel ( type(cl_kernel), intent(inout)  prog)
private

Definition at line 1719 of file accel.F90.

◆ opencl_create_kernel()

subroutine accel_oct_m::opencl_create_kernel ( type(cl_kernel), intent(inout)  kernel,
type(cl_program), intent(inout)  prog,
character(len=*), intent(in)  name 
)
private

Definition at line 1737 of file accel.F90.

◆ opencl_print_error()

subroutine accel_oct_m::opencl_print_error ( integer, intent(in)  ierr,
character(len=*), intent(in)  name 
)
private

Definition at line 1759 of file accel.F90.

◆ clblas_print_error()

subroutine, public accel_oct_m::clblas_print_error ( integer, intent(in)  ierr,
character(len=*), intent(in)  name 
)

Definition at line 1830 of file accel.F90.

◆ clfft_print_error()

subroutine, public accel_oct_m::clfft_print_error ( integer, intent(in)  ierr,
character(len=*), intent(in)  name 
)

Definition at line 1897 of file accel.F90.

◆ f90_cl_device_has_extension()

logical function accel_oct_m::f90_cl_device_has_extension ( type(cl_device_id), intent(inout)  device,
character(len=*), intent(in)  extension 
)
private

Definition at line 1976 of file accel.F90.

◆ accel_set_buffer_to_zero_i8()

subroutine accel_oct_m::accel_set_buffer_to_zero_i8 ( type(accel_mem_t), intent(inout)  buffer,
type(type_t), intent(in)  type,
integer(int64), intent(in)  nval,
integer(int64), intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 1994 of file accel.F90.

◆ accel_set_buffer_to_zero_i4()

subroutine accel_oct_m::accel_set_buffer_to_zero_i4 ( type(accel_mem_t), intent(inout)  buffer,
type(type_t), intent(in)  type,
integer(int32), intent(in)  nval,
integer(int32), intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 2040 of file accel.F90.

◆ opencl_check_bandwidth()

subroutine accel_oct_m::opencl_check_bandwidth
private

Definition at line 2060 of file accel.F90.

◆ accel_use_shared_mem()

logical pure function, public accel_oct_m::accel_use_shared_mem

Definition at line 2119 of file accel.F90.

◆ accel_kernel_global_init()

subroutine accel_oct_m::accel_kernel_global_init
private

Definition at line 2127 of file accel.F90.

◆ accel_kernel_global_end()

subroutine accel_oct_m::accel_kernel_global_end
private

Definition at line 2140 of file accel.F90.

◆ accel_kernel_build()

subroutine, public accel_oct_m::accel_kernel_build ( type(accel_kernel_t), intent(inout)  this,
character(len=*), intent(in)  file_name,
character(len=*), intent(in)  kernel_name,
character(len=*), intent(in), optional  flags 
)

Definition at line 2161 of file accel.F90.

◆ accel_kernel_end()

subroutine accel_oct_m::accel_kernel_end ( type(accel_kernel_t), intent(inout)  this)
private

Definition at line 2213 of file accel.F90.

◆ accel_kernel_start_call()

subroutine, public accel_oct_m::accel_kernel_start_call ( type(accel_kernel_t), intent(inout), target  this,
character(len=*), intent(in)  file_name,
character(len=*), intent(in)  kernel_name,
character(len=*), intent(in), optional  flags 
)

Definition at line 2238 of file accel.F90.

◆ accel_global_memory_size()

integer(int64) pure function, public accel_oct_m::accel_global_memory_size

Definition at line 2257 of file accel.F90.

◆ accel_local_memory_size()

integer(int64) pure function, public accel_oct_m::accel_local_memory_size

Definition at line 2265 of file accel.F90.

◆ accel_max_size_per_dim()

integer pure function, public accel_oct_m::accel_max_size_per_dim ( integer, intent(in)  dim)

Definition at line 2273 of file accel.F90.

◆ accel_set_stream()

subroutine, public accel_oct_m::accel_set_stream ( integer, intent(in)  stream_number)

Definition at line 2290 of file accel.F90.

◆ accel_get_stream()

subroutine, public accel_oct_m::accel_get_stream ( integer, intent(inout)  stream_number)

Definition at line 2307 of file accel.F90.

◆ accel_synchronize_all_streams()

subroutine, public accel_oct_m::accel_synchronize_all_streams

Definition at line 2323 of file accel.F90.

◆ daccel_get_pointer_with_offset()

type(c_ptr) function, public accel_oct_m::daccel_get_pointer_with_offset ( type(c_ptr), intent(in)  buffer,
integer(int64), intent(in)  offset 
)

Definition at line 2335 of file accel.F90.

◆ zaccel_get_pointer_with_offset()

type(c_ptr) function, public accel_oct_m::zaccel_get_pointer_with_offset ( type(c_ptr), intent(in)  buffer,
integer(int64), intent(in)  offset 
)

Definition at line 2350 of file accel.F90.

◆ accel_clean_pointer()

subroutine, public accel_oct_m::accel_clean_pointer ( type(c_ptr), intent(in)  buffer)

Definition at line 2365 of file accel.F90.

◆ accel_get_unfolded_size()

subroutine, public accel_oct_m::accel_get_unfolded_size ( integer(int64), intent(in)  size,
integer(int64), intent(out)  grid_size,
integer(int64), intent(out)  thread_block_size 
)

Get unfolded size: some kernels (e.g. projectors) unfold the array across warps as an optimization. This is, however, only benefitial on Nvidia GPUs.

Definition at line 2378 of file accel.F90.

◆ daccel_write_buffer_single()

subroutine accel_oct_m::daccel_write_buffer_single ( type(accel_mem_t), intent(inout)  this,
real(real64), intent(in)  data,
logical, intent(in), optional  async 
)
private

Definition at line 2463 of file accel.F90.

◆ daccel_write_buffer_0()

subroutine accel_oct_m::daccel_write_buffer_0 ( type(accel_mem_t), intent(inout)  this,
integer(int64), intent(in)  size,
real(real64), intent(in), target  data,
integer(int64), intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 2476 of file accel.F90.

◆ daccel_write_buffer_1()

subroutine accel_oct_m::daccel_write_buffer_1 ( type(accel_mem_t), intent(inout)  this,
integer(int64), intent(in)  size,
real(real64), dimension(:), intent(in), contiguous  data,
integer(int64), intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 2519 of file accel.F90.

◆ daccel_write_buffer_2()

subroutine accel_oct_m::daccel_write_buffer_2 ( type(accel_mem_t), intent(inout)  this,
integer(int64), intent(in)  size,
real(real64), dimension(:, :), intent(in), contiguous  data,
integer(int64), intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 2538 of file accel.F90.

◆ daccel_write_buffer_3()

subroutine accel_oct_m::daccel_write_buffer_3 ( type(accel_mem_t), intent(inout)  this,
integer(int64), intent(in)  size,
real(real64), dimension(:, :, :), intent(in), contiguous  data,
integer(int64), intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 2558 of file accel.F90.

◆ daccel_write_buffer_0_int32()

subroutine accel_oct_m::daccel_write_buffer_0_int32 ( type(accel_mem_t), intent(inout)  this,
integer, intent(in)  size,
real(real64), intent(in)  data,
integer, intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 2579 of file accel.F90.

◆ daccel_write_buffer_1_int32()

subroutine accel_oct_m::daccel_write_buffer_1_int32 ( type(accel_mem_t), intent(inout)  this,
integer, intent(in)  size,
real(real64), dimension(:), intent(in), contiguous  data,
integer, intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 2598 of file accel.F90.

◆ daccel_write_buffer_2_int32()

subroutine accel_oct_m::daccel_write_buffer_2_int32 ( type(accel_mem_t), intent(inout)  this,
integer, intent(in)  size,
real(real64), dimension(:, :), intent(in), contiguous  data,
integer, intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 2617 of file accel.F90.

◆ daccel_write_buffer_3_int32()

subroutine accel_oct_m::daccel_write_buffer_3_int32 ( type(accel_mem_t), intent(inout)  this,
integer, intent(in)  size,
real(real64), dimension(:, :, :), intent(in), contiguous  data,
integer, intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 2636 of file accel.F90.

◆ daccel_read_buffer_0()

subroutine accel_oct_m::daccel_read_buffer_0 ( type(accel_mem_t), intent(in)  this,
integer(int64), intent(in)  size,
real(real64), intent(out), target  data,
integer(int64), intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 2655 of file accel.F90.

◆ daccel_read_buffer_1()

subroutine accel_oct_m::daccel_read_buffer_1 ( type(accel_mem_t), intent(in)  this,
integer(int64), intent(in)  size,
real(real64), dimension(:), intent(out), contiguous  data,
integer(int64), intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 2698 of file accel.F90.

◆ daccel_read_buffer_2()

subroutine accel_oct_m::daccel_read_buffer_2 ( type(accel_mem_t), intent(in)  this,
integer(int64), intent(in)  size,
real(real64), dimension(:, :), intent(out), contiguous  data,
integer(int64), intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 2717 of file accel.F90.

◆ daccel_read_buffer_3()

subroutine accel_oct_m::daccel_read_buffer_3 ( type(accel_mem_t), intent(in)  this,
integer(int64), intent(in)  size,
real(real64), dimension(:, :, :), intent(out), contiguous  data,
integer(int64), intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 2737 of file accel.F90.

◆ daccel_read_buffer_0_int32()

subroutine accel_oct_m::daccel_read_buffer_0_int32 ( type(accel_mem_t), intent(in)  this,
integer, intent(in)  size,
real(real64), intent(out)  data,
integer, intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 2758 of file accel.F90.

◆ daccel_read_buffer_1_int32()

subroutine accel_oct_m::daccel_read_buffer_1_int32 ( type(accel_mem_t), intent(in)  this,
integer, intent(in)  size,
real(real64), dimension(:), intent(out), contiguous  data,
integer, intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 2777 of file accel.F90.

◆ daccel_read_buffer_2_int32()

subroutine accel_oct_m::daccel_read_buffer_2_int32 ( type(accel_mem_t), intent(in)  this,
integer, intent(in)  size,
real(real64), dimension(:, :), intent(out), contiguous  data,
integer, intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 2796 of file accel.F90.

◆ daccel_read_buffer_3_int32()

subroutine accel_oct_m::daccel_read_buffer_3_int32 ( type(accel_mem_t), intent(in)  this,
integer, intent(in)  size,
real(real64), dimension(:, :, :), intent(out), contiguous  data,
integer, intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 2815 of file accel.F90.

◆ daccel_set_kernel_arg_data()

subroutine accel_oct_m::daccel_set_kernel_arg_data ( type(accel_kernel_t), intent(inout)  kernel,
integer, intent(in)  narg,
real(real64), intent(in), target  data 
)
private

Definition at line 2834 of file accel.F90.

◆ daccel_get_device_pointer_1()

subroutine accel_oct_m::daccel_get_device_pointer_1 ( real(real64), dimension(:), intent(inout), pointer  host_pointer,
type(accel_mem_t), intent(in)  device_pointer,
integer, dimension(:), intent(in)  dimensions 
)
private

Definition at line 2859 of file accel.F90.

◆ daccel_get_device_pointer_2()

subroutine accel_oct_m::daccel_get_device_pointer_2 ( real(real64), dimension(:, :), intent(inout), pointer  host_pointer,
type(accel_mem_t), intent(in)  device_pointer,
integer, dimension(:), intent(in)  dimensions 
)
private

Definition at line 2883 of file accel.F90.

◆ daccel_get_device_pointer_3()

subroutine accel_oct_m::daccel_get_device_pointer_3 ( real(real64), dimension(:, :, :), intent(inout), pointer  host_pointer,
type(accel_mem_t), intent(in)  device_pointer,
integer, dimension(:), intent(in)  dimensions 
)
private

Definition at line 2905 of file accel.F90.

◆ daccel_get_device_pointer_1l()

subroutine accel_oct_m::daccel_get_device_pointer_1l ( real(real64), dimension(:), intent(inout), pointer  host_pointer,
type(accel_mem_t), intent(in)  device_pointer,
integer(int64), dimension(:), intent(in)  dimensions 
)
private

Definition at line 2927 of file accel.F90.

◆ daccel_get_device_pointer_2l()

subroutine accel_oct_m::daccel_get_device_pointer_2l ( real(real64), dimension(:, :), intent(inout), pointer  host_pointer,
type(accel_mem_t), intent(in)  device_pointer,
integer(int64), dimension(:), intent(in)  dimensions 
)
private

Definition at line 2950 of file accel.F90.

◆ daccel_get_device_pointer_3l()

subroutine accel_oct_m::daccel_get_device_pointer_3l ( real(real64), dimension(:, :, :), intent(inout), pointer  host_pointer,
type(accel_mem_t), intent(in)  device_pointer,
integer(int64), dimension(:), intent(in)  dimensions 
)
private

Definition at line 2972 of file accel.F90.

◆ daccel_create_blas_alpha_beta_buffer()

subroutine accel_oct_m::daccel_create_blas_alpha_beta_buffer ( type(accel_mem_t), intent(inout)  this,
real(real64), intent(in)  data,
logical, intent(in), optional  async 
)
private

Definition at line 2995 of file accel.F90.

◆ daccel_release_blas_alpha_beta_buffer()

subroutine accel_oct_m::daccel_release_blas_alpha_beta_buffer ( type(accel_mem_t), intent(inout)  this,
real(real64), intent(in)  data,
logical, intent(in), optional  async 
)
private

Definition at line 3022 of file accel.F90.

◆ zaccel_write_buffer_single()

subroutine accel_oct_m::zaccel_write_buffer_single ( type(accel_mem_t), intent(inout)  this,
complex(real64), intent(in)  data,
logical, intent(in), optional  async 
)
private

Definition at line 3114 of file accel.F90.

◆ zaccel_write_buffer_0()

subroutine accel_oct_m::zaccel_write_buffer_0 ( type(accel_mem_t), intent(inout)  this,
integer(int64), intent(in)  size,
complex(real64), intent(in), target  data,
integer(int64), intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 3127 of file accel.F90.

◆ zaccel_write_buffer_1()

subroutine accel_oct_m::zaccel_write_buffer_1 ( type(accel_mem_t), intent(inout)  this,
integer(int64), intent(in)  size,
complex(real64), dimension(:), intent(in), contiguous  data,
integer(int64), intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 3170 of file accel.F90.

◆ zaccel_write_buffer_2()

subroutine accel_oct_m::zaccel_write_buffer_2 ( type(accel_mem_t), intent(inout)  this,
integer(int64), intent(in)  size,
complex(real64), dimension(:, :), intent(in), contiguous  data,
integer(int64), intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 3189 of file accel.F90.

◆ zaccel_write_buffer_3()

subroutine accel_oct_m::zaccel_write_buffer_3 ( type(accel_mem_t), intent(inout)  this,
integer(int64), intent(in)  size,
complex(real64), dimension(:, :, :), intent(in), contiguous  data,
integer(int64), intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 3209 of file accel.F90.

◆ zaccel_write_buffer_0_int32()

subroutine accel_oct_m::zaccel_write_buffer_0_int32 ( type(accel_mem_t), intent(inout)  this,
integer, intent(in)  size,
complex(real64), intent(in)  data,
integer, intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 3230 of file accel.F90.

◆ zaccel_write_buffer_1_int32()

subroutine accel_oct_m::zaccel_write_buffer_1_int32 ( type(accel_mem_t), intent(inout)  this,
integer, intent(in)  size,
complex(real64), dimension(:), intent(in), contiguous  data,
integer, intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 3249 of file accel.F90.

◆ zaccel_write_buffer_2_int32()

subroutine accel_oct_m::zaccel_write_buffer_2_int32 ( type(accel_mem_t), intent(inout)  this,
integer, intent(in)  size,
complex(real64), dimension(:, :), intent(in), contiguous  data,
integer, intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 3268 of file accel.F90.

◆ zaccel_write_buffer_3_int32()

subroutine accel_oct_m::zaccel_write_buffer_3_int32 ( type(accel_mem_t), intent(inout)  this,
integer, intent(in)  size,
complex(real64), dimension(:, :, :), intent(in), contiguous  data,
integer, intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 3287 of file accel.F90.

◆ zaccel_read_buffer_0()

subroutine accel_oct_m::zaccel_read_buffer_0 ( type(accel_mem_t), intent(in)  this,
integer(int64), intent(in)  size,
complex(real64), intent(out), target  data,
integer(int64), intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 3306 of file accel.F90.

◆ zaccel_read_buffer_1()

subroutine accel_oct_m::zaccel_read_buffer_1 ( type(accel_mem_t), intent(in)  this,
integer(int64), intent(in)  size,
complex(real64), dimension(:), intent(out), contiguous  data,
integer(int64), intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 3349 of file accel.F90.

◆ zaccel_read_buffer_2()

subroutine accel_oct_m::zaccel_read_buffer_2 ( type(accel_mem_t), intent(in)  this,
integer(int64), intent(in)  size,
complex(real64), dimension(:, :), intent(out), contiguous  data,
integer(int64), intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 3368 of file accel.F90.

◆ zaccel_read_buffer_3()

subroutine accel_oct_m::zaccel_read_buffer_3 ( type(accel_mem_t), intent(in)  this,
integer(int64), intent(in)  size,
complex(real64), dimension(:, :, :), intent(out), contiguous  data,
integer(int64), intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 3388 of file accel.F90.

◆ zaccel_read_buffer_0_int32()

subroutine accel_oct_m::zaccel_read_buffer_0_int32 ( type(accel_mem_t), intent(in)  this,
integer, intent(in)  size,
complex(real64), intent(out)  data,
integer, intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 3409 of file accel.F90.

◆ zaccel_read_buffer_1_int32()

subroutine accel_oct_m::zaccel_read_buffer_1_int32 ( type(accel_mem_t), intent(in)  this,
integer, intent(in)  size,
complex(real64), dimension(:), intent(out), contiguous  data,
integer, intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 3428 of file accel.F90.

◆ zaccel_read_buffer_2_int32()

subroutine accel_oct_m::zaccel_read_buffer_2_int32 ( type(accel_mem_t), intent(in)  this,
integer, intent(in)  size,
complex(real64), dimension(:, :), intent(out), contiguous  data,
integer, intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 3447 of file accel.F90.

◆ zaccel_read_buffer_3_int32()

subroutine accel_oct_m::zaccel_read_buffer_3_int32 ( type(accel_mem_t), intent(in)  this,
integer, intent(in)  size,
complex(real64), dimension(:, :, :), intent(out), contiguous  data,
integer, intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 3466 of file accel.F90.

◆ zaccel_set_kernel_arg_data()

subroutine accel_oct_m::zaccel_set_kernel_arg_data ( type(accel_kernel_t), intent(inout)  kernel,
integer, intent(in)  narg,
complex(real64), intent(in), target  data 
)
private

Definition at line 3485 of file accel.F90.

◆ zaccel_get_device_pointer_1()

subroutine accel_oct_m::zaccel_get_device_pointer_1 ( complex(real64), dimension(:), intent(inout), pointer  host_pointer,
type(accel_mem_t), intent(in)  device_pointer,
integer, dimension(:), intent(in)  dimensions 
)
private

Definition at line 3510 of file accel.F90.

◆ zaccel_get_device_pointer_2()

subroutine accel_oct_m::zaccel_get_device_pointer_2 ( complex(real64), dimension(:, :), intent(inout), pointer  host_pointer,
type(accel_mem_t), intent(in)  device_pointer,
integer, dimension(:), intent(in)  dimensions 
)
private

Definition at line 3534 of file accel.F90.

◆ zaccel_get_device_pointer_3()

subroutine accel_oct_m::zaccel_get_device_pointer_3 ( complex(real64), dimension(:, :, :), intent(inout), pointer  host_pointer,
type(accel_mem_t), intent(in)  device_pointer,
integer, dimension(:), intent(in)  dimensions 
)
private

Definition at line 3556 of file accel.F90.

◆ zaccel_get_device_pointer_1l()

subroutine accel_oct_m::zaccel_get_device_pointer_1l ( complex(real64), dimension(:), intent(inout), pointer  host_pointer,
type(accel_mem_t), intent(in)  device_pointer,
integer(int64), dimension(:), intent(in)  dimensions 
)
private

Definition at line 3578 of file accel.F90.

◆ zaccel_get_device_pointer_2l()

subroutine accel_oct_m::zaccel_get_device_pointer_2l ( complex(real64), dimension(:, :), intent(inout), pointer  host_pointer,
type(accel_mem_t), intent(in)  device_pointer,
integer(int64), dimension(:), intent(in)  dimensions 
)
private

Definition at line 3601 of file accel.F90.

◆ zaccel_get_device_pointer_3l()

subroutine accel_oct_m::zaccel_get_device_pointer_3l ( complex(real64), dimension(:, :, :), intent(inout), pointer  host_pointer,
type(accel_mem_t), intent(in)  device_pointer,
integer(int64), dimension(:), intent(in)  dimensions 
)
private

Definition at line 3623 of file accel.F90.

◆ zaccel_create_blas_alpha_beta_buffer()

subroutine accel_oct_m::zaccel_create_blas_alpha_beta_buffer ( type(accel_mem_t), intent(inout)  this,
complex(real64), intent(in)  data,
logical, intent(in), optional  async 
)
private

Definition at line 3646 of file accel.F90.

◆ zaccel_release_blas_alpha_beta_buffer()

subroutine accel_oct_m::zaccel_release_blas_alpha_beta_buffer ( type(accel_mem_t), intent(inout)  this,
complex(real64), intent(in)  data,
logical, intent(in), optional  async 
)
private

Definition at line 3673 of file accel.F90.

◆ iaccel_write_buffer_single()

subroutine accel_oct_m::iaccel_write_buffer_single ( type(accel_mem_t), intent(inout)  this,
integer, intent(in)  data,
logical, intent(in), optional  async 
)
private

Definition at line 3765 of file accel.F90.

◆ iaccel_write_buffer_0()

subroutine accel_oct_m::iaccel_write_buffer_0 ( type(accel_mem_t), intent(inout)  this,
integer(int64), intent(in)  size,
integer, intent(in), target  data,
integer(int64), intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 3778 of file accel.F90.

◆ iaccel_write_buffer_1()

subroutine accel_oct_m::iaccel_write_buffer_1 ( type(accel_mem_t), intent(inout)  this,
integer(int64), intent(in)  size,
integer, dimension(:), intent(in), contiguous  data,
integer(int64), intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 3821 of file accel.F90.

◆ iaccel_write_buffer_2()

subroutine accel_oct_m::iaccel_write_buffer_2 ( type(accel_mem_t), intent(inout)  this,
integer(int64), intent(in)  size,
integer, dimension(:, :), intent(in), contiguous  data,
integer(int64), intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 3840 of file accel.F90.

◆ iaccel_write_buffer_3()

subroutine accel_oct_m::iaccel_write_buffer_3 ( type(accel_mem_t), intent(inout)  this,
integer(int64), intent(in)  size,
integer, dimension(:, :, :), intent(in), contiguous  data,
integer(int64), intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 3860 of file accel.F90.

◆ iaccel_write_buffer_0_int32()

subroutine accel_oct_m::iaccel_write_buffer_0_int32 ( type(accel_mem_t), intent(inout)  this,
integer, intent(in)  size,
integer, intent(in)  data,
integer, intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 3881 of file accel.F90.

◆ iaccel_write_buffer_1_int32()

subroutine accel_oct_m::iaccel_write_buffer_1_int32 ( type(accel_mem_t), intent(inout)  this,
integer, intent(in)  size,
integer, dimension(:), intent(in), contiguous  data,
integer, intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 3900 of file accel.F90.

◆ iaccel_write_buffer_2_int32()

subroutine accel_oct_m::iaccel_write_buffer_2_int32 ( type(accel_mem_t), intent(inout)  this,
integer, intent(in)  size,
integer, dimension(:, :), intent(in), contiguous  data,
integer, intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 3919 of file accel.F90.

◆ iaccel_write_buffer_3_int32()

subroutine accel_oct_m::iaccel_write_buffer_3_int32 ( type(accel_mem_t), intent(inout)  this,
integer, intent(in)  size,
integer, dimension(:, :, :), intent(in), contiguous  data,
integer, intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 3938 of file accel.F90.

◆ iaccel_read_buffer_0()

subroutine accel_oct_m::iaccel_read_buffer_0 ( type(accel_mem_t), intent(in)  this,
integer(int64), intent(in)  size,
integer, intent(out), target  data,
integer(int64), intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 3957 of file accel.F90.

◆ iaccel_read_buffer_1()

subroutine accel_oct_m::iaccel_read_buffer_1 ( type(accel_mem_t), intent(in)  this,
integer(int64), intent(in)  size,
integer, dimension(:), intent(out), contiguous  data,
integer(int64), intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 4000 of file accel.F90.

◆ iaccel_read_buffer_2()

subroutine accel_oct_m::iaccel_read_buffer_2 ( type(accel_mem_t), intent(in)  this,
integer(int64), intent(in)  size,
integer, dimension(:, :), intent(out), contiguous  data,
integer(int64), intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 4019 of file accel.F90.

◆ iaccel_read_buffer_3()

subroutine accel_oct_m::iaccel_read_buffer_3 ( type(accel_mem_t), intent(in)  this,
integer(int64), intent(in)  size,
integer, dimension(:, :, :), intent(out), contiguous  data,
integer(int64), intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 4039 of file accel.F90.

◆ iaccel_read_buffer_0_int32()

subroutine accel_oct_m::iaccel_read_buffer_0_int32 ( type(accel_mem_t), intent(in)  this,
integer, intent(in)  size,
integer, intent(out)  data,
integer, intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 4060 of file accel.F90.

◆ iaccel_read_buffer_1_int32()

subroutine accel_oct_m::iaccel_read_buffer_1_int32 ( type(accel_mem_t), intent(in)  this,
integer, intent(in)  size,
integer, dimension(:), intent(out), contiguous  data,
integer, intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 4079 of file accel.F90.

◆ iaccel_read_buffer_2_int32()

subroutine accel_oct_m::iaccel_read_buffer_2_int32 ( type(accel_mem_t), intent(in)  this,
integer, intent(in)  size,
integer, dimension(:, :), intent(out), contiguous  data,
integer, intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 4098 of file accel.F90.

◆ iaccel_read_buffer_3_int32()

subroutine accel_oct_m::iaccel_read_buffer_3_int32 ( type(accel_mem_t), intent(in)  this,
integer, intent(in)  size,
integer, dimension(:, :, :), intent(out), contiguous  data,
integer, intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 4117 of file accel.F90.

◆ iaccel_set_kernel_arg_data()

subroutine accel_oct_m::iaccel_set_kernel_arg_data ( type(accel_kernel_t), intent(inout)  kernel,
integer, intent(in)  narg,
integer, intent(in), target  data 
)
private

Definition at line 4136 of file accel.F90.

◆ iaccel_get_device_pointer_1()

subroutine accel_oct_m::iaccel_get_device_pointer_1 ( integer, dimension(:), intent(inout), pointer  host_pointer,
type(accel_mem_t), intent(in)  device_pointer,
integer, dimension(:), intent(in)  dimensions 
)
private

Definition at line 4161 of file accel.F90.

◆ iaccel_get_device_pointer_2()

subroutine accel_oct_m::iaccel_get_device_pointer_2 ( integer, dimension(:, :), intent(inout), pointer  host_pointer,
type(accel_mem_t), intent(in)  device_pointer,
integer, dimension(:), intent(in)  dimensions 
)
private

Definition at line 4185 of file accel.F90.

◆ iaccel_get_device_pointer_3()

subroutine accel_oct_m::iaccel_get_device_pointer_3 ( integer, dimension(:, :, :), intent(inout), pointer  host_pointer,
type(accel_mem_t), intent(in)  device_pointer,
integer, dimension(:), intent(in)  dimensions 
)
private

Definition at line 4207 of file accel.F90.

◆ iaccel_get_device_pointer_1l()

subroutine accel_oct_m::iaccel_get_device_pointer_1l ( integer, dimension(:), intent(inout), pointer  host_pointer,
type(accel_mem_t), intent(in)  device_pointer,
integer(int64), dimension(:), intent(in)  dimensions 
)
private

Definition at line 4229 of file accel.F90.

◆ iaccel_get_device_pointer_2l()

subroutine accel_oct_m::iaccel_get_device_pointer_2l ( integer, dimension(:, :), intent(inout), pointer  host_pointer,
type(accel_mem_t), intent(in)  device_pointer,
integer(int64), dimension(:), intent(in)  dimensions 
)
private

Definition at line 4252 of file accel.F90.

◆ iaccel_get_device_pointer_3l()

subroutine accel_oct_m::iaccel_get_device_pointer_3l ( integer, dimension(:, :, :), intent(inout), pointer  host_pointer,
type(accel_mem_t), intent(in)  device_pointer,
integer(int64), dimension(:), intent(in)  dimensions 
)
private

Definition at line 4274 of file accel.F90.

◆ iaccel_create_blas_alpha_beta_buffer()

subroutine accel_oct_m::iaccel_create_blas_alpha_beta_buffer ( type(accel_mem_t), intent(inout)  this,
integer, intent(in)  data,
logical, intent(in), optional  async 
)
private

Definition at line 4297 of file accel.F90.

◆ iaccel_release_blas_alpha_beta_buffer()

subroutine accel_oct_m::iaccel_release_blas_alpha_beta_buffer ( type(accel_mem_t), intent(inout)  this,
integer, intent(in)  data,
logical, intent(in), optional  async 
)
private

Definition at line 4324 of file accel.F90.

◆ laccel_write_buffer_single()

subroutine accel_oct_m::laccel_write_buffer_single ( type(accel_mem_t), intent(inout)  this,
integer(int64), intent(in)  data,
logical, intent(in), optional  async 
)
private

Definition at line 4417 of file accel.F90.

◆ laccel_write_buffer_0()

subroutine accel_oct_m::laccel_write_buffer_0 ( type(accel_mem_t), intent(inout)  this,
integer(int64), intent(in)  size,
integer(int64), intent(in), target  data,
integer(int64), intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 4430 of file accel.F90.

◆ laccel_write_buffer_1()

subroutine accel_oct_m::laccel_write_buffer_1 ( type(accel_mem_t), intent(inout)  this,
integer(int64), intent(in)  size,
integer(int64), dimension(:), intent(in), contiguous  data,
integer(int64), intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 4473 of file accel.F90.

◆ laccel_write_buffer_2()

subroutine accel_oct_m::laccel_write_buffer_2 ( type(accel_mem_t), intent(inout)  this,
integer(int64), intent(in)  size,
integer(int64), dimension(:, :), intent(in), contiguous  data,
integer(int64), intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 4492 of file accel.F90.

◆ laccel_write_buffer_3()

subroutine accel_oct_m::laccel_write_buffer_3 ( type(accel_mem_t), intent(inout)  this,
integer(int64), intent(in)  size,
integer(int64), dimension(:, :, :), intent(in), contiguous  data,
integer(int64), intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 4512 of file accel.F90.

◆ laccel_write_buffer_0_int32()

subroutine accel_oct_m::laccel_write_buffer_0_int32 ( type(accel_mem_t), intent(inout)  this,
integer, intent(in)  size,
integer(int64), intent(in)  data,
integer, intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 4533 of file accel.F90.

◆ laccel_write_buffer_1_int32()

subroutine accel_oct_m::laccel_write_buffer_1_int32 ( type(accel_mem_t), intent(inout)  this,
integer, intent(in)  size,
integer(int64), dimension(:), intent(in), contiguous  data,
integer, intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 4552 of file accel.F90.

◆ laccel_write_buffer_2_int32()

subroutine accel_oct_m::laccel_write_buffer_2_int32 ( type(accel_mem_t), intent(inout)  this,
integer, intent(in)  size,
integer(int64), dimension(:, :), intent(in), contiguous  data,
integer, intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 4571 of file accel.F90.

◆ laccel_write_buffer_3_int32()

subroutine accel_oct_m::laccel_write_buffer_3_int32 ( type(accel_mem_t), intent(inout)  this,
integer, intent(in)  size,
integer(int64), dimension(:, :, :), intent(in), contiguous  data,
integer, intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 4590 of file accel.F90.

◆ laccel_read_buffer_0()

subroutine accel_oct_m::laccel_read_buffer_0 ( type(accel_mem_t), intent(in)  this,
integer(int64), intent(in)  size,
integer(int64), intent(out), target  data,
integer(int64), intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 4609 of file accel.F90.

◆ laccel_read_buffer_1()

subroutine accel_oct_m::laccel_read_buffer_1 ( type(accel_mem_t), intent(in)  this,
integer(int64), intent(in)  size,
integer(int64), dimension(:), intent(out), contiguous  data,
integer(int64), intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 4652 of file accel.F90.

◆ laccel_read_buffer_2()

subroutine accel_oct_m::laccel_read_buffer_2 ( type(accel_mem_t), intent(in)  this,
integer(int64), intent(in)  size,
integer(int64), dimension(:, :), intent(out), contiguous  data,
integer(int64), intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 4671 of file accel.F90.

◆ laccel_read_buffer_3()

subroutine accel_oct_m::laccel_read_buffer_3 ( type(accel_mem_t), intent(in)  this,
integer(int64), intent(in)  size,
integer(int64), dimension(:, :, :), intent(out), contiguous  data,
integer(int64), intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 4691 of file accel.F90.

◆ laccel_read_buffer_0_int32()

subroutine accel_oct_m::laccel_read_buffer_0_int32 ( type(accel_mem_t), intent(in)  this,
integer, intent(in)  size,
integer(int64), intent(out)  data,
integer, intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 4712 of file accel.F90.

◆ laccel_read_buffer_1_int32()

subroutine accel_oct_m::laccel_read_buffer_1_int32 ( type(accel_mem_t), intent(in)  this,
integer, intent(in)  size,
integer(int64), dimension(:), intent(out), contiguous  data,
integer, intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 4731 of file accel.F90.

◆ laccel_read_buffer_2_int32()

subroutine accel_oct_m::laccel_read_buffer_2_int32 ( type(accel_mem_t), intent(in)  this,
integer, intent(in)  size,
integer(int64), dimension(:, :), intent(out), contiguous  data,
integer, intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 4750 of file accel.F90.

◆ laccel_read_buffer_3_int32()

subroutine accel_oct_m::laccel_read_buffer_3_int32 ( type(accel_mem_t), intent(in)  this,
integer, intent(in)  size,
integer(int64), dimension(:, :, :), intent(out), contiguous  data,
integer, intent(in), optional  offset,
logical, intent(in), optional  async 
)
private

Definition at line 4769 of file accel.F90.

◆ laccel_set_kernel_arg_data()

subroutine accel_oct_m::laccel_set_kernel_arg_data ( type(accel_kernel_t), intent(inout)  kernel,
integer, intent(in)  narg,
integer(int64), intent(in), target  data 
)
private

Definition at line 4788 of file accel.F90.

◆ laccel_get_device_pointer_1()

subroutine accel_oct_m::laccel_get_device_pointer_1 ( integer(int64), dimension(:), intent(inout), pointer  host_pointer,
type(accel_mem_t), intent(in)  device_pointer,
integer, dimension(:), intent(in)  dimensions 
)
private

Definition at line 4813 of file accel.F90.

◆ laccel_get_device_pointer_2()

subroutine accel_oct_m::laccel_get_device_pointer_2 ( integer(int64), dimension(:, :), intent(inout), pointer  host_pointer,
type(accel_mem_t), intent(in)  device_pointer,
integer, dimension(:), intent(in)  dimensions 
)
private

Definition at line 4837 of file accel.F90.

◆ laccel_get_device_pointer_3()

subroutine accel_oct_m::laccel_get_device_pointer_3 ( integer(int64), dimension(:, :, :), intent(inout), pointer  host_pointer,
type(accel_mem_t), intent(in)  device_pointer,
integer, dimension(:), intent(in)  dimensions 
)
private

Definition at line 4859 of file accel.F90.

◆ laccel_get_device_pointer_1l()

subroutine accel_oct_m::laccel_get_device_pointer_1l ( integer(int64), dimension(:), intent(inout), pointer  host_pointer,
type(accel_mem_t), intent(in)  device_pointer,
integer(int64), dimension(:), intent(in)  dimensions 
)
private

Definition at line 4881 of file accel.F90.

◆ laccel_get_device_pointer_2l()

subroutine accel_oct_m::laccel_get_device_pointer_2l ( integer(int64), dimension(:, :), intent(inout), pointer  host_pointer,
type(accel_mem_t), intent(in)  device_pointer,
integer(int64), dimension(:), intent(in)  dimensions 
)
private

Definition at line 4904 of file accel.F90.

◆ laccel_get_device_pointer_3l()

subroutine accel_oct_m::laccel_get_device_pointer_3l ( integer(int64), dimension(:, :, :), intent(inout), pointer  host_pointer,
type(accel_mem_t), intent(in)  device_pointer,
integer(int64), dimension(:), intent(in)  dimensions 
)
private

Definition at line 4926 of file accel.F90.

◆ laccel_create_blas_alpha_beta_buffer()

subroutine accel_oct_m::laccel_create_blas_alpha_beta_buffer ( type(accel_mem_t), intent(inout)  this,
integer(int64), intent(in)  data,
logical, intent(in), optional  async 
)
private

Definition at line 4949 of file accel.F90.

◆ laccel_release_blas_alpha_beta_buffer()

subroutine accel_oct_m::laccel_release_blas_alpha_beta_buffer ( type(accel_mem_t), intent(inout)  this,
integer(int64), intent(in)  data,
logical, intent(in), optional  async 
)
private

Definition at line 4976 of file accel.F90.

Variable Documentation

◆ accel_mem_read_only

integer, parameter, public accel_oct_m::accel_mem_read_only = CL_MEM_READ_ONLY

Definition at line 187 of file accel.F90.

◆ accel_mem_read_write

integer, parameter, public accel_oct_m::accel_mem_read_write = CL_MEM_READ_WRITE

Definition at line 187 of file accel.F90.

◆ accel_mem_write_only

integer, parameter, public accel_oct_m::accel_mem_write_only = CL_MEM_WRITE_ONLY

Definition at line 187 of file accel.F90.

◆ accel

type(accel_t), public accel_oct_m::accel

Definition at line 274 of file accel.F90.

◆ zm_0_buffer

type(accel_mem_t), save, public accel_oct_m::zm_0_buffer

Definition at line 277 of file accel.F90.

◆ zm_1_buffer

type(accel_mem_t), save, public accel_oct_m::zm_1_buffer

Definition at line 277 of file accel.F90.

◆ dm_0_buffer

type(accel_mem_t), save, public accel_oct_m::dm_0_buffer

Definition at line 278 of file accel.F90.

◆ dm_1_buffer

type(accel_mem_t), save, public accel_oct_m::dm_1_buffer

Definition at line 278 of file accel.F90.

◆ kernel_vpsi

type(accel_kernel_t), target, save, public accel_oct_m::kernel_vpsi

Definition at line 281 of file accel.F90.

◆ kernel_vpsi_complex

type(accel_kernel_t), target, save, public accel_oct_m::kernel_vpsi_complex

Definition at line 282 of file accel.F90.

◆ kernel_vpsi_spinors

type(accel_kernel_t), target, save, public accel_oct_m::kernel_vpsi_spinors

Definition at line 283 of file accel.F90.

◆ kernel_vpsi_spinors_complex

type(accel_kernel_t), target, save, public accel_oct_m::kernel_vpsi_spinors_complex

Definition at line 284 of file accel.F90.

◆ kernel_daxpy

type(accel_kernel_t), target, save, public accel_oct_m::kernel_daxpy

Definition at line 285 of file accel.F90.

◆ kernel_zaxpy

type(accel_kernel_t), target, save, public accel_oct_m::kernel_zaxpy

Definition at line 286 of file accel.F90.

◆ kernel_copy

type(accel_kernel_t), target, save, public accel_oct_m::kernel_copy

Definition at line 287 of file accel.F90.

◆ kernel_copy_complex_to_real

type(accel_kernel_t), target, save, public accel_oct_m::kernel_copy_complex_to_real

Definition at line 288 of file accel.F90.

◆ kernel_copy_real_to_complex

type(accel_kernel_t), target, save, public accel_oct_m::kernel_copy_real_to_complex

Definition at line 289 of file accel.F90.

◆ dpack

type(accel_kernel_t), target, save, public accel_oct_m::dpack

Definition at line 290 of file accel.F90.

◆ zpack

type(accel_kernel_t), target, save, public accel_oct_m::zpack

Definition at line 291 of file accel.F90.

◆ dunpack

type(accel_kernel_t), target, save, public accel_oct_m::dunpack

Definition at line 292 of file accel.F90.

◆ zunpack

type(accel_kernel_t), target, save, public accel_oct_m::zunpack

Definition at line 293 of file accel.F90.

◆ kernel_ghost_reorder

type(accel_kernel_t), target, save, public accel_oct_m::kernel_ghost_reorder

Definition at line 294 of file accel.F90.

◆ kernel_density_real

type(accel_kernel_t), target, save, public accel_oct_m::kernel_density_real

Definition at line 295 of file accel.F90.

◆ kernel_density_complex

type(accel_kernel_t), target, save, public accel_oct_m::kernel_density_complex

Definition at line 296 of file accel.F90.

◆ kernel_density_spinors

type(accel_kernel_t), target, save, public accel_oct_m::kernel_density_spinors

Definition at line 297 of file accel.F90.

◆ kernel_phase

type(accel_kernel_t), target, save, public accel_oct_m::kernel_phase

Definition at line 298 of file accel.F90.

◆ kernel_phase_spiral

type(accel_kernel_t), target, save, public accel_oct_m::kernel_phase_spiral

Definition at line 299 of file accel.F90.

◆ dkernel_dot_matrix

type(accel_kernel_t), target, save, public accel_oct_m::dkernel_dot_matrix

Definition at line 300 of file accel.F90.

◆ zkernel_dot_matrix

type(accel_kernel_t), target, save, public accel_oct_m::zkernel_dot_matrix

Definition at line 301 of file accel.F90.

◆ zkernel_dot_matrix_spinors

type(accel_kernel_t), target, save, public accel_oct_m::zkernel_dot_matrix_spinors

Definition at line 302 of file accel.F90.

◆ dkernel_batch_axpy

type(accel_kernel_t), target, save, public accel_oct_m::dkernel_batch_axpy

Definition at line 303 of file accel.F90.

◆ zkernel_batch_axpy

type(accel_kernel_t), target, save, public accel_oct_m::zkernel_batch_axpy

Definition at line 304 of file accel.F90.

◆ dkernel_ax_function_py

type(accel_kernel_t), target, save, public accel_oct_m::dkernel_ax_function_py

Definition at line 305 of file accel.F90.

◆ zkernel_ax_function_py

type(accel_kernel_t), target, save, public accel_oct_m::zkernel_ax_function_py

Definition at line 306 of file accel.F90.

◆ dkernel_batch_dotp

type(accel_kernel_t), target, save, public accel_oct_m::dkernel_batch_dotp

Definition at line 307 of file accel.F90.

◆ zkernel_batch_dotp

type(accel_kernel_t), target, save, public accel_oct_m::zkernel_batch_dotp

Definition at line 308 of file accel.F90.

◆ dzmul

type(accel_kernel_t), target, save, public accel_oct_m::dzmul

Definition at line 309 of file accel.F90.

◆ zzmul

type(accel_kernel_t), target, save, public accel_oct_m::zzmul

Definition at line 310 of file accel.F90.

◆ set_one

type(accel_kernel_t), target, save, public accel_oct_m::set_one

Definition at line 311 of file accel.F90.

◆ set_zero

type(accel_kernel_t), target, save accel_oct_m::set_zero
private

Definition at line 314 of file accel.F90.

◆ set_zero_int

type(accel_kernel_t), target, save accel_oct_m::set_zero_int
private

Definition at line 315 of file accel.F90.

◆ opencl_gpu

integer, parameter accel_oct_m::opencl_gpu = -1
private

Definition at line 402 of file accel.F90.

◆ opencl_cpu

integer, parameter accel_oct_m::opencl_cpu = -2
private

Definition at line 402 of file accel.F90.

◆ opencl_accelerator

integer, parameter accel_oct_m::opencl_accelerator = -3
private

Definition at line 402 of file accel.F90.

◆ opencl_default

integer, parameter accel_oct_m::opencl_default = -4
private

Definition at line 402 of file accel.F90.

◆ cl_plat_invalid

integer, parameter accel_oct_m::cl_plat_invalid = -1
private

Definition at line 409 of file accel.F90.

◆ cl_plat_amd

integer, parameter accel_oct_m::cl_plat_amd = -2
private

Definition at line 409 of file accel.F90.

◆ cl_plat_nvidia

integer, parameter accel_oct_m::cl_plat_nvidia = -3
private

Definition at line 409 of file accel.F90.

◆ cl_plat_ati

integer, parameter accel_oct_m::cl_plat_ati = -4
private

Definition at line 409 of file accel.F90.

◆ cl_plat_intel

integer, parameter accel_oct_m::cl_plat_intel = -5
private

Definition at line 409 of file accel.F90.

◆ cl_status

integer, public accel_oct_m::cl_status

Definition at line 417 of file accel.F90.

◆ buffer_alloc_count

integer accel_oct_m::buffer_alloc_count
private

Definition at line 419 of file accel.F90.

◆ allocated_mem

integer(int64) accel_oct_m::allocated_mem
private

Definition at line 420 of file accel.F90.

◆ head

type(accel_kernel_t), pointer accel_oct_m::head
private

Definition at line 421 of file accel.F90.

◆ memcache

type(alloc_cache_t) accel_oct_m::memcache
private

Definition at line 422 of file accel.F90.