[BUG] Compile Error
当我使用 ./build.sh --arch 89 --nvshmem 命令进行编译时,报了很多关于check_type的错误,日志如下:
...
undefined reference to `bytedance::flux::GatherRSMeta<int>::check_type() const'
...
undefined reference to bytedance::flux::ReduceScatterMeta<bool, bytedance::flux::CommKindEnum>::check_type() const'
...
gen_ag_gemm.cc:(.text._ZZN9bytedance4flux9generator15build_gen_spaceIJNS0_8GemmMetaIJNS0_15GemmDTypeConfigIJN4cute
1CILNS0_12DataTypeEnumE1EEES8_S8_S8_NS6_ILS7_3EEES9_EEENS6_..._S1A_S1F_S1J_EEENS11_IJS1Z_S1A_S1O_S1A_S1L_S1H_EEENS11_IJS1Z_S1A_S1O_S1A_S1L_S1J_EEENS11_IJS1Z_S1A_S1T_S1A_S1F_S1H_EEENS11_IJS1Z_S1A_S1T_S1A_S1F_S1J_EEENS11_IJS1Z_S1A_S1T_S1A_S1L_S1H_EEENS11_IJS1Z_S1A_S1T_S1A_S1L_S1J_EEEEEEDaNS13_IJDpT_EEENS13_IJDpT0_EEEENKUlT_E_clISW_EEDaS2I_]+0x4b): undefined reference to bytedance::flux::GemmV3Meta<bool, bool>::check_type() const'
/usr/bin/ld: CMakeFiles/gen_ag_gemm.dir/gen_ag_gemm.cc.o:gen_ag_gemm.cc:: more undefined references to `bytedance::flux::GemmV3Meta<bool, bool>::check_type() const' follow
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [CMakeFiles/gen_ag_gemm.dir/build.make:97: gen_ag_gemm] Error 1
make[1]: *** [CMakeFiles/Makefile2:117: CMakeFiles/gen_ag_gemm.dir/all] Error 2
make: *** [Makefile:91: all] Error 2
CMake Error at src/CMakeLists.txt:46 (execute_process):
execute_process failed command indexes:
1: "Child return code: 2"
-- Configuring incomplete, errors occurred!
See also "/mnt/flux/build/CMakeFiles/CMakeOutput.log".
See also "/mnt/flux/build/CMakeFiles/CMakeError.log".
+ merge_compile_commands
+ cd /mnt/flux
+ command -v ninja
++ ls './build/temp.*/build.ninja'
ls: cannot access './build/temp.*/build.ninja': No such file or directory
+ ninja -f -t compdb
ninja: error: loading '-t': No such file or directory
版本信息:
- gcc: 12.3.0
- nvcc: 12.4
- cmake: 3.22.1
strange that you run build with --arch 89 but got error with complain about bytedance::flux::GemmV3Meta<bool, bool>::check_type() const. GemmV3Meta is for hopper only.
did you build the repo once with --arch 90, and did not clean the repo and then build with --arch 89?
strange that you run build with --arch 89 but got error with complain about
bytedance::flux::GemmV3Meta<bool, bool>::check_type() const. GemmV3Meta is for hopper only.did you build the repo once with --arch 90, and did not clean the repo and then build with --arch 89?
I have run ./build.sh --clean-all first and then ./build.sh --arch 90 --nvshmem --package. Maybe it isn't the problem you said.