Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EETQ wheel not building #27

Open
donjuanpond opened this issue Aug 1, 2024 · 3 comments
Open

EETQ wheel not building #27

donjuanpond opened this issue Aug 1, 2024 · 3 comments

Comments

@donjuanpond
Copy link

I'm trying to install EETQ in a Google Colab notebook using the following command: pip install git+https://github.com/NetEase-FuXi/EETQ.git. When installing, all steps seem to work, except that the installation gets stuck at Building wheels for collected packages: EETQ - it's been at this stage for over 10 minutes now. What should I do to fix this?

P.S., the same problem happens when I try to install with the method as described in the readme.

@SidaZh
Copy link
Collaborator

SidaZh commented Aug 1, 2024

@donjuanpond Installing EETQ takes a long time because the compilation of the cutlass library is slow. You can use python setup.py buildcheck the compilation progress. We provide some precompiled whl packages for direct installation: release page

@donjuanpond
Copy link
Author

Hi @SidaZh,
First thing, you are definitely correct about the installation being slow - Colab is saying the installation took 39 minutes and 50 seconds! Secondly, I tried using direct installation from the wheel with pip install --no-cache-dir https://github.com/NetEase-FuXi/EETQ/releases/download/v1.0.0/EETQ-1.0.0+cu121+torch2.1.2-cp310-cp310-linux_x86_64.whl but this threw me an error:

ERROR: Invalid requirement: 'EETQ==1.0.0+cu121+torch2.1.2': Local version label can only be used with `==` or `!=` operators
    EETQ==1.0.0+cu121+torch2.1.2
        ~~~~~~~~~~~~~^

What should I do about this?

@michael-newsrx
Copy link

My system just updated CUDA to 12.6 and I can no longer compile EEQT.

FAILED: /tmp/pip-req-build-jgyvqov6/build/temp.linux-x86_64-cpython-312/tmp/pip-req-build-jgyvqov6/csrc/cutlass_kernels/fpA_intB_gemm_wrapper.o/usr/local/cuda/bin/nvcc --generate-dependencies-with-compile --dependency-output /tmp/pip-req-build-jgyvqov6/build/temp.linux-x86_64-cpython-312/tmp/pip-req-build-jgyvqov6/csrc/cutlass_kernels/fpA_intB_gemm_wrapper.o.d -DVERSION_INFO=1.0.0 '-I['"'"'/home/michael/miniconda3/envs/ai_newsletters/lib/python3.12/site-packages/torch/include'"'"', '"'"'/home/michael/miniconda3/envs/ai_newsletters/lib/python3.12/site-packages/torch/include/torch/csrc/api/include'"'"', '"'"'/home/michael/miniconda3/envs/ai_newsletters/lib/python3.12/site-packages/torch/include/TH'"'"', '"'"'/home/michael/miniconda3/envs/ai_newsletters/lib/python3.12/site-packages/torch/include/THC'"'"', '"'"'/usr/local/cuda/include'"'"']' -I/tmp/pip-req-build-jgyvqov6/csrc -I/tmp/pip-req-build-jgyvqov6/csrc/utils -I/tmp/pip-req-build-jgyvqov6/csrc/cutlass/include -I/tmp/pip-req-build-jgyvqov6/csrc/cutlass_kernels/include -I/tmp/pip-req-build-jgyvqov6/csrc/cutlass_extensions/include -I/home/michael/miniconda3/envs/ai_newsletters/lib/python3.12/site-packages/torch/include -I/home/michael/miniconda3/envs/ai_newsletters/lib/python3.12/site-packages/torch/include/torch/csrc/api/include -I/home/michael/miniconda3/envs/ai_newsletters/lib/python3.12/site-packages/torch/include/TH -I/home/michael/miniconda3/envs/ai_newsletters/lib/python3.12/site-packages/torch/include/THC -I/usr/local/cuda/include -I/home/michael/miniconda3/envs/ai_newsletters/include/python3.12 -c -c /tmp/pip-req-build-jgyvqov6/csrc/cutlass_kernels/fpA_intB_gemm_wrapper.cu -o /tmp/pip-req-build-jgyvqov6/build/temp.linux-x86_64-cpython-312/tmp/pip-req-build-jgyvqov6/csrc/cutlass_kernels/fpA_intB_gemm_wrapper.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -O3 -std=c++17 -U__CUDA_NO_HALF_OPERATORS__ -U__CUDA_NO_HALF_CONVERSIONS__ -U__CUDA_NO_HALF2_OPERATORS__ -U__CUDA_NO_HALF2_CONVERSIONS__ -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=EETQ -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_70,code=sm_70 -gencode=arch=compute_75,code=sm_75 -gencode=arch=compute_80,code=sm_80 -gencode=arch=compute_86,code=compute_86 -gencode=arch=compute_86,code=sm_86
184 | #define NVTX_VERSION 3
            |
      /usr/local/cuda/include/nvToolsExt.h(248): error: invalid redeclaration of type name "nvtxStringHandle_t" (declared at line 292 of /usr/local/cuda/include/nvtx3/nvToolsExt.h)
        typedef struct nvtxStringHandle* nvtxStringHandle_t;
                                         ^
      
      /usr/local/cuda/include/nvToolsExt.h(258): error: invalid redeclaration of type name "nvtxDomainHandle_t" (declared at line 278 of /usr/local/cuda/include/nvtx3/nvToolsExt.h)
        typedef struct nvtxDomainHandle* nvtxDomainHandle_t;
                                         ^
      
      /usr/local/cuda/include/nvToolsExt.h(273): error: enum "nvtxColorType_t" has already been defined (previous definition at line 302 of /usr/local/cuda/include/nvtx3/nvToolsExt.h)
        typedef enum nvtxColorType_t
                     ^
      
      /usr/local/cuda/include/nvToolsExt.h(275): error: "NVTX_COLOR_UNKNOWN" has already been declared in the current scope
            NVTX_COLOR_UNKNOWN = 0,
            ^
      
      /usr/local/cuda/include/nvToolsExt.h(276): error: "NVTX_COLOR_ARGB" has already been declared in the current scope
            NVTX_COLOR_ARGB = 1
            ^
      
      /usr/local/cuda/include/nvToolsExt.h(277): error: invalid redeclaration of type name "nvtxColorType_t" (declared at line 306 of /usr/local/cuda/include/nvtx3/nvToolsExt.h)
        } nvtxColorType_t;
          ^
      
      /usr/local/cuda/include/nvToolsExt.h(282): error: enum "nvtxMessageType_t" has already been defined (previous definition at line 311 of /usr/local/cuda/include/nvtx3/nvToolsExt.h)
        typedef enum nvtxMessageType_t
                     ^
      
      /usr/local/cuda/include/nvToolsExt.h(284): error: "NVTX_MESSAGE_UNKNOWN" has already been declared in the current scope
            NVTX_MESSAGE_UNKNOWN = 0,
            ^
      
      /usr/local/cuda/include/nvToolsExt.h(285): error: "NVTX_MESSAGE_TYPE_ASCII" has already been declared in the current scope
            NVTX_MESSAGE_TYPE_ASCII = 1,
            ^
      
      /usr/local/cuda/include/nvToolsExt.h(286): error: "NVTX_MESSAGE_TYPE_UNICODE" has already been declared in the current scope
            NVTX_MESSAGE_TYPE_UNICODE = 2,
            ^
      
      /usr/local/cuda/include/nvToolsExt.h(288): error: "NVTX_MESSAGE_TYPE_REGISTERED" has already been declared in the current scope
            NVTX_MESSAGE_TYPE_REGISTERED = 3
            ^
      
      /usr/local/cuda/include/nvToolsExt.h(291): error: invalid redeclaration of type name "nvtxMessageType_t" (declared at line 320 of /usr/local/cuda/include/nvtx3/nvToolsExt.h)
        } nvtxMessageType_t;
          ^
      
      /usr/local/cuda/include/nvToolsExt.h(293): error: type "nvtxMessageValue_t" has already been defined (previous definition at line 328 of /usr/local/cuda/include/nvtx3/nvToolsExt.h)
        typedef union nvtxMessageValue_t
                      ^
      
      /usr/local/cuda/include/nvToolsExt.h(481): error: enum "nvtxPayloadType_t" has already been defined (previous definition at line 368 of /usr/local/cuda/include/nvtx3/nvToolsExt.h)
        typedef enum nvtxPayloadType_t
                     ^
      
      /usr/local/cuda/include/nvToolsExt.h(483): error: "NVTX_PAYLOAD_UNKNOWN" has already been declared in the current scope
            NVTX_PAYLOAD_UNKNOWN = 0,
            ^
      
      /usr/local/cuda/include/nvToolsExt.h(484): error: "NVTX_PAYLOAD_TYPE_UNSIGNED_INT64" has already been declared in the current scope
            NVTX_PAYLOAD_TYPE_UNSIGNED_INT64 = 1,
            ^
      
      /usr/local/cuda/include/nvToolsExt.h(485): error: "NVTX_PAYLOAD_TYPE_INT64" has already been declared in the current scope
            NVTX_PAYLOAD_TYPE_INT64 = 2,
            ^
      
      /usr/local/cuda/include/nvToolsExt.h(486): error: "NVTX_PAYLOAD_TYPE_DOUBLE" has already been declared in the current scope
            NVTX_PAYLOAD_TYPE_DOUBLE = 3,
            ^
      
      /usr/local/cuda/include/nvToolsExt.h(488): error: "NVTX_PAYLOAD_TYPE_UNSIGNED_INT32" has already been declared in the current scope
            NVTX_PAYLOAD_TYPE_UNSIGNED_INT32 = 4,
            ^
      
      /usr/local/cuda/include/nvToolsExt.h(489): error: "NVTX_PAYLOAD_TYPE_INT32" has already been declared in the current scope
            NVTX_PAYLOAD_TYPE_INT32 = 5,
            ^
      
      /usr/local/cuda/include/nvToolsExt.h(490): error: "NVTX_PAYLOAD_TYPE_FLOAT" has already been declared in the current scope
            NVTX_PAYLOAD_TYPE_FLOAT = 6
            ^
      
      /usr/local/cuda/include/nvToolsExt.h(491): error: invalid redeclaration of type name "nvtxPayloadType_t" (declared at line 378 of /usr/local/cuda/include/nvtx3/nvToolsExt.h)
        } nvtxPayloadType_t;
          ^
      
      /usr/local/cuda/include/nvToolsExt.h(570): error: type "nvtxEventAttributes_v2" has already been defined (previous definition at line 548 of /usr/local/cuda/include/nvtx3/nvToolsExt.h)
        typedef struct nvtxEventAttributes_v2
                       ^
      
      /usr/local/cuda/include/nvToolsExt.h(663): error: type "nvtxEventAttributes_t" has already been defined (previous definition at line 550 of /usr/local/cuda/include/nvtx3/nvToolsExt.h)
        typedef struct nvtxEventAttributes_v2 nvtxEventAttributes_t;
                                              ^
      
      /usr/local/cuda/include/nvToolsExt.h(1091): error: enum "nvtxResourceGenericType_t" has already been defined (previous definition at line 978 of /usr/local/cuda/include/nvtx3/nvToolsExt.h)
        typedef enum nvtxResourceGenericType_t
                     ^
      
      /usr/local/cuda/include/nvToolsExt.h(1093): error: "NVTX_RESOURCE_TYPE_UNKNOWN" has already been declared in the current scope
            NVTX_RESOURCE_TYPE_UNKNOWN = 0,
            ^
      
      /usr/local/cuda/include/nvToolsExt.h(1094): error: "NVTX_RESOURCE_TYPE_GENERIC_POINTER" has already been declared in the current scope
            NVTX_RESOURCE_TYPE_GENERIC_POINTER = ((((uint32_t)(1))<<16)|((uint32_t)(1))),
            ^
      
      /usr/local/cuda/include/nvToolsExt.h(1095): error: "NVTX_RESOURCE_TYPE_GENERIC_HANDLE" has already been declared in the current scope
            NVTX_RESOURCE_TYPE_GENERIC_HANDLE = ((((uint32_t)(1))<<16)|((uint32_t)(2))),
            ^
      
      /usr/local/cuda/include/nvToolsExt.h(1096): error: "NVTX_RESOURCE_TYPE_GENERIC_THREAD_NATIVE" has already been declared in the current scope
            NVTX_RESOURCE_TYPE_GENERIC_THREAD_NATIVE = ((((uint32_t)(1))<<16)|((uint32_t)(3))),
            ^
      
      /usr/local/cuda/include/nvToolsExt.h(1097): error: "NVTX_RESOURCE_TYPE_GENERIC_THREAD_POSIX" has already been declared in the current scope
            NVTX_RESOURCE_TYPE_GENERIC_THREAD_POSIX = ((((uint32_t)(1))<<16)|((uint32_t)(4)))
            ^
      
      /usr/local/cuda/include/nvToolsExt.h(1098): error: invalid redeclaration of type name "nvtxResourceGenericType_t" (declared at line 985 of /usr/local/cuda/include/nvtx3/nvToolsExt.h)
        } nvtxResourceGenericType_t;
          ^
      
      /usr/local/cuda/include/nvToolsExt.h(1177): error: type "nvtxResourceAttributes_v0" has already been defined (previous definition at line 1121 of /usr/local/cuda/include/nvtx3/nvToolsExt.h)
        typedef struct nvtxResourceAttributes_v0
                       ^
      
      /usr/local/cuda/include/nvToolsExt.h(1236): error: type "nvtxResourceAttributes_t" has already been defined (previous definition at line 1123 of /usr/local/cuda/include/nvtx3/nvToolsExt.h)
        typedef struct nvtxResourceAttributes_v0 nvtxResourceAttributes_t;
                                                 ^
      
      /usr/local/cuda/include/nvToolsExt.h(1502): error: cannot overload functions distinguished by return type alone
         nvtxDomainHandle_t nvtxDomainCreateA(const char* name);
                            ^
      
      /usr/local/cuda/include/nvToolsExt.h(1503): error: cannot overload functions distinguished by return type alone
         nvtxDomainHandle_t nvtxDomainCreateW(const wchar_t* name);
                            ^
      
      35 errors detected in the compilation of "/tmp/pip-req-build-jgyvqov6/csrc/cutlass_kernels/fpA_intB_gemm_wrapper.cu".
 dpkg --list | grep cuda-

ii  cuda-12-6                                     12.6.0-1                                          amd64        CUDA 12.6 meta-package
ii  cuda-cccl-12-6                                12.6.37-1                                         amd64        CUDA CCCL
ii  cuda-command-line-tools-12-6                  12.6.0-1                                          amd64        CUDA command-line tools
ii  cuda-compiler-12-6                            12.6.0-1                                          amd64        CUDA compiler
ii  cuda-crt-12-6                                 12.6.20-1                                         amd64        CUDA crt
ii  cuda-cudart-12-6                              12.6.37-1                                         amd64        CUDA Runtime native Libraries
ii  cuda-cudart-dev-12-6                          12.6.37-1                                         amd64        CUDA Runtime native dev links, headers
ii  cuda-cuobjdump-12-6                           12.6.20-1                                         amd64        CUDA cuobjdump
ii  cuda-cupti-12-6                               12.6.37-1                                         amd64        CUDA profiling tools runtime libs.
ii  cuda-cupti-dev-12-6                           12.6.37-1                                         amd64        CUDA profiling tools interface.
ii  cuda-cuxxfilt-12-6                            12.6.20-1                                         amd64        CUDA cuxxfilt
ii  cuda-demo-suite-12-6                          12.6.37-1                                         amd64        Demo suite for CUDA
ii  cuda-documentation-12-6                       12.6.37-1                                         amd64        CUDA documentation
ii  cuda-driver-dev-12-6                          12.6.37-1                                         amd64        CUDA Driver native dev stub library
ii  cuda-gdb-12-6                                 12.6.37-1                                         amd64        CUDA-GDB
ii  cuda-keyring                                  1.1-1                                             all          GPG keyring for the CUDA repository
ii  cuda-libraries-12-6                           12.6.0-1                                          amd64        CUDA Libraries 12.6 meta-package
ii  cuda-libraries-dev-12-6                       12.6.0-1                                          amd64        CUDA Libraries 12.6 development meta-package
ii  cuda-nsight-12-6                              12.6.20-1                                         amd64        CUDA nsight
ii  cuda-nsight-compute-12-6                      12.6.0-1                                          amd64        NVIDIA Nsight Compute
ii  cuda-nsight-systems-12-6                      12.6.0-1                                          amd64        NVIDIA Nsight Systems
ii  cuda-nvcc-12-6                                12.6.20-1                                         amd64        CUDA nvcc
ii  cuda-nvdisasm-12-6                            12.6.20-1                                         amd64        CUDA disassembler
ii  cuda-nvml-dev-12-6                            12.6.37-1                                         amd64        NVML native dev links, headers
ii  cuda-nvprof-12-6                              12.6.37-1                                         amd64        CUDA Profiler tools
ii  cuda-nvprune-12-6                             12.6.20-1                                         amd64        CUDA nvprune
ii  cuda-nvrtc-12-6                               12.6.20-1                                         amd64        NVRTC native runtime libraries
ii  cuda-nvrtc-dev-12-6                           12.6.20-1                                         amd64        NVRTC native dev links, headers
ii  cuda-nvtx-12-6                                12.6.37-1                                         amd64        NVIDIA Tools Extension
ii  cuda-nvvm-12-6                                12.6.20-1                                         amd64        CUDA nvvm
ii  cuda-nvvp-12-6                                12.6.37-1                                         amd64        CUDA Profiler tools
ii  cuda-opencl-12-6                              12.6.37-1                                         amd64        CUDA OpenCL native Libraries
ii  cuda-opencl-dev-12-6                          12.6.37-1                                         amd64        CUDA OpenCL native dev links, headers
ii  cuda-profiler-api-12-6                        12.6.37-1                                         amd64        CUDA Profiler API
ii  cuda-runtime-12-6                             12.6.0-1                                          amd64        CUDA Runtime 12.6 meta-package
ii  cuda-sanitizer-12-6                           12.6.34-1                                         amd64        CUDA Sanitizer
ii  cuda-toolkit                                  12.6.0-1                                          amd64        CUDA Toolkit meta-package
ii  cuda-toolkit-12-6                             12.6.0-1                                          amd64        CUDA Toolkit 12.6 meta-package
ii  cuda-toolkit-12-6-config-common               12.6.37-1                                         all          Common config package for CUDA Toolkit 12.6.
ii  cuda-toolkit-12-config-common                 12.6.37-1                                         all          Common config package for CUDA Toolkit 12.
ii  cuda-toolkit-config-common                    12.6.37-1                                         all          Common config package for CUDA Toolkit.
ii  cuda-tools-12-6                               12.6.0-1                                          amd64        CUDA Tools meta-package
ii  cuda-visual-tools-12-6                        12.6.0-1                                          amd64        CUDA visual tools

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

No branches or pull requests

3 participants