aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/core/kernels/cuda_solvers.cc
diff options
context:
space:
mode:
authorGravatar A. Unique TensorFlower <gardener@tensorflow.org>2017-08-02 10:44:58 -0700
committerGravatar TensorFlower Gardener <gardener@tensorflow.org>2017-08-02 10:49:05 -0700
commit7d0afb0c7ab86c169fdf12c841155409b89126b9 (patch)
treeba172f9354b7098a47d7497626c932717a0cecf2 /tensorflow/core/kernels/cuda_solvers.cc
parent0af3b3afe76ba60d02bcab1ceb05fd0825503c1b (diff)
Implement GPU version of tf.determinant.
PiperOrigin-RevId: 164005038
Diffstat (limited to 'tensorflow/core/kernels/cuda_solvers.cc')
-rw-r--r--tensorflow/core/kernels/cuda_solvers.cc24
1 files changed, 0 insertions, 24 deletions
diff --git a/tensorflow/core/kernels/cuda_solvers.cc b/tensorflow/core/kernels/cuda_solvers.cc
index 358ff7d0e0..e85d17c200 100644
--- a/tensorflow/core/kernels/cuda_solvers.cc
+++ b/tensorflow/core/kernels/cuda_solvers.cc
@@ -44,30 +44,6 @@ inline bool CopyHostToDevice(OpKernelContext* context, void* dst,
return stream->ThenMemcpy(&wrapped_dst, src, bytes).ok();
}
-// Type traits to get CUDA complex types from std::complex<>.
-template <typename T>
-struct CUDAComplexT {
- typedef T type;
-};
-template <>
-struct CUDAComplexT<std::complex<float>> {
- typedef cuComplex type;
-};
-template <>
-struct CUDAComplexT<std::complex<double>> {
- typedef cuDoubleComplex type;
-};
-// Converts pointers of std::complex<> to pointers of
-// cuComplex/cuDoubleComplex. No type conversion for non-complex types.
-template <typename T>
-inline const typename CUDAComplexT<T>::type* CUDAComplex(const T* p) {
- return reinterpret_cast<const typename CUDAComplexT<T>::type*>(p);
-}
-template <typename T>
-inline typename CUDAComplexT<T>::type* CUDAComplex(T* p) {
- return reinterpret_cast<typename CUDAComplexT<T>::type*>(p);
-}
-
// A set of initialized handles to the underlying Cuda libraries used by
// CudaSolver. We maintain one such set of handles per unique stream.
struct CudaSolverHandles {