Skip to content

Conversation

@vinx13
Copy link
Member

@vinx13 vinx13 commented Dec 14, 2023

Updated preprocessing and submodule the support 3D weight for MoE.

cc @masahi

@github-actions github-actions bot requested a review from masahi December 14, 2023 19:39
@vinx13 vinx13 force-pushed the unity-bump-mixgemm-dec13 branch 2 times, most recently from 5911cc0 to e545429 Compare December 17, 2023 05:13
Updated preprocessing and submodule the support 3D weight for MoE.
@vinx13 vinx13 force-pushed the unity-bump-mixgemm-dec13 branch from e545429 to 47c0f9c Compare December 17, 2023 22:20
@vinx13 vinx13 merged commit 09acbc8 into apache:unity Dec 18, 2023
junrushao pushed a commit that referenced this pull request Dec 18, 2023
Updated preprocessing and submodule the support 3D weight for MoE.

* update

* update

* update
Lunderberg added a commit to Lunderberg/tvm that referenced this pull request Dec 29, 2023
The updates to the cutlass kernels made in TVM PR apache#16244 require
symbols provided in cuda 7.5+.  While the cuda architecture is
specified by setting `NVCC_FLAGS` in the `CMakeLists.txt` for each
kernel, cmake 3.18+ also sets it based on the
`CMAKE_CUDA_ARCHITECTURES` value.  If not set, cmake will explicitly
pass the compute capability as nvidia's default of 5.2, *EVEN IF* it
has already been specified in `NVCC_FLAGS`.  Because the kernels
cannot compile with compute capability of 5.2, this causes
compilation errors.

By setting `CMAKE_CUDA_ARCHITECTURES` to `OFF`, cmake does not add
5.2 as a target architecture.

See https://cmake.org/cmake/help/latest/policy/CMP0104.html for
details on CMake's policy for CUDA architecture flags.

See https://cmake.org/cmake/help/latest/policy/CMP0104.html for the
default CUDA architecture for each version of CUDA.
Lunderberg added a commit that referenced this pull request Jan 2, 2024
The updates to the cutlass kernels made in TVM PR #16244 require
symbols provided in cuda 7.5+.  While the cuda architecture is
specified by setting `NVCC_FLAGS` in the `CMakeLists.txt` for each
kernel, cmake 3.18+ also sets it based on the
`CMAKE_CUDA_ARCHITECTURES` value.  If not set, cmake will explicitly
pass the compute capability as nvidia's default of 5.2, *EVEN IF* it
has already been specified in `NVCC_FLAGS`.  Because the kernels
cannot compile with compute capability of 5.2, this causes
compilation errors.

By setting `CMAKE_CUDA_ARCHITECTURES` to `OFF`, cmake does not add
5.2 as a target architecture.

See https://cmake.org/cmake/help/latest/policy/CMP0104.html for
details on CMake's policy for CUDA architecture flags.

See https://cmake.org/cmake/help/latest/policy/CMP0104.html for the
default CUDA architecture for each version of CUDA.
@JiaqingFu
Copy link

@vinx13 how can I build with fpA_intB_gemm in V100,is there a on-off build for fpA_intB_gemm, I come across build error when compile tvm in V100(SM 70)

@vinx13
Copy link
Member Author

vinx13 commented Mar 6, 2024

@JiaqingFu what error did you meet? sm70 should be supported. Build of fpA_intB_gemm is controlled by option USE_CUTLASS, we can add a separate option if needed

@JiaqingFu
Copy link

JiaqingFu commented Mar 6, 2024

@vinx13 3Q for reply, same config.cmake ,echo set(CMAKE_CUDA_ARCHITECTURES 86) >> config.cmake work for 3060;
echo set(CMAKE_CUDA_ARCHITECTURES 70) >> config.cmake not work for V100,as below

[ 84%] Building CXX object CMakeFiles/tvm_objs.dir/src/relay/backend/contrib/codegen_c/codegen.cc.o
[ 84%] Building CXX object CMakeFiles/tvm_objs.dir/src/relay/backend/contrib/codegen_c/target.cc.o
[ 84%] Building CXX object CMakeFiles/tvm_objs.dir/src/relax/backend/contrib/cutlass/codegen.cc.o
[ 84%] Building CXX object CMakeFiles/tvm_objs.dir/src/relay/backend/contrib/cutlass/codegen.cc.o
[ 85%] Building CXX object CMakeFiles/tvm_objs.dir/src/relay/backend/contrib/cutlass/target.cc.o
[ 85%] Building CXX object CMakeFiles/tvm_objs.dir/src/relay/backend/contrib/example_target_hooks/relay_to_tir.cc.o
[ 85%] Building CXX object CMakeFiles/tvm_objs.dir/src/relay/backend/contrib/example_target_hooks/target.cc.o
[ 85%] Building CXX object CMakeFiles/tvm_objs.dir/src/relay/backend/contrib/example_target_hooks/tir_to_runtime.cc.o
[ 85%] Building CXX object CMakeFiles/tvm_objs.dir/src/contrib/hybrid/codegen_hybrid.cc.o
[ 85%] Built target tvm_objs

[ 85%] Linking CXX shared library libfpA_intB_gemm.so
[ 85%] Built target fpA_intB_gemm
Makefile:135: recipe for target 'all' failed
make: *** [all] Error 2

makefile:
image

@JiaqingFu
Copy link

@vinx13 I solve it by update cutlass commit id and cutaass_fpA_intB_gemm commit id

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants