Problem Description
Attempting to deploy H-Net on Modal Labs encounters C++ ABI compatibility issues between PyTorch 2.4+ (required for set_wrap_triton_enabled) and flash-attention builds.
Root Cause
H-Net requires PyTorch 2.4+ for the set_wrap_triton_enabled function, but pre-built flash-attention wheels are incompatible with newer PyTorch versions due to C++ ABI mismatches.
Error Details
/usr/local/lib/python3.10/site-packages/flash_attn_2_cuda.cpython-310-x86_64-linux-gnu.so: undefined symbol: _ZN3c105ErrorC2ENS_14SourceLocationESs
This indicates a mismatch between C++ standard library versions used to compile PyTorch vs flash-attention.
Attempted Solutions
- Building flash-attention from source: Fails due to compiler environment issues (clang++ vs g++ mismatches)
- CUDA version alignment: Tried matching CUDA 12.1 with PyTorch 2.4.1+cu121 but pip installs different versions
- C++ ABI flags: Setting
_GLIBCXX_USE_CXX11_ABI=0 during build still results in symbol errors
- Various Python versions: Tested 3.10 and 3.11 with similar results
Working Configuration (Limited)
- PyTorch 2.3.1 + pip install flash-attn works
- But lacks
set_wrap_triton_enabled required by H-Net
Environment
- Modal Labs container deployment
- CUDA 12.1.1-devel base image
- Python 3.10/3.11
Request
Could the H-Net team provide guidance on:
- Recommended PyTorch/flash-attention version combinations
- Alternative approaches for Triton operations if flash-attention compatibility is problematic
- Docker/container-specific build instructions for Modal/similar platforms
This affects cloud deployment scenarios where pre-built wheels are preferred over source compilation.
Problem Description
Attempting to deploy H-Net on Modal Labs encounters C++ ABI compatibility issues between PyTorch 2.4+ (required for
set_wrap_triton_enabled) and flash-attention builds.Root Cause
H-Net requires PyTorch 2.4+ for the
set_wrap_triton_enabledfunction, but pre-built flash-attention wheels are incompatible with newer PyTorch versions due to C++ ABI mismatches.Error Details
This indicates a mismatch between C++ standard library versions used to compile PyTorch vs flash-attention.
Attempted Solutions
_GLIBCXX_USE_CXX11_ABI=0during build still results in symbol errorsWorking Configuration (Limited)
set_wrap_triton_enabledrequired by H-NetEnvironment
Request
Could the H-Net team provide guidance on:
This affects cloud deployment scenarios where pre-built wheels are preferred over source compilation.