hidet-org / hidet

An open-source efficient deep learning framework/compiler, written in python.
https://hidet.org
Apache License 2.0
656 stars 53 forks source link

[Bug] `libhidet_runtime.so`: undefined symbol: `_ZNSt14regex_iteratorIN9__gnu_cxx17__normal_iteratorIPKcSsEEcSt12regex_traitsIcEEC1Ev` #469

Closed egorsmkv closed 4 months ago

egorsmkv commented 4 months ago

Describe the bug

I'm trying to test hidet 0.4.0 but getting this stack trace:

Traceback (most recent call last):
  File "/home/yehor/projects/experiments/hidet-0.4.0-w2v2/test_hidet.py", line 25, in <module>
    asr_model_opt = torch.compile(asr_model, backend="hidet")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/yehor/projects/experiments/hidet-0.4.0-w2v2/.venv/lib/python3.12/site-packages/torch/__init__.py", line 2113, in compile
    backend = _TorchCompileWrapper(backend, mode, options, dynamic)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/yehor/projects/experiments/hidet-0.4.0-w2v2/.venv/lib/python3.12/site-packages/torch/__init__.py", line 1975, in __init__
    self.compiler_fn = lookup_backend(backend)
                       ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/yehor/projects/experiments/hidet-0.4.0-w2v2/.venv/lib/python3.12/site-packages/torch/_dynamo/backends/registry.py", line 60, in lookup_backend
    _lazy_import_entry_point(compiler_fn)
  File "/home/yehor/projects/experiments/hidet-0.4.0-w2v2/.venv/lib/python3.12/site-packages/torch/_dynamo/backends/registry.py", line 112, in _lazy_import_entry_point
    compiler_fn = backend_eps[backend_name].load()
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/importlib/metadata/__init__.py", line 205, in load
    module = import_module(match.group('module'))
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1310, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1310, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1310, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1310, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 995, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/home/yehor/projects/experiments/hidet-0.4.0-w2v2/.venv/lib/python3.12/site-packages/hidet/__init__.py", line 15, in <module>
    from . import option
  File "/home/yehor/projects/experiments/hidet-0.4.0-w2v2/.venv/lib/python3.12/site-packages/hidet/option.py", line 312, in <module>
    register_hidet_options()
  File "/home/yehor/projects/experiments/hidet-0.4.0-w2v2/.venv/lib/python3.12/site-packages/hidet/option.py", line 133, in register_hidet_options
    from hidet.utils import git_utils
  File "/home/yehor/projects/experiments/hidet-0.4.0-w2v2/.venv/lib/python3.12/site-packages/hidet/utils/__init__.py", line 23, in <module>
    from .benchmark import Bench, benchmark_func
  File "/home/yehor/projects/experiments/hidet-0.4.0-w2v2/.venv/lib/python3.12/site-packages/hidet/utils/benchmark/__init__.py", line 12, in <module>
    from .bench import Bench, BenchData, do_bench, benchmark_func
  File "/home/yehor/projects/experiments/hidet-0.4.0-w2v2/.venv/lib/python3.12/site-packages/hidet/utils/benchmark/bench.py", line 19, in <module>
    import hidet.cuda
  File "/home/yehor/projects/experiments/hidet-0.4.0-w2v2/.venv/lib/python3.12/site-packages/hidet/cuda/__init__.py", line 20, in <module>
    from . import cublas
  File "/home/yehor/projects/experiments/hidet-0.4.0-w2v2/.venv/lib/python3.12/site-packages/hidet/cuda/cublas/__init__.py", line 12, in <module>
    from .ffi import cublasComputeType, cudaDataType
  File "/home/yehor/projects/experiments/hidet-0.4.0-w2v2/.venv/lib/python3.12/site-packages/hidet/cuda/cublas/ffi.py", line 17, in <module>
    from hidet.ffi.ffi import get_func
  File "/home/yehor/projects/experiments/hidet-0.4.0-w2v2/.venv/lib/python3.12/site-packages/hidet/ffi/__init__.py", line 12, in <module>
    from .ffi import _LIB
  File "/home/yehor/projects/experiments/hidet-0.4.0-w2v2/.venv/lib/python3.12/site-packages/hidet/ffi/ffi.py", line 100, in <module>
    load_library()
  File "/home/yehor/projects/experiments/hidet-0.4.0-w2v2/.venv/lib/python3.12/site-packages/hidet/ffi/ffi.py", line 35, in load_library
    _LIB_RUNTIME = ctypes.cdll.LoadLibrary(libhidet_runtime_path)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/ctypes/__init__.py", line 460, in LoadLibrary
    return self._dlltype(name)
           ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/ctypes/__init__.py", line 379, in __init__
    self._handle = _dlopen(self._name, mode)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
OSError: /home/yehor/projects/experiments/hidet-0.4.0-w2v2/.venv/lib/python3.12/site-packages/hidet/lib/libhidet_runtime.so: undefined symbol: _ZNSt14regex_iteratorIN9__gnu_cxx17__normal_iteratorIPKcSsEEcSt12regex_traitsIcEEC1Ev

To Reproduce

Clone repo https://github.com/egorsmkv/wav2vec2-hidet-0.4.0 and test with the env.

Expected behavior

Just a run.

Enviroment

python: 3.12.4 (main, Jun 8 2024, 18:29:57) [GCC 11.4.0] torch: 2.4.0 transformers: 4.43.3 hidet: 0.4.0

vadiklyutiy commented 4 months ago

@egorsmkv Thank you for letting know. The bug was fixed in https://github.com/hidet-org/hidet/releases/tag/v0.4.1