|
| static void | init (T *constMemDataHost, std::size_t constMemDataSize) |
| |
| static void | computeLaplaceX (T *dst, T *src, T *jacobianFactor, dftefe::uInt *map, T *shapeBuffer, dftefe::uInt nCells, dftefe::uInt nBatch) |
| |
| static void | computeHelmholtzX (T *dst, T *src, T *jacobianFactor, dftefe::uInt *map, T *shapeBuffer, T coeffHelmholtz, dftefe::uInt nCells, dftefe::uInt nBatch) |
| |
| static void | constraintsDistribute (T *src, 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 inhomogenityListSize, const dftefe::uInt nBatch, const dftefe::uInt nOwnedDofs, const dftefe::uInt nGhostDofs) |
| |
| static void | constraintsDistributeTranspose (T *dst, T *src, 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 inhomogenityListSize, const dftefe::uInt nBatch, const dftefe::uInt nOwnedDofs, const dftefe::uInt nGhostDofs) |
| |
template<typename T,
dftefe::operatorList operatorID, std::uint32_t nDofsPerDim, std::uint32_t nQuadPointsPerDim, std::uint32_t batchSize>
struct dftefe::MatrixFreeDevice< T, operatorID, nDofsPerDim, nQuadPointsPerDim, batchSize >
MatrixFreeDevice class template. template parameter nDofsPerDim is the finite element polynomial order. nQuadPointsPerDim is the order of the Gauss quadrature rule. batchSize is the size of batch tuned to hardware.
- Author
- Gourab Panigrahi