ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
Namespaces | Classes | Enumerations | Functions
base_device Namespace Reference

Namespaces

namespace  information
 
namespace  memory
 

Classes

class  DeviceContext
 Singleton class to manage GPU device context and initialization. More...
 

Enumerations

enum  AbacusDevice_t { UnKnown , CpuDevice , GpuDevice , DspDevice }
 

Functions

template<>
std::string get_current_precision< float > (const float *var)
 
template<>
std::string get_current_precision< double > (const double *var)
 
template<>
std::string get_current_precision< std::complex< float > > (const std::complex< float > *var)
 
template<>
std::string get_current_precision< std::complex< double > > (const std::complex< double > *var)
 
template<typename Device >
AbacusDevice_t get_device_type (const Device *dev)
 Get the device type enum for a given device type (compile-time version).
 
template<typename T >
std::string get_current_precision (const T *var)
 Get the precision string for a given numeric type.
 
template<>
std::string get_current_precision< float > (const float *var)
 
template<>
std::string get_current_precision< double > (const double *var)
 
template<>
std::string get_current_precision< std::complex< float > > (const std::complex< float > *var)
 
template<>
std::string get_current_precision< std::complex< double > > (const std::complex< double > *var)
 

Enumeration Type Documentation

◆ AbacusDevice_t

Enumerator
UnKnown 
CpuDevice 
GpuDevice 
DspDevice 

Function Documentation

◆ get_current_precision()

template<typename T >
std::string base_device::get_current_precision ( const T var)

Get the precision string for a given numeric type.

Template Parameters
TThe numeric type (float, double, std::complex<float>, std::complex<double>)
Parameters
varPointer to variable (used for template deduction)
Returns
"single" or "double"

◆ get_current_precision< double >() [1/2]

template<>
std::string base_device::get_current_precision< double > ( const double *  var)

◆ get_current_precision< double >() [2/2]

template<>
std::string base_device::get_current_precision< double > ( const double *  var)

◆ get_current_precision< float >() [1/2]

template<>
std::string base_device::get_current_precision< float > ( const float *  var)

◆ get_current_precision< float >() [2/2]

template<>
std::string base_device::get_current_precision< float > ( const float *  var)

◆ get_current_precision< std::complex< double > >() [1/2]

template<>
std::string base_device::get_current_precision< std::complex< double > > ( const std::complex< double > *  var)

◆ get_current_precision< std::complex< double > >() [2/2]

template<>
std::string base_device::get_current_precision< std::complex< double > > ( const std::complex< double > *  var)

◆ get_current_precision< std::complex< float > >() [1/2]

template<>
std::string base_device::get_current_precision< std::complex< float > > ( const std::complex< float > *  var)

◆ get_current_precision< std::complex< float > >() [2/2]

template<>
std::string base_device::get_current_precision< std::complex< float > > ( const std::complex< float > *  var)

◆ get_device_type()

template<typename Device >
AbacusDevice_t base_device::get_device_type ( const Device *  dev)

Get the device type enum for a given device type (compile-time version).

Template Parameters
DeviceThe device type (DEVICE_CPU or DEVICE_GPU)
Parameters
devPointer to device (used for template deduction)
Returns
AbacusDevice_t enum value
Here is the caller graph for this function: