undefined reference to Qwen2LLM
when I build the source code on ubuntu 22.04, I have a issue as below, how do I fix it ? BTW, I used main branch. HEAD is e73e4c1ac03f44fe986f34c01bb345e8bc5409b4
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), decoder_Qwen3MOELLM_nf4x2_t_float16_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x1a291): undefined reference to `Qwen2LLM<nf4x2_t, float16_t, Qwen3MOE<nf4x2_t, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), decoder_Qwen3MOELLM_int8_t_int8_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x1a351): undefined reference to `Qwen2LLM<signed char, signed char, Qwen3MOE<signed char, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), decoder_Qwen3MOELLM_bfloat16_t_int8_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x1a651): undefined reference to `Qwen2LLM<bfloat16_t, signed char, Qwen3MOE<bfloat16_t, bfloat16_t, bfloat16_t, bfloat16_t> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), decoder_Qwen3MOELLM_bfloat16_t_float16_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x1a7d1): undefined reference to `Qwen2LLM<bfloat16_t, float16_t, Qwen3MOE<bfloat16_t, bfloat16_t, bfloat16_t, bfloat16_t> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), decoder_Qwen3MOELLM_uint4x2_t_float16_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x1a951): undefined reference to `Qwen2LLM<uint4x2_t, float16_t, Qwen3MOE<uint4x2_t, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), decoder_Qwen3MOELLM_float16_t_int8_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x1aa11): undefined reference to `Qwen2LLM<float16_t, signed char, Qwen3MOE<float16_t, float16_t, float16_t, float16_t> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), decoder_Qwen3MOELLM_float16_t_float16_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x1ab91): undefined reference to `Qwen2LLM<float16_t, float16_t, Qwen3MOE<float16_t, float16_t, float16_t, float16_t> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), decoder_Qwen3MOELLM_uint4x2_t_int8_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x1add1): undefined reference to `Qwen2LLM<uint4x2_t, signed char, Qwen3MOE<uint4x2_t, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), decoder_Qwen3MOELLM_w8a8_t_int8_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x1bfd1): undefined reference to `Qwen2LLM<w8a8, signed char, Qwen3MOE<w8a8, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), decoder_Qwen3MOELLM_w8a8_t_float16_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x1c151): undefined reference to `Qwen2LLM<w8a8, float16_t, Qwen3MOE<w8a8, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), decoder_Qwen3MOELLM_int8_t_float16_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x1c211): undefined reference to `Qwen2LLM<signed char, float16_t, Qwen3MOE<signed char, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), decoder_Qwen3MOELLM_nf4x2_t_int8_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x1c511): undefined reference to `Qwen2LLM<nf4x2_t, signed char, Qwen3MOE<nf4x2_t, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), hybridModel_Qwen3MOELLM_bfloat16_t_float16_t_float16_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x20e7f): undefined reference to `Qwen2LLM<bfloat16_t, float16_t, Qwen3MOE<bfloat16_t, bfloat16_t, bfloat16_t, bfloat16_t> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: models.cpp:(.text+0x20f22): undefined reference to `Qwen2LLM<float16_t, float16_t, Qwen3MOE<float16_t, float16_t, float16_t, float16_t> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), hybridModel_Qwen3MOELLM_bfloat16_t_uint4x2_t_int8_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x2183f): undefined reference to `Qwen2LLM<bfloat16_t, signed char, Qwen3MOE<bfloat16_t, bfloat16_t, bfloat16_t, bfloat16_t> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: models.cpp:(.text+0x218e2): undefined reference to `Qwen2LLM<uint4x2_t, signed char, Qwen3MOE<uint4x2_t, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), hybridModel_Qwen3MOELLM_w8a8_t_int8_t_float16_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x21e1f): undefined reference to `Qwen2LLM<w8a8, float16_t, Qwen3MOE<w8a8, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: models.cpp:(.text+0x21ec2): undefined reference to `Qwen2LLM<signed char, float16_t, Qwen3MOE<signed char, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), hybridModel_Qwen3MOELLM_bfloat16_t_int8_t_float16_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x2201f): undefined reference to `Qwen2LLM<bfloat16_t, float16_t, Qwen3MOE<bfloat16_t, bfloat16_t, bfloat16_t, bfloat16_t> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: models.cpp:(.text+0x220c2): undefined reference to `Qwen2LLM<signed char, float16_t, Qwen3MOE<signed char, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), hybridModel_Qwen3MOELLM_bfloat16_t_uint4x2_t_float16_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x225ff): undefined reference to `Qwen2LLM<bfloat16_t, float16_t, Qwen3MOE<bfloat16_t, bfloat16_t, bfloat16_t, bfloat16_t> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: models.cpp:(.text+0x226a2): undefined reference to `Qwen2LLM<uint4x2_t, float16_t, Qwen3MOE<uint4x2_t, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), hybridModel_Qwen3MOELLM_bfloat16_t_w8a8_t_int8_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x231af): undefined reference to `Qwen2LLM<bfloat16_t, signed char, Qwen3MOE<bfloat16_t, bfloat16_t, bfloat16_t, bfloat16_t> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: models.cpp:(.text+0x23252): undefined reference to `Qwen2LLM<w8a8, signed char, Qwen3MOE<w8a8, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), hybridModel_Qwen3MOELLM_w8a8_t_int8_t_int8_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x2378f): undefined reference to `Qwen2LLM<w8a8, signed char, Qwen3MOE<w8a8, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: models.cpp:(.text+0x23832): undefined reference to `Qwen2LLM<signed char, signed char, Qwen3MOE<signed char, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), hybridModel_Qwen3MOELLM_w8a8_t_uint4x2_t_float16_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x23b7f): undefined reference to `Qwen2LLM<w8a8, float16_t, Qwen3MOE<w8a8, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: models.cpp:(.text+0x23c22): undefined reference to `Qwen2LLM<uint4x2_t, float16_t, Qwen3MOE<uint4x2_t, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), hybridModel_Qwen3MOELLM_bfloat16_t_nf4x2_t_float16_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x2453f): undefined reference to `Qwen2LLM<bfloat16_t, float16_t, Qwen3MOE<bfloat16_t, bfloat16_t, bfloat16_t, bfloat16_t> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: models.cpp:(.text+0x245e2): undefined reference to `Qwen2LLM<nf4x2_t, float16_t, Qwen3MOE<nf4x2_t, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), hybridModel_Qwen3MOELLM_bfloat16_t_nf4x2_t_int8_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x2473f): undefined reference to `Qwen2LLM<bfloat16_t, signed char, Qwen3MOE<bfloat16_t, bfloat16_t, bfloat16_t, bfloat16_t> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: models.cpp:(.text+0x247e2): undefined reference to `Qwen2LLM<nf4x2_t, signed char, Qwen3MOE<nf4x2_t, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), hybridModel_Qwen3MOELLM_bfloat16_t_int8_t_int8_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x250ff): undefined reference to `Qwen2LLM<bfloat16_t, signed char, Qwen3MOE<bfloat16_t, bfloat16_t, bfloat16_t, bfloat16_t> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: models.cpp:(.text+0x251a2): undefined reference to `Qwen2LLM<signed char, signed char, Qwen3MOE<signed char, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), hybridModel_Qwen3MOELLM_bfloat16_t_float16_t_int8_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x254ef): undefined reference to `Qwen2LLM<bfloat16_t, signed char, Qwen3MOE<bfloat16_t, bfloat16_t, bfloat16_t, bfloat16_t> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: models.cpp:(.text+0x25592): undefined reference to `Qwen2LLM<float16_t, signed char, Qwen3MOE<float16_t, float16_t, float16_t, float16_t> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), hybridModel_Qwen3MOELLM_w8a8_t_uint4x2_t_int8_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x2628f): undefined reference to `Qwen2LLM<w8a8, signed char, Qwen3MOE<w8a8, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: models.cpp:(.text+0x26332): undefined reference to `Qwen2LLM<uint4x2_t, signed char, Qwen3MOE<uint4x2_t, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), hybridModel_Qwen3MOELLM_bfloat16_t_w8a8_t_float16_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x26c4f): undefined reference to `Qwen2LLM<bfloat16_t, float16_t, Qwen3MOE<bfloat16_t, bfloat16_t, bfloat16_t, bfloat16_t> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: models.cpp:(.text+0x26cf2): undefined reference to `Qwen2LLM<w8a8, float16_t, Qwen3MOE<w8a8, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), hybridModel_Qwen3MOELLM_w8a8_t_nf4x2_t_float16_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x2722f): undefined reference to `Qwen2LLM<w8a8, float16_t, Qwen3MOE<w8a8, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: models.cpp:(.text+0x272d2): undefined reference to `Qwen2LLM<nf4x2_t, float16_t, Qwen3MOE<nf4x2_t, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), hybridModel_Qwen3MOELLM_w8a8_t_nf4x2_t_int8_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x27fcf): undefined reference to `Qwen2LLM<w8a8, signed char, Qwen3MOE<w8a8, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: models.cpp:(.text+0x28072): undefined reference to `Qwen2LLM<nf4x2_t, signed char, Qwen3MOE<nf4x2_t, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), decoder_Qwen3MOELLM_nf4x2_t_float16_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x1a291): undefined reference to `Qwen2LLM<nf4x2_t, float16_t, Qwen3MOE<nf4x2_t, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), decoder_Qwen3MOELLM_int8_t_int8_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x1a351): undefined reference to `Qwen2LLM<signed char, signed char, Qwen3MOE<signed char, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), decoder_Qwen3MOELLM_bfloat16_t_int8_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x1a651): undefined reference to `Qwen2LLM<bfloat16_t, signed char, Qwen3MOE<bfloat16_t, bfloat16_t, bfloat16_t, bfloat16_t> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), decoder_Qwen3MOELLM_bfloat16_t_float16_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x1a7d1): undefined reference to `Qwen2LLM<bfloat16_t, float16_t, Qwen3MOE<bfloat16_t, bfloat16_t, bfloat16_t, bfloat16_t> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), decoder_Qwen3MOELLM_uint4x2_t_float16_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x1a951): undefined reference to `Qwen2LLM<uint4x2_t, float16_t, Qwen3MOE<uint4x2_t, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), decoder_Qwen3MOELLM_float16_t_int8_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x1aa11): undefined reference to `Qwen2LLM<float16_t, signed char, Qwen3MOE<float16_t, float16_t, float16_t, float16_t> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), decoder_Qwen3MOELLM_float16_t_float16_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x1ab91): undefined reference to `Qwen2LLM<float16_t, float16_t, Qwen3MOE<float16_t, float16_t, float16_t, float16_t> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), decoder_Qwen3MOELLM_uint4x2_t_int8_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x1add1): undefined reference to `Qwen2LLM<uint4x2_t, signed char, Qwen3MOE<uint4x2_t, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), decoder_Qwen3MOELLM_w8a8_t_int8_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x1bfd1): undefined reference to `Qwen2LLM<w8a8, signed char, Qwen3MOE<w8a8, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), decoder_Qwen3MOELLM_w8a8_t_float16_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x1c151): undefined reference to `Qwen2LLM<w8a8, float16_t, Qwen3MOE<w8a8, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), decoder_Qwen3MOELLM_int8_t_float16_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x1c211): undefined reference to `Qwen2LLM<signed char, float16_t, Qwen3MOE<signed char, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), decoder_Qwen3MOELLM_nf4x2_t_int8_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x1c511): undefined reference to `Qwen2LLM<nf4x2_t, signed char, Qwen3MOE<nf4x2_t, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), hybridModel_Qwen3MOELLM_bfloat16_t_float16_t_float16_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x20e7f): undefined reference to `Qwen2LLM<bfloat16_t, float16_t, Qwen3MOE<bfloat16_t, bfloat16_t, bfloat16_t, bfloat16_t> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: models.cpp:(.text+0x20f22): undefined reference to `Qwen2LLM<float16_t, float16_t, Qwen3MOE<float16_t, float16_t, float16_t, float16_t> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), hybridModel_Qwen3MOELLM_bfloat16_t_uint4x2_t_int8_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x2183f): undefined reference to `Qwen2LLM<bfloat16_t, signed char, Qwen3MOE<bfloat16_t, bfloat16_t, bfloat16_t, bfloat16_t> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: models.cpp:(.text+0x218e2): undefined reference to `Qwen2LLM<uint4x2_t, signed char, Qwen3MOE<uint4x2_t, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), hybridModel_Qwen3MOELLM_w8a8_t_int8_t_float16_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x21e1f): undefined reference to `Qwen2LLM<w8a8, float16_t, Qwen3MOE<w8a8, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: models.cpp:(.text+0x21ec2): undefined reference to `Qwen2LLM<signed char, float16_t, Qwen3MOE<signed char, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), hybridModel_Qwen3MOELLM_bfloat16_t_int8_t_float16_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x2201f): undefined reference to `Qwen2LLM<bfloat16_t, float16_t, Qwen3MOE<bfloat16_t, bfloat16_t, bfloat16_t, bfloat16_t> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: models.cpp:(.text+0x220c2): undefined reference to `Qwen2LLM<signed char, float16_t, Qwen3MOE<signed char, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), hybridModel_Qwen3MOELLM_bfloat16_t_uint4x2_t_float16_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x225ff): undefined reference to `Qwen2LLM<bfloat16_t, float16_t, Qwen3MOE<bfloat16_t, bfloat16_t, bfloat16_t, bfloat16_t> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: models.cpp:(.text+0x226a2): undefined reference to `Qwen2LLM<uint4x2_t, float16_t, Qwen3MOE<uint4x2_t, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), hybridModel_Qwen3MOELLM_bfloat16_t_w8a8_t_int8_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x231af): undefined reference to `Qwen2LLM<bfloat16_t, signed char, Qwen3MOE<bfloat16_t, bfloat16_t, bfloat16_t, bfloat16_t> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: models.cpp:(.text+0x23252): undefined reference to `Qwen2LLM<w8a8, signed char, Qwen3MOE<w8a8, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), hybridModel_Qwen3MOELLM_w8a8_t_int8_t_int8_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x2378f): undefined reference to `Qwen2LLM<w8a8, signed char, Qwen3MOE<w8a8, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: models.cpp:(.text+0x23832): undefined reference to `Qwen2LLM<signed char, signed char, Qwen3MOE<signed char, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), hybridModel_Qwen3MOELLM_w8a8_t_uint4x2_t_float16_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x23b7f): undefined reference to `Qwen2LLM<w8a8, float16_t, Qwen3MOE<w8a8, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: models.cpp:(.text+0x23c22): undefined reference to `Qwen2LLM<uint4x2_t, float16_t, Qwen3MOE<uint4x2_t, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), hybridModel_Qwen3MOELLM_bfloat16_t_nf4x2_t_float16_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x2453f): undefined reference to `Qwen2LLM<bfloat16_t, float16_t, Qwen3MOE<bfloat16_t, bfloat16_t, bfloat16_t, bfloat16_t> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: models.cpp:(.text+0x245e2): undefined reference to `Qwen2LLM<nf4x2_t, float16_t, Qwen3MOE<nf4x2_t, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), hybridModel_Qwen3MOELLM_bfloat16_t_nf4x2_t_int8_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x2473f): undefined reference to `Qwen2LLM<bfloat16_t, signed char, Qwen3MOE<bfloat16_t, bfloat16_t, bfloat16_t, bfloat16_t> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: models.cpp:(.text+0x247e2): undefined reference to `Qwen2LLM<nf4x2_t, signed char, Qwen3MOE<nf4x2_t, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), hybridModel_Qwen3MOELLM_bfloat16_t_int8_t_int8_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x250ff): undefined reference to `Qwen2LLM<bfloat16_t, signed char, Qwen3MOE<bfloat16_t, bfloat16_t, bfloat16_t, bfloat16_t> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: models.cpp:(.text+0x251a2): undefined reference to `Qwen2LLM<signed char, signed char, Qwen3MOE<signed char, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), hybridModel_Qwen3MOELLM_bfloat16_t_float16_t_int8_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x254ef): undefined reference to `Qwen2LLM<bfloat16_t, signed char, Qwen3MOE<bfloat16_t, bfloat16_t, bfloat16_t, bfloat16_t> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: models.cpp:(.text+0x25592): undefined reference to `Qwen2LLM<float16_t, signed char, Qwen3MOE<float16_t, float16_t, float16_t, float16_t> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), hybridModel_Qwen3MOELLM_w8a8_t_uint4x2_t_int8_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x2628f): undefined reference to `Qwen2LLM<w8a8, signed char, Qwen3MOE<w8a8, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: models.cpp:(.text+0x26332): undefined reference to `Qwen2LLM<uint4x2_t, signed char, Qwen3MOE<uint4x2_t, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), hybridModel_Qwen3MOELLM_bfloat16_t_w8a8_t_float16_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x26c4f): undefined reference to `Qwen2LLM<bfloat16_t, float16_t, Qwen3MOE<bfloat16_t, bfloat16_t, bfloat16_t, bfloat16_t> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: models.cpp:(.text+0x26cf2): undefined reference to `Qwen2LLM<w8a8, float16_t, Qwen3MOE<w8a8, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), hybridModel_Qwen3MOELLM_w8a8_t_nf4x2_t_float16_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x2722f): undefined reference to `Qwen2LLM<w8a8, float16_t, Qwen3MOE<w8a8, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: models.cpp:(.text+0x272d2): undefined reference to `Qwen2LLM<nf4x2_t, float16_t, Qwen3MOE<nf4x2_t, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: ../../src/libxfastertransformer_static.a(models.cpp.o): in function `std::_Function_handler<AbstractDecoder* (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), hybridModel_Qwen3MOELLM_w8a8_t_nf4x2_t_int8_t::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
models.cpp:(.text+0x27fcf): undefined reference to `Qwen2LLM<w8a8, signed char, Qwen3MOE<w8a8, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: models.cpp:(.text+0x28072): undefined reference to `Qwen2LLM<nf4x2_t, signed char, Qwen3MOE<nf4x2_t, float, float, float> >::Qwen2LLM(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
collect2: error: ld returned 1 exit status
make[2]: *** [examples/cpp/CMakeFiles/example.dir/build.make:130: example] Error 1
make[1]: *** [CMakeFiles/Makefile2:660: examples/cpp/CMakeFiles/example.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
collect2: error: ld returned 1 exit status
make[2]: *** [examples/cpp/CMakeFiles/cb_check.dir/build.make:130: cb_check] Error 1
make[1]: *** [CMakeFiles/Makefile2:693: examples/cpp/CMakeFiles/cb_check.dir/all] Error 2
make: *** [Makefile:91: all] Error 2
@Duyi-Wang @changqi1
@Jasonjunsu update torch to 2.7.0
@Jasonjunsu update torch to 2.7.0
My torch version has always been 2.7.0. I think maybe is has sth with CMakeLists.txt, I've made changes as below. but it still doesn't work
~/repo/xFasterTransformer/build$ git diff
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5b286eb..785142b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -179,12 +179,12 @@ if(WITH_GPU)
else()
# Enable AVX512_FP16 optimization
# add_definitions(-DAVX512_FP32_WEIGHT_ONLY_FP16=true)
- add_definitions(-DAVX512_FP16_WEIGHT_ONLY_FP16=true)
+ # add_definitions(-DAVX512_FP16_WEIGHT_ONLY_FP16=true)
add_definitions(-DAVX512_BF16_WEIGHT_ONLY_BF16=true)
- # add_definitions(-DAVX512_FP32_WEIGHT_ONLY_INT8=true)
- add_definitions(-DAVX512_FP16_WEIGHT_ONLY_INT8=true)
- # add_definitions(-DAVX512_FP32_WEIGHT_ONLY_INT4=true)
- add_definitions(-DAVX512_FP16_WEIGHT_ONLY_INT4=true)
+ add_definitions(-DAVX512_FP32_WEIGHT_ONLY_INT8=true)
+ # add_definitions(-DAVX512_FP16_WEIGHT_ONLY_INT8=true)
+ add_definitions(-DAVX512_FP32_WEIGHT_ONLY_INT4=true)
+ # add_definitions(-DAVX512_FP16_WEIGHT_ONLY_INT4=true)
add_definitions(-DAVX512_FP32_WEIGHT_ONLY_NF4=true)
# add_definitions(-DAVX512_FP16_WEIGHT_ONLY_NF4=true)
# Enable AMX_FP16 optimization
This is my cpu info
lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Address sizes: 46 bits physical, 57 bits virtual
Byte Order: Little Endian
CPU(s): 128
On-line CPU(s) list: 0-127
Vendor ID: GenuineIntel
Model name: Intel(R) Xeon(R) Platinum 8362 CPU @ 2.80GHz
CPU family: 6
Model: 106
Thread(s) per core: 2
Core(s) per socket: 32
Socket(s): 2
Stepping: 6
BogoMIPS: 5600.00
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs
bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt
tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb cat_l3 intel_ppin ssbd mba ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad
fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid cqm rdt_a avx512f avx512dq rdseed adx smap avx512ifma clflushopt clwb intel_pt avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec
xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local split_lock_detect wbnoinvd dtherm ida arat pln pts vnmi avx512vbmi umip pku ospke avx512_vbmi2 gfni vaes vpclmulqdq av
x512_vnni avx512_bitalg tme avx512_vpopcntdq la57 rdpid fsrm md_clear pconfig flush_l1d arch_capabilities
Hi! I also encounter this problem. Did you get any solution?
@Jasonjunsu INT4 is currently not recommended. @HaibinLai you can upgrade gcc to 13 or higher.
Hi! I found that adding "-DBUILD_WITH_SHARED_LIBS=ON" maybe work cmake -DBUILD_WITH_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Debug .. make -j