Documentation 6b54b78464
Loading...
Searching...
No Matches
CSysVectorGPU.cu File Reference

Implementations of Kernels and Functions for Vector Operations on the GPU. More...

Namespaces

namespace  VecExpr
 

Macros

#define DEVICE_EXPRESSION_SHAPES(SCALAR)
 
#define INSTANTIATE_DEVICE_ASSIGN(SCALAR, OP, EXPR)
 
#define INSTANTIATE_DEVICE_ASSIGN_EXPR(SCALAR, EXPR)
 

Functions

bool VecExpr::UseDeviceExpressions ()
 Whether vector expressions are currently evaluated on the device.
 
void VecExpr::SetUseDeviceExpressions (bool)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Assign, su2mixedfloat, DeviceBcast< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceBcast< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Add, su2mixedfloat, DeviceBcast< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceBcast< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Subtract, su2mixedfloat, DeviceBcast< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceBcast< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Multiply, su2mixedfloat, DeviceBcast< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceBcast< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Divide, su2mixedfloat, DeviceBcast< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceBcast< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Assign, su2mixedfloat, DeviceView< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceView< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Add, su2mixedfloat, DeviceView< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceView< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Subtract, su2mixedfloat, DeviceView< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceView< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Multiply, su2mixedfloat, DeviceView< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceView< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Divide, su2mixedfloat, DeviceView< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceView< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Assign, su2mixedfloat, DeviceNeg< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceNeg< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Add, su2mixedfloat, DeviceNeg< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceNeg< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Subtract, su2mixedfloat, DeviceNeg< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceNeg< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Multiply, su2mixedfloat, DeviceNeg< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceNeg< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Divide, su2mixedfloat, DeviceNeg< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceNeg< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Assign, su2mixedfloat, DeviceScale< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceScale< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Add, su2mixedfloat, DeviceScale< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceScale< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Subtract, su2mixedfloat, DeviceScale< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceScale< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Multiply, su2mixedfloat, DeviceScale< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceScale< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Divide, su2mixedfloat, DeviceScale< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceScale< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Assign, su2mixedfloat, DeviceLScale< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceLScale< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Add, su2mixedfloat, DeviceLScale< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceLScale< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Subtract, su2mixedfloat, DeviceLScale< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceLScale< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Multiply, su2mixedfloat, DeviceLScale< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceLScale< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Divide, su2mixedfloat, DeviceLScale< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceLScale< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Assign, su2mixedfloat, DeviceDivScale< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceDivScale< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Add, su2mixedfloat, DeviceDivScale< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceDivScale< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Subtract, su2mixedfloat, DeviceDivScale< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceDivScale< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Multiply, su2mixedfloat, DeviceDivScale< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceDivScale< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Divide, su2mixedfloat, DeviceDivScale< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceDivScale< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Assign, su2mixedfloat, DeviceScale2< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceScale2< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Add, su2mixedfloat, DeviceScale2< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceScale2< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Subtract, su2mixedfloat, DeviceScale2< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceScale2< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Multiply, su2mixedfloat, DeviceScale2< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceScale2< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Divide, su2mixedfloat, DeviceScale2< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceScale2< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Assign, su2mixedfloat, DeviceScale3< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceScale3< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Add, su2mixedfloat, DeviceScale3< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceScale3< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Subtract, su2mixedfloat, DeviceScale3< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceScale3< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Multiply, su2mixedfloat, DeviceScale3< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceScale3< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Divide, su2mixedfloat, DeviceScale3< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceScale3< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Assign, su2mixedfloat, DeviceScale4< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceScale4< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Add, su2mixedfloat, DeviceScale4< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceScale4< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Subtract, su2mixedfloat, DeviceScale4< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceScale4< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Multiply, su2mixedfloat, DeviceScale4< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceScale4< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Divide, su2mixedfloat, DeviceScale4< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceScale4< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Assign, su2mixedfloat, DeviceSub< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceSub< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Add, su2mixedfloat, DeviceSub< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceSub< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Subtract, su2mixedfloat, DeviceSub< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceSub< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Multiply, su2mixedfloat, DeviceSub< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceSub< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Divide, su2mixedfloat, DeviceSub< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceSub< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Assign, su2mixedfloat, DeviceLScalePlus< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceLScalePlus< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Add, su2mixedfloat, DeviceLScalePlus< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceLScalePlus< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Subtract, su2mixedfloat, DeviceLScalePlus< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceLScalePlus< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Multiply, su2mixedfloat, DeviceLScalePlus< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceLScalePlus< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Divide, su2mixedfloat, DeviceLScalePlus< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceLScalePlus< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Assign, su2mixedfloat, DeviceSubLScale< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceSubLScale< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Add, su2mixedfloat, DeviceSubLScale< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceSubLScale< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Subtract, su2mixedfloat, DeviceSubLScale< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceSubLScale< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Multiply, su2mixedfloat, DeviceSubLScale< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceSubLScale< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Divide, su2mixedfloat, DeviceSubLScale< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceSubLScale< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Assign, su2mixedfloat, DeviceLScaleSub< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceLScaleSub< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Add, su2mixedfloat, DeviceLScaleSub< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceLScaleSub< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Subtract, su2mixedfloat, DeviceLScaleSub< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceLScaleSub< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Multiply, su2mixedfloat, DeviceLScaleSub< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceLScaleSub< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Divide, su2mixedfloat, DeviceLScaleSub< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceLScaleSub< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Assign, su2mixedfloat, DeviceBcgsDir< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceBcgsDir< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Add, su2mixedfloat, DeviceBcgsDir< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceBcgsDir< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Subtract, su2mixedfloat, DeviceBcgsDir< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceBcgsDir< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Multiply, su2mixedfloat, DeviceBcgsDir< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceBcgsDir< su2mixedfloat >, su2mixedfloat > &)
 
template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Divide, su2mixedfloat, DeviceBcgsDir< su2mixedfloat > > (su2mixedfloat *, unsigned long, const VecExpr::CVecExpr< DeviceBcgsDir< su2mixedfloat >, su2mixedfloat > &)
 

Detailed Description

Implementations of Kernels and Functions for Vector Operations on the GPU.

Author
A. Raj, D. Di giusto
Version
8.5.0 "Harrier"

SU2 Project Website: https://su2code.github.io

The SU2 Project is maintained by the SU2 Foundation (http://su2foundation.org)

Copyright 2012-2026, SU2 Contributors (cf. AUTHORS.md)

SU2 is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

SU2 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with SU2. If not, see http://www.gnu.org/licenses/.

Macro Definition Documentation

◆ DEVICE_EXPRESSION_SHAPES

#define DEVICE_EXPRESSION_SHAPES (   SCALAR)
Value:
INSTANTIATE_DEVICE_ASSIGN_EXPR(SCALAR, DeviceBcast); \
INSTANTIATE_DEVICE_ASSIGN_EXPR(SCALAR, DeviceView); \
INSTANTIATE_DEVICE_ASSIGN_EXPR(SCALAR, DeviceNeg); \
INSTANTIATE_DEVICE_ASSIGN_EXPR(SCALAR, DeviceScale); \
INSTANTIATE_DEVICE_ASSIGN_EXPR(SCALAR, DeviceLScale); \
INSTANTIATE_DEVICE_ASSIGN_EXPR(SCALAR, DeviceDivScale); \
INSTANTIATE_DEVICE_ASSIGN_EXPR(SCALAR, DeviceScale2); \
INSTANTIATE_DEVICE_ASSIGN_EXPR(SCALAR, DeviceScale3); \
INSTANTIATE_DEVICE_ASSIGN_EXPR(SCALAR, DeviceScale4); \
INSTANTIATE_DEVICE_ASSIGN_EXPR(SCALAR, DeviceSub); \
INSTANTIATE_DEVICE_ASSIGN_EXPR(SCALAR, DeviceLScalePlus); \
INSTANTIATE_DEVICE_ASSIGN_EXPR(SCALAR, DeviceSubLScale); \
INSTANTIATE_DEVICE_ASSIGN_EXPR(SCALAR, DeviceLScaleSub); \
INSTANTIATE_DEVICE_ASSIGN_EXPR(SCALAR, DeviceBcgsDir)
#define INSTANTIATE_DEVICE_ASSIGN_EXPR(SCALAR, EXPR)
Definition CSysVectorGPU.cu:411

◆ INSTANTIATE_DEVICE_ASSIGN

#define INSTANTIATE_DEVICE_ASSIGN (   SCALAR,
  OP,
  EXPR 
)
Value:
template void VecExpr::AssignDeviceExpression<VecExpr::DeviceAssignOp::OP, SCALAR, EXPR<SCALAR>>( \
SCALAR*, unsigned long, const VecExpr::CVecExpr<EXPR<SCALAR>, SCALAR>&)
Base vector expression class.
Definition vector_expressions.hpp:58

◆ INSTANTIATE_DEVICE_ASSIGN_EXPR

#define INSTANTIATE_DEVICE_ASSIGN_EXPR (   SCALAR,
  EXPR 
)
Value:
INSTANTIATE_DEVICE_ASSIGN(SCALAR, Assign, EXPR); \
INSTANTIATE_DEVICE_ASSIGN(SCALAR, Add, EXPR); \
INSTANTIATE_DEVICE_ASSIGN(SCALAR, Subtract, EXPR); \
INSTANTIATE_DEVICE_ASSIGN(SCALAR, Multiply, EXPR); \
INSTANTIATE_DEVICE_ASSIGN(SCALAR, Divide, EXPR)
#define INSTANTIATE_DEVICE_ASSIGN(SCALAR, OP, EXPR)
Definition CSysVectorGPU.cu:407

Function Documentation

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Add, su2mixedfloat, DeviceBcast< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Add, su2mixedfloat, DeviceBcast< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceBcast< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Add, su2mixedfloat, DeviceBcgsDir< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Add, su2mixedfloat, DeviceBcgsDir< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceBcgsDir< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Add, su2mixedfloat, DeviceDivScale< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Add, su2mixedfloat, DeviceDivScale< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceDivScale< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Add, su2mixedfloat, DeviceLScale< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Add, su2mixedfloat, DeviceLScale< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceLScale< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Add, su2mixedfloat, DeviceLScalePlus< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Add, su2mixedfloat, DeviceLScalePlus< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceLScalePlus< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Add, su2mixedfloat, DeviceLScaleSub< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Add, su2mixedfloat, DeviceLScaleSub< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceLScaleSub< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Add, su2mixedfloat, DeviceNeg< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Add, su2mixedfloat, DeviceNeg< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceNeg< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Add, su2mixedfloat, DeviceScale2< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Add, su2mixedfloat, DeviceScale2< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceScale2< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Add, su2mixedfloat, DeviceScale3< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Add, su2mixedfloat, DeviceScale3< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceScale3< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Add, su2mixedfloat, DeviceScale4< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Add, su2mixedfloat, DeviceScale4< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceScale4< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Add, su2mixedfloat, DeviceScale< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Add, su2mixedfloat, DeviceScale< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceScale< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Add, su2mixedfloat, DeviceSub< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Add, su2mixedfloat, DeviceSub< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceSub< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Add, su2mixedfloat, DeviceSubLScale< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Add, su2mixedfloat, DeviceSubLScale< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceSubLScale< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Add, su2mixedfloat, DeviceView< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Add, su2mixedfloat, DeviceView< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceView< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Assign, su2mixedfloat, DeviceBcast< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Assign, su2mixedfloat, DeviceBcast< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceBcast< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Assign, su2mixedfloat, DeviceBcgsDir< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Assign, su2mixedfloat, DeviceBcgsDir< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceBcgsDir< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Assign, su2mixedfloat, DeviceDivScale< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Assign, su2mixedfloat, DeviceDivScale< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceDivScale< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Assign, su2mixedfloat, DeviceLScale< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Assign, su2mixedfloat, DeviceLScale< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceLScale< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Assign, su2mixedfloat, DeviceLScalePlus< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Assign, su2mixedfloat, DeviceLScalePlus< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceLScalePlus< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Assign, su2mixedfloat, DeviceLScaleSub< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Assign, su2mixedfloat, DeviceLScaleSub< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceLScaleSub< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Assign, su2mixedfloat, DeviceNeg< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Assign, su2mixedfloat, DeviceNeg< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceNeg< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Assign, su2mixedfloat, DeviceScale2< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Assign, su2mixedfloat, DeviceScale2< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceScale2< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Assign, su2mixedfloat, DeviceScale3< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Assign, su2mixedfloat, DeviceScale3< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceScale3< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Assign, su2mixedfloat, DeviceScale4< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Assign, su2mixedfloat, DeviceScale4< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceScale4< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Assign, su2mixedfloat, DeviceScale< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Assign, su2mixedfloat, DeviceScale< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceScale< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Assign, su2mixedfloat, DeviceSub< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Assign, su2mixedfloat, DeviceSub< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceSub< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Assign, su2mixedfloat, DeviceSubLScale< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Assign, su2mixedfloat, DeviceSubLScale< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceSubLScale< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Assign, su2mixedfloat, DeviceView< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Assign, su2mixedfloat, DeviceView< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceView< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Divide, su2mixedfloat, DeviceBcast< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Divide, su2mixedfloat, DeviceBcast< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceBcast< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Divide, su2mixedfloat, DeviceBcgsDir< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Divide, su2mixedfloat, DeviceBcgsDir< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceBcgsDir< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Divide, su2mixedfloat, DeviceDivScale< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Divide, su2mixedfloat, DeviceDivScale< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceDivScale< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Divide, su2mixedfloat, DeviceLScale< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Divide, su2mixedfloat, DeviceLScale< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceLScale< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Divide, su2mixedfloat, DeviceLScalePlus< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Divide, su2mixedfloat, DeviceLScalePlus< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceLScalePlus< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Divide, su2mixedfloat, DeviceLScaleSub< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Divide, su2mixedfloat, DeviceLScaleSub< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceLScaleSub< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Divide, su2mixedfloat, DeviceNeg< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Divide, su2mixedfloat, DeviceNeg< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceNeg< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Divide, su2mixedfloat, DeviceScale2< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Divide, su2mixedfloat, DeviceScale2< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceScale2< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Divide, su2mixedfloat, DeviceScale3< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Divide, su2mixedfloat, DeviceScale3< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceScale3< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Divide, su2mixedfloat, DeviceScale4< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Divide, su2mixedfloat, DeviceScale4< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceScale4< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Divide, su2mixedfloat, DeviceScale< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Divide, su2mixedfloat, DeviceScale< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceScale< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Divide, su2mixedfloat, DeviceSub< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Divide, su2mixedfloat, DeviceSub< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceSub< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Divide, su2mixedfloat, DeviceSubLScale< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Divide, su2mixedfloat, DeviceSubLScale< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceSubLScale< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Divide, su2mixedfloat, DeviceView< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Divide, su2mixedfloat, DeviceView< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceView< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Multiply, su2mixedfloat, DeviceBcast< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Multiply, su2mixedfloat, DeviceBcast< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceBcast< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Multiply, su2mixedfloat, DeviceBcgsDir< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Multiply, su2mixedfloat, DeviceBcgsDir< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceBcgsDir< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Multiply, su2mixedfloat, DeviceDivScale< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Multiply, su2mixedfloat, DeviceDivScale< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceDivScale< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Multiply, su2mixedfloat, DeviceLScale< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Multiply, su2mixedfloat, DeviceLScale< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceLScale< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Multiply, su2mixedfloat, DeviceLScalePlus< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Multiply, su2mixedfloat, DeviceLScalePlus< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceLScalePlus< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Multiply, su2mixedfloat, DeviceLScaleSub< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Multiply, su2mixedfloat, DeviceLScaleSub< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceLScaleSub< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Multiply, su2mixedfloat, DeviceNeg< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Multiply, su2mixedfloat, DeviceNeg< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceNeg< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Multiply, su2mixedfloat, DeviceScale2< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Multiply, su2mixedfloat, DeviceScale2< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceScale2< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Multiply, su2mixedfloat, DeviceScale3< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Multiply, su2mixedfloat, DeviceScale3< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceScale3< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Multiply, su2mixedfloat, DeviceScale4< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Multiply, su2mixedfloat, DeviceScale4< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceScale4< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Multiply, su2mixedfloat, DeviceScale< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Multiply, su2mixedfloat, DeviceScale< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceScale< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Multiply, su2mixedfloat, DeviceSub< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Multiply, su2mixedfloat, DeviceSub< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceSub< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Multiply, su2mixedfloat, DeviceSubLScale< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Multiply, su2mixedfloat, DeviceSubLScale< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceSubLScale< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Multiply, su2mixedfloat, DeviceView< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Multiply, su2mixedfloat, DeviceView< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceView< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Subtract, su2mixedfloat, DeviceBcast< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Subtract, su2mixedfloat, DeviceBcast< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceBcast< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Subtract, su2mixedfloat, DeviceBcgsDir< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Subtract, su2mixedfloat, DeviceBcgsDir< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceBcgsDir< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Subtract, su2mixedfloat, DeviceDivScale< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Subtract, su2mixedfloat, DeviceDivScale< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceDivScale< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Subtract, su2mixedfloat, DeviceLScale< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Subtract, su2mixedfloat, DeviceLScale< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceLScale< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Subtract, su2mixedfloat, DeviceLScalePlus< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Subtract, su2mixedfloat, DeviceLScalePlus< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceLScalePlus< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Subtract, su2mixedfloat, DeviceLScaleSub< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Subtract, su2mixedfloat, DeviceLScaleSub< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceLScaleSub< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Subtract, su2mixedfloat, DeviceNeg< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Subtract, su2mixedfloat, DeviceNeg< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceNeg< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Subtract, su2mixedfloat, DeviceScale2< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Subtract, su2mixedfloat, DeviceScale2< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceScale2< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Subtract, su2mixedfloat, DeviceScale3< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Subtract, su2mixedfloat, DeviceScale3< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceScale3< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Subtract, su2mixedfloat, DeviceScale4< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Subtract, su2mixedfloat, DeviceScale4< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceScale4< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Subtract, su2mixedfloat, DeviceScale< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Subtract, su2mixedfloat, DeviceScale< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceScale< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Subtract, su2mixedfloat, DeviceSub< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Subtract, su2mixedfloat, DeviceSub< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceSub< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Subtract, su2mixedfloat, DeviceSubLScale< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Subtract, su2mixedfloat, DeviceSubLScale< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceSubLScale< su2mixedfloat >, su2mixedfloat > &   
)

◆ VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Subtract, su2mixedfloat, DeviceView< su2mixedfloat > >()

template void VecExpr::AssignDeviceExpression< VecExpr::DeviceAssignOp::Subtract, su2mixedfloat, DeviceView< su2mixedfloat > > ( su2mixedfloat *  ,
unsigned long  ,
const VecExpr::CVecExpr< DeviceView< su2mixedfloat >, su2mixedfloat > &   
)