-
Notifications
You must be signed in to change notification settings - Fork 109
Open
Description
Enabling compilation of multigrid with tensor-core acceleration with quarter precision leads to build errors. This issue looks like it's been present for a while.
Example issue:
/home/kate/github/quda-vector/include/targets/cuda/mma_tensor_op/gmem_loader.cuh(539): error: class "quda::tmp2s_smem_t<int8_t, float, false, 16, 1, void>" has no member "get_n"
int smem_k_offset = warp_k * w_k + pattern.get_n(lane_id, p);
^
detected during:
instantiation of "float quda::mma::GlobalMemoryLoader<load_t, M, N, bM, bN, block_y, block_z, transpose>::tmp2s_rescale<ld,dagger,fixed,rescale,T,smem_accessor_t>(quda::complex<T> *, float, float, smem_accessor_t &, smem_accessor_t &) [with load_t=float, M=16, N=48, bM=16, bN=48, block_y=48, block_z=8, transpose=true, ld=16, dagger=false, fixed=true, rescale=false, T=int8_t, smem_accessor_t=quda::mma::SharedMemoryObject<float, 16, 48, 1, 16>]" at line 645 of /home/kate/github/quda-vector/lib/../include/kernels/dslash_coarse_mma.cuh
instantiation of "void quda::CoarseDslashMma<Arg>::operator()() [with Arg=quda::DslashCoarseMmaArg<quda::simt::simt_t<float, 8, 4, 2, 2>, true, true, true, quda::DSLASH_FULL, float, short, int8_t, 2, 24, 16, 16, 16, 48, 48, 8>]" at line 376 of /home/kate/github/quda-vector/include/targets/cuda/kernel.h
instantiation of "void quda::raw_kernel<Functor,Arg,dummy>(Arg) [with Functor=quda::CoarseDslashMma, Arg=quda::DslashCoarseMmaArg<quda::simt::simt_t<float, 8, 4, 2, 2>, true, true, true, quda::DSLASH_FULL, float, short, int8_t, 2, 24, 16, 16, 16, 48, 48, 8>, dummy=false]" at line 78 of /home/kate/github/quda-vector/include/targets/cuda/tunable_kernel.h
instantiation of "void quda::TunableKernel::launch_cuda<Functor,Arg>(const quda::TuneParam &, const quda::qudaStream_t &, const Arg &) const [with Functor=quda::CoarseDslashMma, Arg=quda::DslashCoarseMmaArg<quda::simt::simt_t<float, 8, 4, 2, 2>, true, true, true, quda::DSLASH_FULL, float, short, int8_t, 2, 24, 16, 16, 16, 48, 48, 8>]" at line 207 of /scratch2/kate/quda-vector/lib/dslash_coarse_mma.hpp
instantiation of "void quda::DslashCoarseMma<Float, yFloat, ghostFloat, Ns, Nc, dslash, clover, dagger, type, nVec>::launch_mma<block_y,bN,bM,bK>(quda::TuneParam &, const quda::qudaStream_t &) [with Float=float, yFloat=short, ghostFloat=int8_t, Ns=2, Nc=24, dslash=true, clover=true, dagger=true, type=quda::DSLASH_FULL, nVec=16, block_y=48, bN=16, bM=16, bK=48]" at line 31 of /home/kate/github/quda-vector/lib/../include/expand_list.hpp
[ 10 instantiation contexts not shown ]
instantiation of "void quda::DslashCoarseMma<Float, yFloat, ghostFloat, Ns, Nc, dslash, clover, dagger, type, nVec>::apply(const quda::qudaStream_t &) [with Float=float, yFloat=short, ghostFloat=int8_t, Ns=2, Nc=24, dslash=true, clover=true, dagger=true, type=quda::DSLASH_FULL, nVec=16]" at line 157 of /scratch2/kate/quda-vector/lib/dslash_coarse_mma.hpp
instantiation of "quda::DslashCoarseMma<Float, yFloat, ghostFloat, Ns, Nc, dslash, clover, dagger, type, nVec>::DslashCoarseMma(quda::cvector_ref<quda::ColorSpinorField> &, quda::cvector_ref<const quda::ColorSpinorField> &, quda::cvector_ref<const quda::ColorSpinorField> &, const quda::GaugeField &, const quda::GaugeField &, double, int, quda::MemoryLocation *, const quda::ColorSpinorField &) [with Float=float, yFloat=short, ghostFloat=int8_t, Ns=2, Nc=24, dslash=true, clover=true, dagger=true, type=quda::DSLASH_FULL, nVec=16]" at line 294 of /home/kate/github/quda-vector/lib/dslash_coarse.hpp
instantiation of "void quda::ApplyCoarse<D,Float,yFloat,ghostFloat,dagger,coarseColor,use_mma,nVec>(quda::cvector_ref<quda::ColorSpinorField> &, quda::cvector_ref<const quda::ColorSpinorField> &, quda::cvector_ref<const quda::ColorSpinorField> &, const quda::GaugeField &, const quda::GaugeField &, double, int, __nv_bool, __nv_bool, quda::DslashType, quda::MemoryLocation *, const quda::ColorSpinorField &) [with D=quda::D, Float=float, yFloat=short, ghostFloat=int8_t, dagger=true, coarseColor=24, use_mma=true, nVec=16]" at line 508 of /home/kate/github/quda-vector/lib/dslash_coarse.hpp
instantiation of "void quda::DslashCoarseLaunch<D, dagger, coarseColor, use_mma_, nVec>::operator()(quda::DslashCoarsePolicy) [with D=quda::D, dagger=true, coarseColor=24, use_mma_=true, nVec=16]" at line 759 of /home/kate/github/quda-vector/lib/dslash_coarse.hpp
instantiation of "quda::DslashCoarsePolicyTune<Launch>::DslashCoarsePolicyTune(Launch &) [with Launch=quda::DslashCoarseLaunch<quda::D, true, 24, true, 16>]" at line 35 of /scratch2/kate/quda-vector/lib/dslash_coarse_mma_dagger_24_16.cu
@hummingtree can you take a look?