QUDA
v0.7.0
A library for QCD on GPUs
Main Page
Namespaces
Classes
Files
File List
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
quda
lib
copy_gauge_double.cu
Go to the documentation of this file.
1
#include "
copy_gauge_inc.cu
"
2
namespace
quda {
3
4
// this is the function that is actually called, from here on down we instantiate all required templates
5
void
copyGenericGaugeDoubleOut
(
GaugeField
&
out
,
const
GaugeField
&
in
,
QudaFieldLocation
location
,
6
void
*Out,
void
*In,
void
**ghostOut,
void
**ghostIn,
int
type) {
7
if
(out.
Precision
() ==
QUDA_DOUBLE_PRECISION
) {
8
if
(in.
Precision
() ==
QUDA_DOUBLE_PRECISION
) {
9
copyGauge
(out, in, location, (
double
*)Out, (
double
*)In, (
double
**)ghostOut, (
double
**)ghostIn, type);
10
}
else
if
(in.
Precision
() ==
QUDA_SINGLE_PRECISION
) {
11
copyGauge
(out, in, location, (
double
*)Out, (
float
*)In, (
double
**)ghostOut, (
float
**)ghostIn, type);
12
}
else
if
(in.
Precision
() ==
QUDA_HALF_PRECISION
) {
13
copyGauge
(out, in, location, (
double
*)Out, (
short
*)In, (
double
**)ghostOut, (
short
**)ghostIn, type);
14
}
15
}
else
if
(out.
Precision
() ==
QUDA_SINGLE_PRECISION
) {
16
errorQuda
(
"Single Precision for output not supported"
);
17
}
else
if
(out.
Precision
() ==
QUDA_HALF_PRECISION
) {
18
errorQuda
(
"Half Precision for output not supported"
);
19
}
20
}
21
22
}
// namespace quda
copy_gauge_inc.cu
quda::copyGauge
void copyGauge(CopyGaugeArg< OutOrder, InOrder > arg)
Definition:
copy_gauge_inc.cu:27
errorQuda
#define errorQuda(...)
Definition:
util_quda.h:73
QUDA_HALF_PRECISION
Definition:
enum_quda.h:48
quda::LatticeField::Precision
QudaPrecision Precision() const
Definition:
lattice_field.h:176
location
const QudaFieldLocation location
Definition:
pack_test.cpp:46
in
cpuColorSpinorField * in
Definition:
staggered_invert_test.cpp:50
QUDA_DOUBLE_PRECISION
Definition:
enum_quda.h:50
QudaFieldLocation
enum QudaFieldLocation_s QudaFieldLocation
out
cpuColorSpinorField * out
Definition:
staggered_invert_test.cpp:51
QUDA_SINGLE_PRECISION
Definition:
enum_quda.h:49
quda::copyGenericGaugeDoubleOut
void copyGenericGaugeDoubleOut(GaugeField &out, const GaugeField &in, QudaFieldLocation location, void *Out, void *In, void **ghostOut, void **ghostIn, int type)
Definition:
copy_gauge_double.cu:5
quda::GaugeField
Definition:
gauge_field.h:118
Generated on Wed Feb 4 2015 17:00:05 for QUDA by
1.8.6