<T>LAPACK 0.1.1
C++ Template Linear Algebra PACKage
Loading...
Searching...
No Matches
MatrixEntry.hpp File Reference
#include <starpu.h>
#include <tuple>
#include "tlapack/base/scalar_type_traits.hpp"
#include "tlapack/starpu/types.hpp"
Include dependency graph for MatrixEntry.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  tlapack::starpu::MatrixEntry< T >
 Arithmetic data type used by Matrix. More...
 

Enumerations

enum class  Operation : int {
  Assign = 0 , Add = 1 , Subtract = 2 , Multiply = 3 ,
  Divide = 4
}
 

Functions

constexpr struct starpu_codelet tlapack::starpu::internal::codelet_init () noexcept
 Return an empty starpu_codelet struct.
 
template<class T , class U , internal::Operation op>
constexpr void tlapack::starpu::internal::data_op_data (void **buffers, void *args) noexcept
 MatrixEntry operation with assignment using two StarPU variable buffers.
 
template<class T , class U , internal::Operation op>
constexpr void tlapack::starpu::internal::data_op_value (void **buffers, void *args) noexcept
 MatrixEntry operation with assignment using a StarPU variable buffer and a value.
 
template<class T , internal::Operation op>
constexpr void tlapack::starpu::internal::matrixentry_op_matrixentry (void **buffers, void *args) noexcept
 MatrixEntry operation with assignment using a two matrix entries.
 
template<class lhs_t , class rhs_t , std::enable_if_t<(std::is_same_v< lhs_t, rhs_t >)||(std::is_same_v< real_type< lhs_t >, real_type< rhs_t > >), int > = 0>
constexpr auto tlapack::starpu::operator* (const lhs_t &x, const MatrixEntry< rhs_t > &y) noexcept
 
template<class lhs_t , class rhs_t , std::enable_if_t<(std::is_same_v< lhs_t, rhs_t >)||(std::is_same_v< real_type< lhs_t >, real_type< rhs_t > >), int > = 0>
constexpr auto tlapack::starpu::operator* (const MatrixEntry< lhs_t > &x, const MatrixEntry< rhs_t > &y) noexcept
 
template<class lhs_t , class rhs_t , std::enable_if_t<(std::is_same_v< lhs_t, rhs_t >)||(std::is_same_v< real_type< lhs_t >, real_type< rhs_t > >), int > = 0>
constexpr auto tlapack::starpu::operator* (const MatrixEntry< lhs_t > &x, const rhs_t &y) noexcept
 
template<class lhs_t , class rhs_t , std::enable_if_t<(std::is_same_v< lhs_t, rhs_t >)||(std::is_same_v< real_type< lhs_t >, real_type< rhs_t > >), int > = 0>
constexpr auto tlapack::starpu::operator+ (const lhs_t &x, const MatrixEntry< rhs_t > &y) noexcept
 
template<class lhs_t , class rhs_t , std::enable_if_t<(std::is_same_v< lhs_t, rhs_t >)||(std::is_same_v< real_type< lhs_t >, real_type< rhs_t > >), int > = 0>
constexpr auto tlapack::starpu::operator+ (const MatrixEntry< lhs_t > &x, const MatrixEntry< rhs_t > &y) noexcept
 
template<class lhs_t , class rhs_t , std::enable_if_t<(std::is_same_v< lhs_t, rhs_t >)||(std::is_same_v< real_type< lhs_t >, real_type< rhs_t > >), int > = 0>
constexpr auto tlapack::starpu::operator+ (const MatrixEntry< lhs_t > &x, const rhs_t &y) noexcept
 
template<class lhs_t , class rhs_t , std::enable_if_t<(std::is_same_v< lhs_t, rhs_t >)||(std::is_same_v< real_type< lhs_t >, real_type< rhs_t > >), int > = 0>
constexpr auto tlapack::starpu::operator- (const lhs_t &x, const MatrixEntry< rhs_t > &y) noexcept
 
template<class lhs_t , class rhs_t , std::enable_if_t<(std::is_same_v< lhs_t, rhs_t >)||(std::is_same_v< real_type< lhs_t >, real_type< rhs_t > >), int > = 0>
constexpr auto tlapack::starpu::operator- (const MatrixEntry< lhs_t > &x, const MatrixEntry< rhs_t > &y) noexcept
 
template<class lhs_t , class rhs_t , std::enable_if_t<(std::is_same_v< lhs_t, rhs_t >)||(std::is_same_v< real_type< lhs_t >, real_type< rhs_t > >), int > = 0>
constexpr auto tlapack::starpu::operator- (const MatrixEntry< lhs_t > &x, const rhs_t &y) noexcept
 
template<class lhs_t , class rhs_t , std::enable_if_t<(std::is_same_v< lhs_t, rhs_t >)||(std::is_same_v< real_type< lhs_t >, real_type< rhs_t > >), int > = 0>
constexpr auto tlapack::starpu::operator/ (const lhs_t &x, const MatrixEntry< rhs_t > &y) noexcept
 
template<class lhs_t , class rhs_t , std::enable_if_t<(std::is_same_v< lhs_t, rhs_t >)||(std::is_same_v< real_type< lhs_t >, real_type< rhs_t > >), int > = 0>
constexpr auto tlapack::starpu::operator/ (const MatrixEntry< lhs_t > &x, const MatrixEntry< rhs_t > &y) noexcept
 
template<class lhs_t , class rhs_t , std::enable_if_t<(std::is_same_v< lhs_t, rhs_t >)||(std::is_same_v< real_type< lhs_t >, real_type< rhs_t > >), int > = 0>
constexpr auto tlapack::starpu::operator/ (const MatrixEntry< lhs_t > &x, const rhs_t &y) noexcept
 

Detailed Description

Author
Weslley S Pereira, University of Colorado Denver, USA

Function Documentation

◆ codelet_init()

constexpr struct starpu_codelet tlapack::starpu::internal::codelet_init ( )
noexcept

Return an empty starpu_codelet struct.

Todo:
: Check that this is correctly initializing values to 0 and NULL

◆ data_op_data()

template<class T , class U , internal::Operation op>
constexpr void tlapack::starpu::internal::data_op_data ( void **  buffers,
void args 
)
constexprnoexcept

MatrixEntry operation with assignment using two StarPU variable buffers.

This function is used to perform data operations on MatrixEntry. Used in tasks submitted to StarPU.

◆ data_op_value()

template<class T , class U , internal::Operation op>
constexpr void tlapack::starpu::internal::data_op_value ( void **  buffers,
void args 
)
constexprnoexcept

MatrixEntry operation with assignment using a StarPU variable buffer and a value.

This function is used to perform data operations on MatrixEntry. Used in tasks submitted to StarPU.

◆ matrixentry_op_matrixentry()

template<class T , internal::Operation op>
constexpr void tlapack::starpu::internal::matrixentry_op_matrixentry ( void **  buffers,
void args 
)
constexprnoexcept

MatrixEntry operation with assignment using a two matrix entries.

This function is used to perform data operations on MatrixEntry. Used in tasks submitted to StarPU.