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

Gather-scatter backend for NEC SX-Aurora. More...

Inheritance diagram for gs_sx::gs_sx_t:
Collaboration diagram for gs_sx::gs_sx_t:

Public Member Functions

procedure, pass(thisinit (this, nlocal, nshared, nlcl_blks, nshrd_blks)
 SX backend initialisation.
 
procedure, pass(thisfree (this)
 SX 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

real(kind=rp), dimension(:), allocatable local_wrk
 
real(kind=rp), dimension(:), allocatable shared_wrk
 
integer nlocal
 
integer nshared
 
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_sx.f90.

Member Function/Subroutine Documentation

◆ free() [1/2]

procedure, pass(this) gs_sx::gs_sx_t::free ( class(gs_sx_t), intent(inout this)

Definition at line 50 of file gs_sx.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_sx::gs_sx_t::gather ( class(gs_sx_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 51 of file gs_sx.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_sx::gs_sx_t::init ( class(gs_sx_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 49 of file gs_sx.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_sx::gs_sx_t::scatter ( class(gs_sx_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 52 of file gs_sx.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.

◆ local_wrk

real(kind=rp), dimension(:), allocatable gs_sx::gs_sx_t::local_wrk

Definition at line 44 of file gs_sx.f90.

◆ nlocal

integer gs_sx::gs_sx_t::nlocal

Definition at line 46 of file gs_sx.f90.

◆ nshared

integer gs_sx::gs_sx_t::nshared

Definition at line 47 of file gs_sx.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.

◆ shared_wrk

real(kind=rp), dimension(:), allocatable gs_sx::gs_sx_t::shared_wrk

Definition at line 45 of file gs_sx.f90.


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