Actual source code: hostdevice.hpp

  1: #pragma once

  3: #include "../impldevicebase.hpp" /*I "petscdevice.h" I*/

  5: namespace Petsc
  6: {

  8: namespace device
  9: {

 11: namespace host
 12: {

 14: class Device : public ::Petsc::device::impl::DeviceBase<Device> {
 15: public:
 16:   PETSC_DEVICE_IMPL_BASE_CLASS_HEADER(base_type, Device);

 18:   static PetscErrorCode initialize(MPI_Comm, PetscInt *, PetscBool *, PetscDeviceInitType *) noexcept;

 20: private:
 21:   PETSC_CXX_COMPAT_DECL(constexpr PetscDeviceType PETSC_DEVICE_IMPL_()) { return PETSC_DEVICE_HOST; }

 23:   static PetscErrorCode get_attribute_(PetscInt, PetscDeviceAttribute, void *) noexcept;
 24: };

 26: } // namespace host

 28: } // namespace device

 30: } // namespace Petsc