DFT-EFE
 
Loading...
Searching...
No Matches
MatrixFreeDevice.sycl.cpp File Reference
#include <sycl/sycl.hpp>
#include <utils/DeviceKernelLauncherHelpers.h>
Include dependency graph for MatrixFreeDevice.sycl.cpp:

Functions

dftefe::uInt getMultiVectorIndex (const dftefe::uInt node, const dftefe::uInt batch, const dftefe::uInt nOwnedDofs, const dftefe::uInt nGhostDofs, const dftefe::uInt *ghostMap)
 
template<typename T , std::uint32_t nDofsPerDim, std::uint32_t batchSize>
void constraintsDistributeKernel (sycl::nd_item< 3 > item, T *x, const dftefe::uInt *constrainingNodeBuckets, const dftefe::uInt *constrainingNodeOffset, const dftefe::uInt *constrainedNodeBuckets, const dftefe::uInt *constrainedNodeOffset, const T *weightMatrixList, const dftefe::uInt *weightMatrixOffset, const T *inhomogenityList, const dftefe::uInt *ghostMap, const dftefe::uInt nOwnedDofs, const dftefe::uInt nGhostDofs, sycl::local_accessor< T, 1 > sharedConstrainingData)
 
template<typename T , std::uint32_t nDofsPerDim, std::uint32_t batchSize>
void constraintsDistributeTransposeKernel (sycl::nd_item< 3 > item, T *Ax, T *x, const dftefe::uInt *constrainingNodeBuckets, const dftefe::uInt *constrainingNodeOffset, const dftefe::uInt *constrainedNodeBuckets, const dftefe::uInt *constrainedNodeOffset, const T *weightMatrixList, const dftefe::uInt *weightMatrixOffset, const dftefe::uInt *ghostMap, const dftefe::uInt nOwnedDofs, const dftefe::uInt nGhostDofs, sycl::local_accessor< T, 1 > sharedConstrainedData)
 
template<typename T , std::uint32_t nDofsPerDim, std::uint32_t nQuadPointsPerDim, std::uint32_t batchSize, std::uint32_t dim>
void LaplaceKernel (sycl::nd_item< 3 > item, T *dst, const T *src, const T *J, const dftefe::uInt *map, const T *shapeBufferDevice, sycl::local_accessor< T, 1 > sharedMem)
 
template<typename T , std::uint32_t nDofsPerDim, std::uint32_t nQuadPointsPerDim, std::uint32_t batchSize, std::uint32_t dim>
void HelmholtzKernel (sycl::nd_item< 3 > item, T *dst, const T *src, const T *J, const dftefe::uInt *map, const T coeffHelmholtz, const T *shapeBufferDevice, sycl::local_accessor< T, 1 > sharedMem)
 

Function Documentation

◆ constraintsDistributeKernel()

template<typename T , std::uint32_t nDofsPerDim, std::uint32_t batchSize>
void constraintsDistributeKernel ( sycl::nd_item< 3 >  item,
T *  x,
const dftefe::uInt constrainingNodeBuckets,
const dftefe::uInt constrainingNodeOffset,
const dftefe::uInt constrainedNodeBuckets,
const dftefe::uInt constrainedNodeOffset,
const T *  weightMatrixList,
const dftefe::uInt weightMatrixOffset,
const T *  inhomogenityList,
const dftefe::uInt ghostMap,
const dftefe::uInt  nOwnedDofs,
const dftefe::uInt  nGhostDofs,
sycl::local_accessor< T, 1 >  sharedConstrainingData 
)
Here is the call graph for this function:

◆ constraintsDistributeTransposeKernel()

template<typename T , std::uint32_t nDofsPerDim, std::uint32_t batchSize>
void constraintsDistributeTransposeKernel ( sycl::nd_item< 3 >  item,
T *  Ax,
T *  x,
const dftefe::uInt constrainingNodeBuckets,
const dftefe::uInt constrainingNodeOffset,
const dftefe::uInt constrainedNodeBuckets,
const dftefe::uInt constrainedNodeOffset,
const T *  weightMatrixList,
const dftefe::uInt weightMatrixOffset,
const dftefe::uInt ghostMap,
const dftefe::uInt  nOwnedDofs,
const dftefe::uInt  nGhostDofs,
sycl::local_accessor< T, 1 >  sharedConstrainedData 
)
Here is the call graph for this function:

◆ getMultiVectorIndex()

dftefe::uInt getMultiVectorIndex ( const dftefe::uInt  node,
const dftefe::uInt  batch,
const dftefe::uInt  nOwnedDofs,
const dftefe::uInt  nGhostDofs,
const dftefe::uInt ghostMap 
)
inline
Here is the caller graph for this function:

◆ HelmholtzKernel()

template<typename T , std::uint32_t nDofsPerDim, std::uint32_t nQuadPointsPerDim, std::uint32_t batchSize, std::uint32_t dim>
void HelmholtzKernel ( sycl::nd_item< 3 >  item,
T *  dst,
const T *  src,
const T *  J,
const dftefe::uInt map,
const T  coeffHelmholtz,
const T *  shapeBufferDevice,
sycl::local_accessor< T, 1 >  sharedMem 
)

◆ LaplaceKernel()

template<typename T , std::uint32_t nDofsPerDim, std::uint32_t nQuadPointsPerDim, std::uint32_t batchSize, std::uint32_t dim>
void LaplaceKernel ( sycl::nd_item< 3 >  item,
T *  dst,
const T *  src,
const T *  J,
const dftefe::uInt map,
const T *  shapeBufferDevice,
sycl::local_accessor< T, 1 >  sharedMem 
)