DFT-FE 1.1.0-pre
Density Functional Theory With Finite-Elements
Loading...
Searching...
No Matches
FEBasisOperationsKernelsInternal.h
Go to the documentation of this file.
1// ---------------------------------------------------------------------
2//
3// Copyright (c) 2017-2025 The Regents of the University of Michigan and DFT-FE
4// authors.
5//
6// This file is part of the DFT-FE code.
7//
8// The DFT-FE code is free software; you can use it, redistribute
9// it, and/or modify it under the terms of the GNU Lesser General
10// Public License as published by the Free Software Foundation; either
11// version 2.1 of the License, or (at your option) any later version.
12// The full text of the license can be found in the file LICENSE at
13// the top level of the DFT-FE distribution.
14//
15// ---------------------------------------------------------------------
16
17#ifndef dftfeFEBasisOperationsKernelsInternal_h
18#define dftfeFEBasisOperationsKernelsInternal_h
19
20#include <TypeConfig.h>
21#include <BLASWrapper.h>
22#ifdef DFTFE_WITH_DEVICE
23# include <DeviceAPICalls.h>
24# include <DeviceTypeConfig.h>
27#endif // DFTFE_WITH_DEVICE
28
29namespace dftfe
30{
31 namespace basis
32 {
34 {
35 /**
36 * @brief rehsape gradient data from [iCell * 3 * d_nQuadsPerCell * d_nVectors + iQuad * 3 * d_nVectors + iDim * d_nVectors + iVec] to [iCell * 3 * d_nQuadsPerCell * d_nVectors + iDim *
37 * d_nQuadsPerCell * d_nVectors + iQuad * d_nVectors + iVec].
38 * @param[in] numVecs number of vectors.
39 * @param[in] numQuads number of quadrature points per cell.
40 * @param[in] numCells number of locally owned cells.
41 * @param[in] copyFromVec source data pointer.
42 * @param[out] copyToVec destination data pointer.
43 */
44 template <typename ValueType>
45 void
47 const dftfe::size_type numQuads,
48 const dftfe::size_type numCells,
49 const ValueType * copyFromVec,
50 ValueType * copyToVec);
51
52 template <typename ValueType>
53 void
55 const dftfe::size_type numQuads,
56 const dftfe::size_type numCells,
57 const ValueType * copyFromVec,
58 ValueType * copyToVec);
59
60 /**
61 * @brief rehsape gradient data to [iCell * 3 * d_nQuadsPerCell * d_nVectors + iQuad * 3 * d_nVectors + iDim * d_nVectors + iVec] from [iCell * 3 * d_nQuadsPerCell * d_nVectors + iDim *
62 * d_nQuadsPerCell * d_nVectors + iQuad * d_nVectors + iVec].
63 * @param[in] numVecs number of vectors.
64 * @param[in] numQuads number of quadrature points per cell.
65 * @param[in] numCells number of locally owned cells.
66 * @param[in] copyFromVec source data pointer.
67 * @param[out] copyToVec destination data pointer.
68 */
69 template <typename ValueType>
70 void
72 const dftfe::size_type numQuads,
73 const dftfe::size_type numCells,
74 const ValueType * copyFromVec,
75 ValueType * copyToVec);
76
77 template <typename ValueType>
78 void
80 const dftfe::size_type numQuads,
81 const dftfe::size_type numCells,
82 const ValueType * copyFromVec,
83 ValueType * copyToVec);
84
85 } // namespace FEBasisOperationsKernelsInternal
86 } // namespace basis
87} // namespace dftfe
88
89#endif // dftfeFEBasisOperationsKernelsInternal_h
Definition FEBasisOperationsKernelsInternal.h:34
void reshapeFromNonAffineLayoutHost(const dftfe::size_type numVecs, const dftfe::size_type numQuads, const dftfe::size_type numCells, const ValueType *copyFromVec, ValueType *copyToVec)
void reshapeToNonAffineLayoutHost(const dftfe::size_type numVecs, const dftfe::size_type numQuads, const dftfe::size_type numCells, const ValueType *copyFromVec, ValueType *copyToVec)
void reshapeToNonAffineLayoutDevice(const dftfe::size_type numVecs, const dftfe::size_type numQuads, const dftfe::size_type numCells, const ValueType *copyFromVec, ValueType *copyToVec)
rehsape gradient data to [iCell * 3 * d_nQuadsPerCell * d_nVectors + iQuad * 3 * d_nVectors + iDim * ...
void reshapeFromNonAffineLayoutDevice(const dftfe::size_type numVecs, const dftfe::size_type numQuads, const dftfe::size_type numCells, const ValueType *copyFromVec, ValueType *copyToVec)
rehsape gradient data from [iCell * 3 * d_nQuadsPerCell * d_nVectors + iQuad * 3 * d_nVectors + iDim ...
Definition FEBasisOperations.h:30
Definition pseudoPotentialToDftfeConverter.cc:34
unsigned int size_type
Definition TypeConfig.h:6