CUTLASS
CUDA Templates for Linear Algebra Subroutines and Solvers
|
#include <cuComplex.h>
#include <cstdint>
#include "cutlass/cutlass.h"
#include "cutlass/half.h"
#include "cutlass/real.h"
#include <iosfwd>
Go to the source code of this file.
Classes | |
class | cutlass::complex< T > |
struct | cutlass::RealType< complex< T > > |
Partial specialization for complex-valued type. More... | |
Namespaces | |
cutlass | |
Enumerations | |
enum | cutlass::ComplexTransform { cutlass::ComplexTransform::kNone, cutlass::ComplexTransform::kConjugate } |
Enumeraed type describing a transformation on a complex value. More... | |
Functions | |
CUTLASS_HOST_DEVICE float const & | cutlass::real (cuFloatComplex const &z) |
Returns the real part of the complex number. More... | |
CUTLASS_HOST_DEVICE float & | cutlass::real (cuFloatComplex &z) |
Returns the real part of the complex number. More... | |
CUTLASS_HOST_DEVICE double const & | cutlass::real (cuDoubleComplex const &z) |
Returns the real part of the complex number. More... | |
CUTLASS_HOST_DEVICE double & | cutlass::real (cuDoubleComplex &z) |
Returns the real part of the complex number. More... | |
CUTLASS_HOST_DEVICE float const & | cutlass::imag (cuFloatComplex const &z) |
Returns the imaginary part of the complex number. More... | |
CUTLASS_HOST_DEVICE float & | cutlass::imag (cuFloatComplex &z) |
Returns the imaginary part of the complex number. More... | |
CUTLASS_HOST_DEVICE double const & | cutlass::imag (cuDoubleComplex const &z) |
Returns the imaginary part of the complex number. More... | |
CUTLASS_HOST_DEVICE double & | cutlass::imag (cuDoubleComplex &z) |
Returns the imaginary part of the complex number. More... | |
template<typename T > | |
CUTLASS_HOST_DEVICE T const & | cutlass::real (complex< T > const &z) |
Returns the real part of the complex number. More... | |
template<typename T > | |
CUTLASS_HOST_DEVICE T & | cutlass::real (complex< T > &z) |
Returns the real part of the complex number. More... | |
template<typename T > | |
CUTLASS_HOST_DEVICE T const & | cutlass::imag (complex< T > const &z) |
Returns the imaginary part of the complex number. More... | |
template<typename T > | |
CUTLASS_HOST_DEVICE T & | cutlass::imag (complex< T > &z) |
Returns the imaginary part of the complex number. More... | |
template<typename T > | |
std::ostream & | cutlass::operator<< (std::ostream &out, complex< T > const &z) |
template<typename T > | |
CUTLASS_HOST_DEVICE T | cutlass::abs (complex< T > const &z) |
Returns the magnitude of the complex number. More... | |
template<typename T > | |
CUTLASS_HOST_DEVICE T | cutlass::arg (complex< T > const &z) |
Returns the magnitude of the complex number. More... | |
template<typename T > | |
CUTLASS_HOST_DEVICE T | cutlass::norm (T const &z) |
Returns the squared magnitude of a real number. More... | |
template<> | |
CUTLASS_HOST_DEVICE int8_t | cutlass::norm (int8_t const &z) |
Returns the squared magnitude of a real number. More... | |
template<typename T > | |
CUTLASS_HOST_DEVICE double | cutlass::norm (complex< T > const &z) |
Returns the squared magnitude of a complex number. More... | |
template<typename T , typename R > | |
CUTLASS_HOST_DEVICE R | cutlass::norm_accumulate (T const &x, R const &accumulator) |
Norm-accumulate calculation. More... | |
template<typename T , typename R > | |
CUTLASS_HOST_DEVICE R | cutlass::norm_accumulate (complex< T > const &z, R const &accumulator) |
Norm accumulate specialized for complex types. More... | |
template<typename T > | |
CUTLASS_HOST_DEVICE complex< T > | cutlass::conj (complex< T > const &z) |
Returns the complex conjugate. More... | |
template<typename T > | |
CUTLASS_HOST_DEVICE complex< T > | cutlass::proj (complex< T > const &z) |
Projects the complex number z onto the Riemann sphere. More... | |
template<typename T > | |
CUTLASS_HOST_DEVICE complex< T > | cutlass::polar (T const &r, T const &theta=T()) |
Returns a complex number with magnitude r and phase theta. More... | |
template<typename T > | |
CUTLASS_HOST_DEVICE complex< T > | cutlass::exp (complex< T > const &z) |
Computes the complex exponential of z. More... | |
template<typename T > | |
CUTLASS_HOST_DEVICE complex< T > | cutlass::log (complex< T > const &z) |
Computes the complex exponential of z. More... | |
template<typename T > | |
CUTLASS_HOST_DEVICE complex< T > | cutlass::log10 (complex< T > const &z) |
Computes the complex exponential of z. More... | |
template<typename T > | |
CUTLASS_HOST_DEVICE complex< T > | cutlass::sqrt (complex< T > const &z) |
Computes the square root of complex number z. More... | |
template<typename T > | |
CUTLASS_HOST_DEVICE complex< T > | cutlass::cos (complex< T > const &z) |
Computes the cosine of complex z. More... | |
template<typename T > | |
CUTLASS_HOST_DEVICE complex< T > | cutlass::sin (complex< T > const &z) |
Computes the sin of complex z. More... | |
template<> | |
CUTLASS_HOST_DEVICE cutlass::complex< half_t > | cutlass::from_real< cutlass::complex< half_t > > (double r) |
template<> | |
CUTLASS_HOST_DEVICE cutlass::complex< float > | cutlass::from_real< cutlass::complex< float > > (double r) |
template<> | |
CUTLASS_HOST_DEVICE cutlass::complex< double > | cutlass::from_real< cutlass::complex< double > > (double r) |