diff --git a/include/int_list.hpp b/include/int_list.hpp new file mode 100644 index 0000000000..a73efa12b0 --- /dev/null +++ b/include/int_list.hpp @@ -0,0 +1,10 @@ +#pragma once + +namespace quda { + + /** + @brief This is a dummy struct that wraps around a list of integers + */ + template struct IntList { }; + +} diff --git a/lib/block_orthogonalize.in.cpp b/lib/block_orthogonalize.in.cpp index 1f3051bbd2..7b041f63e3 100644 --- a/lib/block_orthogonalize.in.cpp +++ b/lib/block_orthogonalize.in.cpp @@ -1,11 +1,9 @@ #include "multigrid.h" +#include namespace quda { - template struct IntList { - }; - template void BlockOrthogonalize2(ColorSpinorField &V, const std::vector &B, const int *fine_to_coarse, const int *coarse_to_fine, const int *geo_bs, int spin_bs, int n_block_ortho, bool two_pass, diff --git a/lib/block_transpose.in.cu b/lib/block_transpose.in.cu index dfeacc59e6..b2748fa5a4 100644 --- a/lib/block_transpose.in.cu +++ b/lib/block_transpose.in.cu @@ -3,6 +3,7 @@ #include #include #include +#include /** @file BlockTranspose does the transpose between the two different orders of batched colorspinor fields: @@ -111,9 +112,6 @@ namespace quda } // namespace impl - template struct IntList { - }; - template void launch_span_nVec(v_t &V, cvector_ref &B, bool from_to_non_rel, IntList) { diff --git a/lib/coarse_op.in.cpp b/lib/coarse_op.in.cpp index e35a2b3dce..230da87627 100644 --- a/lib/coarse_op.in.cpp +++ b/lib/coarse_op.in.cpp @@ -1,11 +1,9 @@ #include "multigrid.h" +#include namespace quda { - template struct IntList { - }; - template void CoarseOp2(GaugeField &Y, GaugeField &X, const Transfer &T, const GaugeField &gauge, const CloverField *clover, double kappa, double mass, double mu, double mu_factor, QudaDiracType dirac, QudaMatPCType matpc, diff --git a/lib/coarse_op_preconditioned.in.cpp b/lib/coarse_op_preconditioned.in.cpp index 706a1541a8..64b1653ec0 100644 --- a/lib/coarse_op_preconditioned.in.cpp +++ b/lib/coarse_op_preconditioned.in.cpp @@ -1,11 +1,9 @@ #include "multigrid.h" +#include namespace quda { - template struct IntList { - }; - template void calculateYhat(GaugeField &Yhat, GaugeField &Xinv, const GaugeField &Y, const GaugeField &X, bool use_mma, IntList) diff --git a/lib/coarsecoarse_op.in.cpp b/lib/coarsecoarse_op.in.cpp index 4f504bd416..70b39f0d98 100644 --- a/lib/coarsecoarse_op.in.cpp +++ b/lib/coarsecoarse_op.in.cpp @@ -1,11 +1,9 @@ #include "multigrid.h" +#include namespace quda { - template struct IntList { - }; - template void CoarseCoarseOp2(GaugeField &Y, GaugeField &X, const Transfer &T, const GaugeField &gauge, const GaugeField &clover, const GaugeField &cloverInv, double kappa, double mass, double mu, diff --git a/lib/color_spinor_pack.in.cu b/lib/color_spinor_pack.in.cu index d2e8738098..d1b19fb8c9 100644 --- a/lib/color_spinor_pack.in.cu +++ b/lib/color_spinor_pack.in.cu @@ -3,6 +3,7 @@ #include #include #include +#include /** @file color_spinor_pack.cu @@ -153,8 +154,6 @@ namespace quda { long long bytes() const { return work_items * 2 * a.Nspin() * a.Ncolor() * (a.Precision() + a.GhostPrecision()); } }; - template struct IntList { }; - template bool genericPackGhostC(void **ghost, const ColorSpinorField &a, QudaParity parity, int nFace, int dagger, MemoryLocation *destination, int shmem, cvector_ref &v, diff --git a/lib/color_spinor_util.in.cu b/lib/color_spinor_util.in.cu index 71664614cf..3529d64e5a 100644 --- a/lib/color_spinor_util.in.cu +++ b/lib/color_spinor_util.in.cu @@ -5,6 +5,7 @@ #include #include #include +#include namespace quda { @@ -127,8 +128,6 @@ namespace quda { else errorQuda("Unsupported source type %d", sourceType); } - template struct IntList { }; - template void genericSource(const pack_t &pack, IntList) { diff --git a/lib/copy_color_spinor_mg.in.hpp b/lib/copy_color_spinor_mg.in.hpp index 343e0a18ff..fabf61a649 100644 --- a/lib/copy_color_spinor_mg.in.hpp +++ b/lib/copy_color_spinor_mg.in.hpp @@ -13,6 +13,7 @@ #include #include #include +#include namespace quda { @@ -164,9 +165,6 @@ namespace quda { } - template struct IntList { - }; - template bool instantiateColor(const ColorSpinorField &field, const param_t ¶m, IntList) { diff --git a/lib/copy_gauge.in.cpp b/lib/copy_gauge.in.cpp index 24bbf9ddbb..ad8a869f1e 100644 --- a/lib/copy_gauge.in.cpp +++ b/lib/copy_gauge.in.cpp @@ -1,5 +1,6 @@ #include #include +#include namespace quda { @@ -19,9 +20,6 @@ namespace quda { void copyGenericGaugeMG(GaugeField &out, const GaugeField &in, QudaFieldLocation location, void *Out, void *In, void **ghostOut, void **ghostIn, int type); - template struct IntList { - }; - template void copyGenericGaugeMG(GaugeField &out, const GaugeField &in, QudaFieldLocation location, void *Out, void *In, void **ghostOut, void **ghostIn, int type, IntList) diff --git a/lib/dslash_coarse_mma.in.hpp b/lib/dslash_coarse_mma.in.hpp index 5409880b0e..3ee38fe97c 100644 --- a/lib/dslash_coarse_mma.in.hpp +++ b/lib/dslash_coarse_mma.in.hpp @@ -147,7 +147,6 @@ namespace quda if (clover) { strcat(aux, ",clover"); } setRHSstring(aux, out[0].Nvec_actual()); - strcat(aux, rhs_str); #ifdef USE_TENSOR_MEMORY_ACCELERATOR strcat(aux, ",use_tma"); #endif diff --git a/lib/dslash_mdw_fused.in.hpp b/lib/dslash_mdw_fused.in.hpp index c97922a776..66b96f773d 100644 --- a/lib/dslash_mdw_fused.in.hpp +++ b/lib/dslash_mdw_fused.in.hpp @@ -7,6 +7,7 @@ #include #include #include +#include // Tensor core functions for Mobius DWF namespace quda @@ -21,9 +22,6 @@ namespace quda const Complex *b_5, const Complex *c_5, bool dagger, int parity, int shift[4], int halo_shift[4], MdwfFusedDslashType type); - template struct IntList { - }; - template void apply_fused_dslash_list(ColorSpinorField &out, const ColorSpinorField &in, const GaugeField &U, ColorSpinorField &y, const ColorSpinorField &x, double m_f, double m_5, diff --git a/lib/extract_gauge_ghost.in.cu b/lib/extract_gauge_ghost.in.cu index f0f4fe27c1..878de6118b 100644 --- a/lib/extract_gauge_ghost.in.cu +++ b/lib/extract_gauge_ghost.in.cu @@ -1,6 +1,7 @@ #include #include #include "multigrid.h" +#include namespace quda { @@ -120,8 +121,6 @@ namespace quda { template void extractGaugeGhostMG(const GaugeField &u, void **ghost, bool extract, int offset); - template struct IntList { }; - template void extractGaugeGhostMG(const GaugeField &u, void **ghost, bool extract, int offset, IntList) { diff --git a/lib/gauge_noise.in.cu b/lib/gauge_noise.in.cu index 5ddd110013..246f4d5a98 100644 --- a/lib/gauge_noise.in.cu +++ b/lib/gauge_noise.in.cu @@ -4,6 +4,7 @@ #include #include #include +#include namespace quda { @@ -46,8 +47,6 @@ namespace quda { void postTune() { rng.restore(); } }; - template struct IntList { }; - template void gaugeNoise(GaugeField &U, RNG &rng, QudaNoiseType type, IntList) { diff --git a/lib/gauge_norm.in.cu b/lib/gauge_norm.in.cu index 2cc755bc81..e44a4383fb 100644 --- a/lib/gauge_norm.in.cu +++ b/lib/gauge_norm.in.cu @@ -1,6 +1,7 @@ #include #include #include +#include namespace quda { @@ -50,8 +51,6 @@ namespace quda { return norm_; } - template struct IntList { }; - template double norm(const GaugeField &u, int d, norm_type_ type, IntList) { diff --git a/lib/multigrid.in.hpp b/lib/multigrid.in.hpp index 0b7fcc09f3..b8fa329d06 100644 --- a/lib/multigrid.in.hpp +++ b/lib/multigrid.in.hpp @@ -3,12 +3,10 @@ #include #include #include +#include namespace quda { - template struct IntList { - }; - template auto sort_values() { std::array arr = {Values...}; diff --git a/lib/spinor_dilute.in.cu b/lib/spinor_dilute.in.cu index 9b57458e8a..92e09c6558 100644 --- a/lib/spinor_dilute.in.cu +++ b/lib/spinor_dilute.in.cu @@ -2,6 +2,7 @@ #include #include #include +#include namespace quda { @@ -79,9 +80,6 @@ namespace quda long long bytes() const { return v.size() * v[0].Bytes() + src.Bytes(); } }; - template struct IntList { - }; - template void spinorDilute(const ColorSpinorField &src, std::vector &v, QudaDilutionType type, const lat_dim_t &local_block, IntList) diff --git a/lib/spinor_noise.in.cu b/lib/spinor_noise.in.cu index 4cf43597a2..f47da241e4 100644 --- a/lib/spinor_noise.in.cu +++ b/lib/spinor_noise.in.cu @@ -3,6 +3,7 @@ #include #include #include +#include namespace quda { @@ -42,8 +43,6 @@ namespace quda { void postTune(){ rng.restore(); } }; - template struct IntList { }; - template void spinorNoise(ColorSpinorField &src, RNG& randstates, QudaNoiseType type, IntList) { diff --git a/lib/staggered_coarse_op.in.cpp b/lib/staggered_coarse_op.in.cpp index bab3e1ffba..c20b05edbd 100644 --- a/lib/staggered_coarse_op.in.cpp +++ b/lib/staggered_coarse_op.in.cpp @@ -1,11 +1,9 @@ #include "multigrid.h" +#include namespace quda { - template struct IntList { - }; - template void StaggeredCoarseOp2(GaugeField &Y, GaugeField &X, const Transfer &T, const GaugeField &gauge, const GaugeField &longGauge, const GaugeField &XinvKD, double mass, bool allow_truncation,