Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
Classes | Namespaces | Enumerations | Functions
Device.hpp File Reference
#include "shambase/exception.hpp"
#include "shambackends/sycl.hpp"
#include <cstdint>
+ Include dependency graph for Device.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  sham::DeviceProperties
 Properties of a device. More...
 
struct  sham::DeviceMPIProperties
 
class  sham::Device
 Represents a SYCL device. More...
 

Namespaces

namespace  sham
 namespace for backends this one is named only sham since shambackends is too long to write
 

Enumerations

enum class  Vendor {
  UNKNOWN , NVIDIA , AMD , INTEL ,
  APPLE
}
 
enum class  Backend { UNKNOWN , CUDA , ROCM , OPENMP }
 
enum class  sham::DeviceType { CPU , GPU , UNKNOWN }
 The type of a device. More...
 

Functions

std::string sham::vendor_name (Vendor v)
 Returns the name of the given vendor.
 
std::string sham::backend_name (Backend b)
 Returns the name of the given backend.
 
std::string sham::device_type_name (DeviceType t)
 Returns the name of the given device type.
 
std::vector< std::unique_ptr< Device > > sham::get_device_list ()
 Get a list of all available devices.
 
Device sham::sycl_dev_to_sham_dev (usize i, const sycl::device &dev)
 Convert a SYCL device to a shamrock backend device.
 

Detailed Description

Author
Timothée David–Cléris (tim.s.nosp@m.hamr.nosp@m.ock@p.nosp@m.roto.nosp@m.n.me)

Definition in file Device.hpp.