Neko 0.9.99
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
gs_cpu::gs_cpu_t Type Referenceabstract

Gather-scatter backend for CPUs. More...

Inheritance diagram for gs_cpu::gs_cpu_t:
Collaboration diagram for gs_cpu::gs_cpu_t:

Public Member Functions

procedure, pass(thisinit (this, nlocal, nshared, nlcl_blks, nshrd_blks)
 Dummy backend initialisation.
 
procedure, pass(thisfree (this)
 Dummy backend deallocation.
 
procedure, pass(thisgather (this, v, m, o, dg, u, n, gd, nb, b, op, shrd)
 Gather kernel.
 
procedure, pass(thisscatter (this, v, m, dg, u, n, gd, nb, b, shrd, event)
 Scatter kernel.
 
procedure(gs_backend_init), deferred, pass init (this, nlocal, nshared, nlcl_blks, nshrd_blks)
 
procedure(gs_backend_free), deferred, pass free (this)
 
procedure(gs_gather), deferred, pass gather (this, v, m, o, dg, u, n, gd, nb, b, op, shrd)
 
procedure(gs_scatter), deferred, pass scatter (this, v, m, dg, u, n, gd, nb, b, shrd, event)
 

Public Attributes

type(c_ptr) gather_event = C_NULL_PTR
 
type(c_ptr) scatter_event = C_NULL_PTR
 
type(c_ptr) gs_stream = C_NULL_PTR
 

Detailed Description

Definition at line 43 of file gs_cpu.f90.

Member Function/Subroutine Documentation

◆ free() [1/2]

procedure, pass(this) gs_cpu::gs_cpu_t::free ( class(gs_cpu_t), intent(inout this)

Definition at line 46 of file gs_cpu.f90.

◆ free() [2/2]

procedure(gs_backend_free), deferred, pass gs_bcknd::gs_bcknd_t::free ( class(gs_bcknd_t), intent(inout this)
pure virtualinherited

Definition at line 50 of file gs_bcknd.f90.

◆ gather() [1/2]

procedure, pass(this) gs_cpu::gs_cpu_t::gather ( class(gs_cpu_t), intent(inout this,
real(kind=rp), dimension(m), intent(inout v,
integer, intent(in m,
integer, intent(in o,
integer, dimension(m), intent(inout dg,
real(kind=rp), dimension(n), intent(inout u,
integer, intent(in n,
integer, dimension(m), intent(inout gd,
integer, intent(in nb,
integer, dimension(nb), intent(inout b,
integer, intent(in op,
logical, intent(in shrd 
)

Definition at line 47 of file gs_cpu.f90.

◆ gather() [2/2]

procedure(gs_gather), deferred, pass gs_bcknd::gs_bcknd_t::gather ( class(gs_bcknd_t), intent(inout this,
real(kind=rp), dimension(m), intent(inout v,
integer, intent(in m,
integer, intent(in o,
integer, dimension(m), intent(inout dg,
real(kind=rp), dimension(n), intent(inout u,
integer, intent(in n,
integer, dimension(m), intent(inout gd,
integer, intent(in nb,
integer, dimension(nb), intent(inout b,
integer, intent(in op,
logical, intent(in shrd 
)
pure virtualinherited

Definition at line 51 of file gs_bcknd.f90.

◆ init() [1/2]

procedure, pass(this) gs_cpu::gs_cpu_t::init ( class(gs_cpu_t), intent(inout this,
integer, intent(in nlocal,
integer, intent(in nshared,
integer, intent(in nlcl_blks,
integer, intent(in nshrd_blks 
)

Definition at line 45 of file gs_cpu.f90.

◆ init() [2/2]

procedure(gs_backend_init), deferred, pass gs_bcknd::gs_bcknd_t::init ( class(gs_bcknd_t), intent(inout this,
integer, intent(in nlocal,
integer, intent(in nshared,
integer, intent(in nlcl_blks,
integer, intent(in nshrd_blks 
)
pure virtualinherited

Definition at line 49 of file gs_bcknd.f90.

◆ scatter() [1/2]

procedure, pass(this) gs_cpu::gs_cpu_t::scatter ( class(gs_cpu_t), intent(inout this,
real(kind=rp), dimension(m), intent(inout v,
integer, intent(in m,
integer, dimension(m), intent(inout dg,
real(kind=rp), dimension(n), intent(inout u,
integer, intent(in n,
integer, dimension(m), intent(inout gd,
integer, intent(in nb,
integer, dimension(nb), intent(inout b,
logical, intent(in shrd,
type(c_ptr)  event 
)
Todo:
Make the kernel abstract

Definition at line 48 of file gs_cpu.f90.

◆ scatter() [2/2]

procedure(gs_scatter), deferred, pass gs_bcknd::gs_bcknd_t::scatter ( class(gs_bcknd_t), intent(inout this,
real(kind=rp), dimension(m), intent(inout v,
integer, intent(in m,
integer, dimension(m), intent(inout dg,
real(kind=rp), dimension(n), intent(inout u,
integer, intent(in n,
integer, dimension(m), intent(inout gd,
integer, intent(in nb,
integer, dimension(nb), intent(inout b,
logical, intent(in shrd,
type(c_ptr)  event 
)
pure virtualinherited

Definition at line 52 of file gs_bcknd.f90.

Member Data Documentation

◆ gather_event

type(c_ptr) gs_bcknd::gs_bcknd_t::gather_event = C_NULL_PTR
inherited

Definition at line 45 of file gs_bcknd.f90.

◆ gs_stream

type(c_ptr) gs_bcknd::gs_bcknd_t::gs_stream = C_NULL_PTR
inherited

Definition at line 47 of file gs_bcknd.f90.

◆ scatter_event

type(c_ptr) gs_bcknd::gs_bcknd_t::scatter_event = C_NULL_PTR
inherited

Definition at line 46 of file gs_bcknd.f90.


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