SpECTRE  v2026.04.01
Loading...
Searching...
No Matches
Performance, Efficiency, and Optimizations

Classes and functions useful for performance optimizations. More...

Macros

#define VARIABLE_CAUSES_CLANG_FPE(var)
 Clang's optimizer has a known bug that sometimes produces spurious FPEs. This indicates that the variable var can trigger that bug and prevents some optimizations. This is fixed upstream in Clang 11.
template<size_t N, typename DataType = DataVector>
using Tags::TempScalar = TempTensor<N, Scalar<DataType>>
 Variables Tags for temporary tensors inside a function.
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::Tempa = TempTensor<N, tnsr::a<DataType, SpatialDim, Fr>>
 Variables Tags for temporary tensors inside a function.
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::TempA = TempTensor<N, tnsr::A<DataType, SpatialDim, Fr>>
 Variables Tags for temporary tensors inside a function.
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::Tempi = TempTensor<N, tnsr::i<DataType, SpatialDim, Fr>>
 Variables Tags for temporary tensors inside a function.
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::TempI = TempTensor<N, tnsr::I<DataType, SpatialDim, Fr>>
 Variables Tags for temporary tensors inside a function.
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::Tempab = TempTensor<N, tnsr::ab<DataType, SpatialDim, Fr>>
 Variables Tags for temporary tensors inside a function.
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::TempaB = TempTensor<N, tnsr::aB<DataType, SpatialDim, Fr>>
 Variables Tags for temporary tensors inside a function.
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::TempAb = TempTensor<N, tnsr::Ab<DataType, SpatialDim, Fr>>
 Variables Tags for temporary tensors inside a function.
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::TempAB = TempTensor<N, tnsr::AB<DataType, SpatialDim, Fr>>
 Variables Tags for temporary tensors inside a function.
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::Tempij = TempTensor<N, tnsr::ij<DataType, SpatialDim, Fr>>
 Variables Tags for temporary tensors inside a function.
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::TempiJ = TempTensor<N, tnsr::iJ<DataType, SpatialDim, Fr>>
 Variables Tags for temporary tensors inside a function.
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::TempIj = TempTensor<N, tnsr::Ij<DataType, SpatialDim, Fr>>
 Variables Tags for temporary tensors inside a function.
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::TempIJ = TempTensor<N, tnsr::IJ<DataType, SpatialDim, Fr>>
 Variables Tags for temporary tensors inside a function.
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::Tempia = TempTensor<N, tnsr::ia<DataType, SpatialDim, Fr>>
 Variables Tags for temporary tensors inside a function.
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::Tempaa = TempTensor<N, tnsr::aa<DataType, SpatialDim, Fr>>
 Variables Tags for temporary tensors inside a function.
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::TempAA = TempTensor<N, tnsr::AA<DataType, SpatialDim, Fr>>
 Variables Tags for temporary tensors inside a function.
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::Tempii = TempTensor<N, tnsr::ii<DataType, SpatialDim, Fr>>
 Variables Tags for temporary tensors inside a function.
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::TempII = TempTensor<N, tnsr::II<DataType, SpatialDim, Fr>>
 Variables Tags for temporary tensors inside a function.
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::Tempijj = TempTensor<N, tnsr::ijj<DataType, SpatialDim, Fr>>
 Variables Tags for temporary tensors inside a function.
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::TempIjj = TempTensor<N, tnsr::Ijj<DataType, SpatialDim, Fr>>
 Variables Tags for temporary tensors inside a function.
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::Tempijk = TempTensor<N, tnsr::ijk<DataType, SpatialDim, Fr>>
 Variables Tags for temporary tensors inside a function.
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::TempiJk = TempTensor<N, tnsr::iJk<DataType, SpatialDim, Fr>>
 Variables Tags for temporary tensors inside a function.
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::TempijK = TempTensor<N, tnsr::ijK<DataType, SpatialDim, Fr>>
 Variables Tags for temporary tensors inside a function.
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::Tempiii = TempTensor<N, tnsr::iii<DataType, SpatialDim, Fr>>
 Variables Tags for temporary tensors inside a function.
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::Tempiaa = TempTensor<N, tnsr::iaa<DataType, SpatialDim, Fr>>
 Variables Tags for temporary tensors inside a function.
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::TempIaa = TempTensor<N, tnsr::Iaa<DataType, SpatialDim, Fr>>
 Variables Tags for temporary tensors inside a function.
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::TempiaB = TempTensor<N, tnsr::iaB<DataType, SpatialDim, Fr>>
 Variables Tags for temporary tensors inside a function.
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::Tempabb = TempTensor<N, tnsr::abb<DataType, SpatialDim, Fr>>
 Variables Tags for temporary tensors inside a function.
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::TempabC = TempTensor<N, tnsr::abC<DataType, SpatialDim, Fr>>
 Variables Tags for temporary tensors inside a function.
template<size_t N, size_t SpatialDim, typename Fr = Frame::Inertial, typename DataType = DataVector>
using Tags::Tempijaa = TempTensor<N, tnsr::ijaa<DataType, SpatialDim, Fr>>
 Variables Tags for temporary tensors inside a function.

Detailed Description

Classes and functions useful for performance optimizations.

Macro Definition Documentation

◆ VARIABLE_CAUSES_CLANG_FPE

#define VARIABLE_CAUSES_CLANG_FPE ( var)
Value:
((void)(var))

Clang's optimizer has a known bug that sometimes produces spurious FPEs. This indicates that the variable var can trigger that bug and prevents some optimizations. This is fixed upstream in Clang 11.