DiFfRG
Loading...
Searching...
No Matches
integrators::core::cuda Namespace Reference

Namespaces

namespace  detail
 

Functions

template<U M, typename T , typename D , typename I >
__global__ void compute_kernel (const U work_offset, const U work_this_iteration, const U total_work_packages, const U *z, const D *d, T *r, const U d_r_size_over_m, const U n, const U m, I *func)
 
template<U M, typename T , typename D , typename I >
__global__ void generate_samples_kernel (const U work_offset, const U work_this_iteration, const U *z, const D *d, T *r, const U n, I *func)
 
template<U M, typename I , typename T , typename D , typename Q >
void compute (const Q &qmc, const U i, const U work_this_iteration, const U total_work_packages, std::unique_ptr< integrators::core::cuda::detail::cuda_memory< U > > &d_z, std::unique_ptr< integrators::core::cuda::detail::cuda_memory< D > > &d_d, std::unique_ptr< integrators::core::cuda::detail::cuda_memory< T > > &d_r, const U d_r_size_over_m, const U n, const U m, std::unique_ptr< integrators::core::cuda::detail::cuda_memory< I > > &d_func, const int device)
 
template<U M, typename I , typename T , typename D , typename Q >
void generate_samples (const Q &qmc, const U i_start, const U work_this_iteration, std::unique_ptr< integrators::core::cuda::detail::cuda_memory< U > > &d_z, std::unique_ptr< integrators::core::cuda::detail::cuda_memory< D > > &d_d, std::unique_ptr< integrators::core::cuda::detail::cuda_memory< T > > &d_r, const U n, std::unique_ptr< integrators::core::cuda::detail::cuda_memory< I > > &d_func, const int device)
 
template<typename I , typename T , typename D >
void setup_sample (std::unique_ptr< integrators::core::cuda::detail::cuda_memory< U > > &d_z, const std::vector< U > &z, std::unique_ptr< integrators::core::cuda::detail::cuda_memory< D > > &d_d, const std::vector< D > &d, std::unique_ptr< integrators::core::cuda::detail::cuda_memory< T > > &d_r, const U d_r_size_over_m, const T *r_element, const U r_size_over_m, const U m, std::unique_ptr< integrators::core::cuda::detail::cuda_memory< I > > &d_func, I &func, const int device, const U verbosity, const Logger &logger)
 
template<typename I , typename T , typename D >
void setup_evaluate (std::unique_ptr< integrators::core::cuda::detail::cuda_memory< U > > &d_z, const std::vector< U > &z, std::unique_ptr< integrators::core::cuda::detail::cuda_memory< D > > &d_d, const std::vector< D > &d, std::unique_ptr< integrators::core::cuda::detail::cuda_memory< T > > &d_r, const U d_r_size, std::unique_ptr< integrators::core::cuda::detail::cuda_memory< I > > &d_func, I &func, const int device, const U verbosity, const Logger &logger)
 
template<typename T >
void teardown_sample (const std::unique_ptr< integrators::core::cuda::detail::cuda_memory< T > > &d_r, const U d_r_size_over_m, T *r_element, const U r_size_over_m, const U m, const int device, const U verbosity, const Logger &logger)
 
template<typename T >
void copy_back (const std::unique_ptr< integrators::core::cuda::detail::cuda_memory< T > > &d_r, const U d_r_size, T *r_element, const int device, const U verbosity, const Logger &logger)
 
int get_device_count ()
 

Function Documentation

◆ compute()

template<U M, typename I , typename T , typename D , typename Q >
void integrators::core::cuda::compute ( const Q & qmc,
const U i,
const U work_this_iteration,
const U total_work_packages,
std::unique_ptr< integrators::core::cuda::detail::cuda_memory< U > > & d_z,
std::unique_ptr< integrators::core::cuda::detail::cuda_memory< D > > & d_d,
std::unique_ptr< integrators::core::cuda::detail::cuda_memory< T > > & d_r,
const U d_r_size_over_m,
const U n,
const U m,
std::unique_ptr< integrators::core::cuda::detail::cuda_memory< I > > & d_func,
const int device )

◆ compute_kernel()

template<U M, typename T , typename D , typename I >
__global__ void integrators::core::cuda::compute_kernel ( const U work_offset,
const U work_this_iteration,
const U total_work_packages,
const U * z,
const D * d,
T * r,
const U d_r_size_over_m,
const U n,
const U m,
I * func )

◆ copy_back()

template<typename T >
void integrators::core::cuda::copy_back ( const std::unique_ptr< integrators::core::cuda::detail::cuda_memory< T > > & d_r,
const U d_r_size,
T * r_element,
const int device,
const U verbosity,
const Logger & logger )

◆ generate_samples()

template<U M, typename I , typename T , typename D , typename Q >
void integrators::core::cuda::generate_samples ( const Q & qmc,
const U i_start,
const U work_this_iteration,
std::unique_ptr< integrators::core::cuda::detail::cuda_memory< U > > & d_z,
std::unique_ptr< integrators::core::cuda::detail::cuda_memory< D > > & d_d,
std::unique_ptr< integrators::core::cuda::detail::cuda_memory< T > > & d_r,
const U n,
std::unique_ptr< integrators::core::cuda::detail::cuda_memory< I > > & d_func,
const int device )

◆ generate_samples_kernel()

template<U M, typename T , typename D , typename I >
__global__ void integrators::core::cuda::generate_samples_kernel ( const U work_offset,
const U work_this_iteration,
const U * z,
const D * d,
T * r,
const U n,
I * func )

◆ get_device_count()

int integrators::core::cuda::get_device_count ( )
inline

◆ setup_evaluate()

template<typename I , typename T , typename D >
void integrators::core::cuda::setup_evaluate ( std::unique_ptr< integrators::core::cuda::detail::cuda_memory< U > > & d_z,
const std::vector< U > & z,
std::unique_ptr< integrators::core::cuda::detail::cuda_memory< D > > & d_d,
const std::vector< D > & d,
std::unique_ptr< integrators::core::cuda::detail::cuda_memory< T > > & d_r,
const U d_r_size,
std::unique_ptr< integrators::core::cuda::detail::cuda_memory< I > > & d_func,
I & func,
const int device,
const U verbosity,
const Logger & logger )

◆ setup_sample()

template<typename I , typename T , typename D >
void integrators::core::cuda::setup_sample ( std::unique_ptr< integrators::core::cuda::detail::cuda_memory< U > > & d_z,
const std::vector< U > & z,
std::unique_ptr< integrators::core::cuda::detail::cuda_memory< D > > & d_d,
const std::vector< D > & d,
std::unique_ptr< integrators::core::cuda::detail::cuda_memory< T > > & d_r,
const U d_r_size_over_m,
const T * r_element,
const U r_size_over_m,
const U m,
std::unique_ptr< integrators::core::cuda::detail::cuda_memory< I > > & d_func,
I & func,
const int device,
const U verbosity,
const Logger & logger )

◆ teardown_sample()

template<typename T >
void integrators::core::cuda::teardown_sample ( const std::unique_ptr< integrators::core::cuda::detail::cuda_memory< T > > & d_r,
const U d_r_size_over_m,
T * r_element,
const U r_size_over_m,
const U m,
const int device,
const U verbosity,
const Logger & logger )