Operators libxsmm backend.  
 | 
| subroutine, public  | opr_xsmm_dudxyz (du, u, dr, ds, dt, coef) | 
|   | 
| subroutine, public  | opr_xsmm_opgrad (ux, uy, uz, u, coef) | 
|   | 
| subroutine  | local_grad3_xsmm (ur, us, ut, u, n, d, dt) | 
|   | 
| subroutine  | local_grad2 (ur, us, u, n, d, dt) | 
|   | 
| subroutine, public  | opr_xsmm_cdtp (dtx, x, dr, ds, dt, coef) | 
|   | 
| subroutine, public  | opr_xsmm_conv1 (du, u, vx, vy, vz, xh, coef, nelv, gdim) | 
|   | 
| subroutine, public  | opr_xsmm_convect_scalar (du, u, c, xh_gll, xh_gl, coef_gll, coef_gl, gll_to_gl) | 
|   | 
| subroutine, public  | opr_xsmm_curl (w1, w2, w3, u1, u2, u3, work1, work2, c_xh) | 
|   | 
| subroutine, public  | opr_xsmm_set_convect_rst (cr, cs, ct, cx, cy, cz, xh, coef) | 
|   | 
◆ local_grad2()
  
  
      
        
          | subroutine opr_xsmm::local_grad2  | 
          ( | 
          real(kind=rp), dimension(0:n, 0:n), intent(inout)  | 
          ur,  | 
         
        
           | 
           | 
          real(kind=rp), dimension(0:n, 0:n), intent(inout)  | 
          us,  | 
         
        
           | 
           | 
          real(kind=rp), dimension(0:n, 0:n), intent(in)  | 
          u,  | 
         
        
           | 
           | 
          integer, intent(in)  | 
          n,  | 
         
        
           | 
           | 
          real(kind=rp), dimension(0:n, 0:n), intent(in)  | 
          d,  | 
         
        
           | 
           | 
          real(kind=rp), dimension(0:n, 0:n), intent(in)  | 
          dt  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
private   | 
  
 
 
◆ local_grad3_xsmm()
  
  
      
        
          | subroutine opr_xsmm::local_grad3_xsmm  | 
          ( | 
          real(kind=rp), dimension(0:n, 0:n, 0:n), intent(inout)  | 
          ur,  | 
         
        
           | 
           | 
          real(kind=rp), dimension(0:n, 0:n, 0:n), intent(inout)  | 
          us,  | 
         
        
           | 
           | 
          real(kind=rp), dimension(0:n, 0:n, 0:n), intent(inout)  | 
          ut,  | 
         
        
           | 
           | 
          real(kind=rp), dimension(0:n, 0:n, 0:n), intent(in)  | 
          u,  | 
         
        
           | 
           | 
          integer, intent(in)  | 
          n,  | 
         
        
           | 
           | 
          real(kind=rp), dimension(0:n, 0:n), intent(in)  | 
          d,  | 
         
        
           | 
           | 
          real(kind=rp), dimension(0:n, 0:n), intent(in)  | 
          dt  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
private   | 
  
 
 
◆ opr_xsmm_cdtp()
      
        
          | subroutine, public opr_xsmm::opr_xsmm_cdtp  | 
          ( | 
          real(kind=rp), dimension(coef%xh%lxyz, coef%msh%nelv), intent(inout)  | 
          dtx,  | 
        
        
           | 
           | 
          real(kind=rp), dimension(coef%xh%lxyz, coef%msh%nelv), intent(inout)  | 
          x,  | 
        
        
           | 
           | 
          real(kind=rp), dimension(coef%xh%lxyz, coef%msh%nelv), intent(in)  | 
          dr,  | 
        
        
           | 
           | 
          real(kind=rp), dimension(coef%xh%lxyz, coef%msh%nelv), intent(in)  | 
          ds,  | 
        
        
           | 
           | 
          real(kind=rp), dimension(coef%xh%lxyz, coef%msh%nelv), intent(in)  | 
          dt,  | 
        
        
           | 
           | 
          type(coef_t), intent(in)  | 
          coef  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
 
◆ opr_xsmm_conv1()
      
        
          | subroutine, public opr_xsmm::opr_xsmm_conv1  | 
          ( | 
          real(kind=rp), dimension(xh%lxyz, nelv), intent(inout)  | 
          du,  | 
        
        
           | 
           | 
          real(kind=rp), dimension(xh%lx, xh%ly, xh%lz, nelv), intent(inout)  | 
          u,  | 
        
        
           | 
           | 
          real(kind=rp), dimension(xh%lx, xh%ly, xh%lz, nelv), intent(inout)  | 
          vx,  | 
        
        
           | 
           | 
          real(kind=rp), dimension(xh%lx, xh%ly, xh%lz, nelv), intent(inout)  | 
          vy,  | 
        
        
           | 
           | 
          real(kind=rp), dimension(xh%lx, xh%ly, xh%lz, nelv), intent(inout)  | 
          vz,  | 
        
        
           | 
           | 
          type(space_t), intent(in)  | 
          xh,  | 
        
        
           | 
           | 
          type(coef_t), intent(in)  | 
          coef,  | 
        
        
           | 
           | 
          integer, intent(in)  | 
          nelv,  | 
        
        
           | 
           | 
          integer, intent(in)  | 
          gdim  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
 
◆ opr_xsmm_convect_scalar()
      
        
          | subroutine, public opr_xsmm::opr_xsmm_convect_scalar  | 
          ( | 
          real(kind=rp), dimension(xh_gll%lx, xh_gll%ly, xh_gll%lz,                                        coef_gl%msh%nelv), intent(inout)  | 
          du,  | 
        
        
           | 
           | 
          real(kind=rp), dimension(xh_gl%lxyz, coef_gl%msh%nelv), intent(inout)  | 
          u,  | 
        
        
           | 
           | 
          real(kind=rp), dimension(xh_gl%lxyz, coef_gl%msh%nelv, 3), intent(inout)  | 
          c,  | 
        
        
           | 
           | 
          type(space_t), intent(in)  | 
          xh_gll,  | 
        
        
           | 
           | 
          type(space_t), intent(in)  | 
          xh_gl,  | 
        
        
           | 
           | 
          type(coef_t), intent(in)  | 
          coef_gll,  | 
        
        
           | 
           | 
          type(coef_t), intent(in)  | 
          coef_gl,  | 
        
        
           | 
           | 
          type(interpolator_t), intent(inout)  | 
          gll_to_gl  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
 
◆ opr_xsmm_curl()
      
        
          | subroutine, public opr_xsmm::opr_xsmm_curl  | 
          ( | 
          type(field_t), intent(inout)  | 
          w1,  | 
        
        
           | 
           | 
          type(field_t), intent(inout)  | 
          w2,  | 
        
        
           | 
           | 
          type(field_t), intent(inout)  | 
          w3,  | 
        
        
           | 
           | 
          type(field_t), intent(inout)  | 
          u1,  | 
        
        
           | 
           | 
          type(field_t), intent(inout)  | 
          u2,  | 
        
        
           | 
           | 
          type(field_t), intent(inout)  | 
          u3,  | 
        
        
           | 
           | 
          type(field_t), intent(inout)  | 
          work1,  | 
        
        
           | 
           | 
          type(field_t), intent(inout)  | 
          work2,  | 
        
        
           | 
           | 
          type(coef_t), intent(in)  | 
          c_xh  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
 
◆ opr_xsmm_dudxyz()
      
        
          | subroutine, public opr_xsmm::opr_xsmm_dudxyz  | 
          ( | 
          real(kind=rp), dimension(coef%xh%lx, coef%xh%ly, coef%xh%lz,                              coef%msh%nelv), intent(inout)  | 
          du,  | 
        
        
           | 
           | 
          real(kind=rp), dimension(coef%xh%lx, coef%xh%ly, coef%xh%lz,                              coef%msh%nelv), intent(in)  | 
          u,  | 
        
        
           | 
           | 
          real(kind=rp), dimension(coef%xh%lx, coef%xh%ly, coef%xh%lz,                              coef%msh%nelv), intent(in)  | 
          dr,  | 
        
        
           | 
           | 
          real(kind=rp), dimension(coef%xh%lx, coef%xh%ly, coef%xh%lz,                              coef%msh%nelv), intent(in)  | 
          ds,  | 
        
        
           | 
           | 
          real(kind=rp), dimension(coef%xh%lx, coef%xh%ly, coef%xh%lz,                              coef%msh%nelv), intent(in)  | 
          dt,  | 
        
        
           | 
           | 
          type(coef_t), intent(in), target  | 
          coef  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
 
◆ opr_xsmm_opgrad()
      
        
          | subroutine, public opr_xsmm::opr_xsmm_opgrad  | 
          ( | 
          real(kind=rp), dimension(coef%xh%lxyz, coef%msh%nelv), intent(inout)  | 
          ux,  | 
        
        
           | 
           | 
          real(kind=rp), dimension(coef%xh%lxyz, coef%msh%nelv), intent(inout)  | 
          uy,  | 
        
        
           | 
           | 
          real(kind=rp), dimension(coef%xh%lxyz, coef%msh%nelv), intent(inout)  | 
          uz,  | 
        
        
           | 
           | 
          real(kind=rp), dimension(coef%xh%lxyz, coef%msh%nelv), intent(in)  | 
          u,  | 
        
        
           | 
           | 
          type(coef_t), intent(in)  | 
          coef  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
 
◆ opr_xsmm_set_convect_rst()
      
        
          | subroutine, public opr_xsmm::opr_xsmm_set_convect_rst  | 
          ( | 
          real(kind=rp), dimension(xh%lxyz, coef%msh%nelv), intent(inout)  | 
          cr,  | 
        
        
           | 
           | 
          real(kind=rp), dimension(xh%lxyz, coef%msh%nelv), intent(inout)  | 
          cs,  | 
        
        
           | 
           | 
          real(kind=rp), dimension(xh%lxyz, coef%msh%nelv), intent(inout)  | 
          ct,  | 
        
        
           | 
           | 
          real(kind=rp), dimension(xh%lxyz, coef%msh%nelv), intent(in)  | 
          cx,  | 
        
        
           | 
           | 
          real(kind=rp), dimension(xh%lxyz, coef%msh%nelv), intent(in)  | 
          cy,  | 
        
        
           | 
           | 
          real(kind=rp), dimension(xh%lxyz, coef%msh%nelv), intent(in)  | 
          cz,  | 
        
        
           | 
           | 
          type(space_t), intent(inout)  | 
          xh,  | 
        
        
           | 
           | 
          type(coef_t), intent(inout)  | 
          coef  | 
        
        
           | 
          ) | 
           |  |