ledatelescope / bifrost

A stream processing framework for high-throughput applications.
BSD 3-Clause "New" or "Revised" License
66 stars 29 forks source link

linalg_kernels.cu(642): error: no instance of constructor "JonesVec_<R, true>::JonesVec_ [with R=half]" matches the argument list #114

Closed gijzelaerr closed 6 years ago

gijzelaerr commented 6 years ago

version 8.0 on Ubuntu 18.04

$  make
make -C src all
make[1]: Entering directory '/packaging/kern/packaging/build/bifrost/src'
Complex.hpp(296): warning: function "__shfl(unsigned long long, int, int)"
/usr/include/sm_30_intrinsics.hpp(331): here was declared deprecated ("__shfl() is deprecated in favor of __shfl_sync() and may be removed in a future release (Use -Wno-deprecated-declarations to suppress this warning).")

linalg_kernels.cu(642): error: no instance of constructor "JonesVec_<R, true>::JonesVec_ [with R=half]" matches the argument list
            argument types are: (int, int)
          detected during:
            instantiation of "void bf_cgemm_TN_smallM_kernel_v2<N_MAX,BLOCK_X,BLOCK_Y,BLOCK_M,AlphaType,AType,BType,BetaType,CType>(int, int, int, int, AlphaType, const AType *, int, int, const BType *, int, int, BetaType, CType *, int, i
nt) [with N_MAX=1, BLOCK_X=32, BLOCK_Y=16, BLOCK_M=8, AlphaType=float, AType=JonesVec<FourBit>, BType=JonesVec<half>, BetaType=float, CType=Complex<float, void>]"
(795): here
            instantiation of "void bf_cgemm_TN_smallM_staticN_v2<N_MAX>(int, int, int, int, float, const void *, BFdtype, int, int, const void *, BFdtype, int, int, float, void *, BFdtype, int, int, cudaStream_t) [with N_MAX=1]"
(871): here

[...]

linalg_kernels.cu(642): error: no instance of constructor "JonesVec_<R, true>::JonesVec_ [with R=half]" matches the argument list
            argument types are: (int, int)
          detected during:
            instantiation of "void bf_cgemm_TN_smallM_kernel_v2<N_MAX,BLOCK_X,BLOCK_Y,BLOCK_M,AlphaType,AType,BType,BetaType,CType>(int, int, int, int, AlphaType, const AType *, int, int, const BType *, int, int, BetaType, CType *, int, int) [with N_MAX=16, BLOCK_X=32, BLOCK_Y=16, BLOCK_M=8, AlphaType=float, AType=JonesVec<int8_t>, BType=JonesVec<half>, BetaType=float, CType=Complex<float, void>]"
(820): here
            instantiation of "void bf_cgemm_TN_smallM_staticN_v2<N_MAX>(int, int, int, int, float, const void *, BFdtype, int, int, const void *, BFdtype, int, int, float, void *, BFdtype, int, int, cudaStream_t) [with N_MAX=16]"
(875): here

10 errors detected in the compilation of "/tmp/tmpxft_00003581_00000000-7_linalg_kernels.compute_61.cpp1.ii".
autodep.mk:56: recipe for target 'linalg_kernels.o' failed
make[1]: *** [linalg_kernels.o] Error 1
make[1]: Leaving directory '/packaging/kern/packaging/build/bifrost/src'
Makefile:15: recipe for target 'libbifrost' failed
make: *** [libbifrost] Error 2
benbarsdell commented 6 years ago

I don't think this kernel (actually any of those kernels) supports half yet.

benbarsdell commented 6 years ago

I think this was fixed in https://github.com/ledatelescope/bifrost/commit/d688b51093095864001b911322a0e5eafea8f2a5, can you confirm?

gijzelaerr commented 6 years ago

Sorry for the delay, but yes, this seems to be resolved. Thanks!