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.
More...
|
| static void | init (T *constMemDataHost, std::size_t constMemDataSize) |
| static void | computeLaplaceX (T *dst, T *src, T *jacobianFactor, dftfe::uInt *map, T *shapeBuffer, dftfe::uInt nCells, dftfe::uInt nBatch) |
| static void | computeHelmholtzX (T *dst, T *src, T *jacobianFactor, dftfe::uInt *map, T *shapeBuffer, T coeffHelmholtz, dftfe::uInt nCells, dftfe::uInt nBatch) |
| static void | constraintsDistribute (T *src, const dftfe::uInt *constrainingNodeBuckets, const dftfe::uInt *constrainingNodeOffset, const dftfe::uInt *constrainedNodeBuckets, const dftfe::uInt *constrainedNodeOffset, const T *weightMatrixList, const dftfe::uInt *weightMatrixOffset, const T *inhomogenityList, const dftfe::uInt *ghostMap, const dftfe::uInt inhomogenityListSize, const dftfe::uInt nBatch, const dftfe::uInt nOwnedDofs, const dftfe::uInt nGhostDofs) |
| static void | constraintsDistributeTranspose (T *dst, T *src, const dftfe::uInt *constrainingNodeBuckets, const dftfe::uInt *constrainingNodeOffset, const dftfe::uInt *constrainedNodeBuckets, const dftfe::uInt *constrainedNodeOffset, const T *weightMatrixList, const dftfe::uInt *weightMatrixOffset, const dftfe::uInt *ghostMap, const dftfe::uInt inhomogenityListSize, const dftfe::uInt nBatch, const dftfe::uInt nOwnedDofs, const dftfe::uInt nGhostDofs) |
template<typename T,
dftfe::operatorList operatorID, std::uint32_t nDofsPerDim, std::uint32_t nQuadPointsPerDim, std::uint32_t batchSize>
struct dftfe::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