Stokhos Package Browser (Single Doxygen Collection)
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
src
cusp
detail
dispatch
detail/dispatch/MVmultiply.h
Go to the documentation of this file.
1
/*
2
* Copyright 2008-2009 NVIDIA Corporation
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*/
16
17
#include <cusp/array1d.h>
18
#include <
cusp/detail/device/MVmultiply.h
>
19
20
namespace
cusp
21
{
22
namespace
detail
23
{
24
namespace
dispatch
25
{
27
// Device Paths //
29
template
<
typename
LinearOperator,
30
typename
MatrixOrVector1,
31
typename
MatrixOrVector2>
32
void
MVmultiply
(
const
LinearOperator& A,
33
const
MatrixOrVector1& B,
34
MatrixOrVector2& C,
35
cusp::device_memory,
36
cusp::device_memory,
37
cusp::device_memory)
38
{
39
cusp::detail::device::MVmultiply(A, B, C);
40
}
41
42
template
<
typename
LinearOperator,
43
typename
MatrixOrVector1,
44
typename
MatrixOrVector2>
45
void
OVmultiply
(
const
LinearOperator& A,
46
const
MatrixOrVector1& B,
47
MatrixOrVector2& C,
48
cusp::device_memory,
49
cusp::device_memory,
50
cusp::device_memory)
51
{
52
cusp::detail::device::OVmultiply(A, B, C);
53
}
54
55
template
<
typename
MatrixOrVector,
56
typename
MatrixOrVector1,
57
typename
MatrixOrVector2>
58
void
MVdot
(
const
MatrixOrVector& A,
59
const
MatrixOrVector1& B,
60
MatrixOrVector2& C,
61
cusp::device_memory,
62
cusp::device_memory,
63
cusp::device_memory)
64
{
65
cusp::detail::device::MVdot(A, B, C);
66
}
67
68
template
<
typename
ValueType,
69
typename
MatrixOrVector1,
70
typename
MatrixOrVector2>
71
void
axpby_array
(
const
ValueType& A,
72
const
MatrixOrVector1& X,
73
const
ValueType& B,
74
const
MatrixOrVector1& Y,
75
MatrixOrVector2& Z,
76
cusp::device_memory,
77
cusp::device_memory)
78
{
79
cusp::detail::device::axpby(A, X, B, Y, Z);
80
}
81
82
83
}
// end namespace dispatch
84
}
// end namespace detail
85
}
// end namespace cusp
MVmultiply.h
cusp::detail::dispatch
Definition
detail/dispatch/MVmultiply.h:25
cusp::detail::dispatch::MVdot
void MVdot(const MatrixOrVector &A, const MatrixOrVector1 &B, MatrixOrVector2 &C, cusp::device_memory, cusp::device_memory, cusp::device_memory)
Definition
detail/dispatch/MVmultiply.h:58
cusp::detail::dispatch::MVmultiply
void MVmultiply(const LinearOperator &A, const MatrixOrVector1 &B, MatrixOrVector2 &C, cusp::device_memory, cusp::device_memory, cusp::device_memory)
Definition
detail/dispatch/MVmultiply.h:32
cusp::detail::dispatch::axpby_array
void axpby_array(const ValueType &A, const MatrixOrVector1 &X, const ValueType &B, const MatrixOrVector1 &Y, MatrixOrVector2 &Z, cusp::device_memory, cusp::device_memory)
Definition
detail/dispatch/MVmultiply.h:71
cusp::detail::dispatch::OVmultiply
void OVmultiply(const LinearOperator &A, const MatrixOrVector1 &B, MatrixOrVector2 &C, cusp::device_memory, cusp::device_memory, cusp::device_memory)
Definition
detail/dispatch/MVmultiply.h:45
cusp::detail
Definition
block_lu.h:28
cusp
Definition
block_monitor.h:38
Generated by
1.17.0