mamba icon indicating copy to clipboard operation
mamba copied to clipboard

AttributeError: module 'triton.language' has no attribute 'cumsum'

Open lya19971103 opened this issue 1 year ago • 11 comments
trafficstars

Hi, I miss an error as "AttributeError: module 'triton.language' has no attribute 'cumsum'". Request a solution!. Thank you very much!

The details are as follows:

File "/root/miniconda3/lib/python3.8/site-packages/mamba_ssm/ops/triton/ssd_combined.py", line 307, in _mamba_chunk_scan_combined_fwd dA_cumsum, dt = _chunk_cumsum_fwd(dt, A, chunk_size, dt_bias=dt_bias, dt_softplus=dt_softplus, dt_limit=dt_limit) File "/root/miniconda3/lib/python3.8/site-packages/mamba_ssm/ops/triton/ssd_chunk_state.py", line 582, in _chunk_cumsum_fwd _chunk_cumsum_fwd_kernel[grid_chunk_cs]( File "/root/miniconda3/lib/python3.8/site-packages/triton/runtime/autotuner.py", line 77, in run timings = {config: self._bench(*args, config=config, **kwargs) File "/root/miniconda3/lib/python3.8/site-packages/triton/runtime/autotuner.py", line 77, in timings = {config: self._bench(*args, config=config, **kwargs) File "/root/miniconda3/lib/python3.8/site-packages/triton/runtime/autotuner.py", line 65, in _bench return do_bench(kernel_call) File "/root/miniconda3/lib/python3.8/site-packages/triton/testing.py", line 143, in do_bench fn() File "/root/miniconda3/lib/python3.8/site-packages/triton/runtime/autotuner.py", line 63, in kernel_call self.fn.run(*args, num_warps=config.num_warps, num_stages=config.num_stages, **current) File "", line 41, in _chunk_cumsum_fwd_kernel File "/root/miniconda3/lib/python3.8/site-packages/triton/compiler.py", line 1589, in compile fn_cache_manager = CacheManager(make_hash(fn, **kwargs)) File "/root/miniconda3/lib/python3.8/site-packages/triton/compiler.py", line 1499, in make_hash key = f"{fn.cache_key}-{''.join(signature.values())}-{configs_key}-{constants}-{num_warps}-{num_stages}" File "/root/miniconda3/lib/python3.8/site-packages/triton/runtime/jit.py", line 333, in cache_key dependencies_finder.visit(self.parse()) File "/root/miniconda3/lib/python3.8/ast.py", line 371, in visit return visitor(node) File "/root/miniconda3/lib/python3.8/ast.py", line 379, in generic_visit self.visit(item) File "/root/miniconda3/lib/python3.8/ast.py", line 371, in visit return visitor(node) File "/root/miniconda3/lib/python3.8/ast.py", line 379, in generic_visit self.visit(item) File "/root/miniconda3/lib/python3.8/ast.py", line 371, in visit return visitor(node) File "/root/miniconda3/lib/python3.8/ast.py", line 381, in generic_visit self.visit(value) File "/root/miniconda3/lib/python3.8/ast.py", line 371, in visit return visitor(node) File "/root/miniconda3/lib/python3.8/site-packages/triton/runtime/jit.py", line 55, in visit_Call func = self.visit(node.func) File "/root/miniconda3/lib/python3.8/ast.py", line 371, in visit return visitor(node) File "/root/miniconda3/lib/python3.8/site-packages/triton/runtime/jit.py", line 52, in visit_Attribute return getattr(lhs, node.attr) AttributeError: module 'triton.language' has no attribute 'cumsum'

lya19971103 avatar Jun 05 '24 16:06 lya19971103

Please use triton >= 2.1.0

tridao avatar Jun 05 '24 16:06 tridao

same issue, triton version==2.1.0, torch=2.0.1, cuda11.6

File "/opt/conda/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl return forward_call(*args, **kwargs) File "/opt/conda/lib/python3.10/site-packages/mamba_ssm/modules/mamba2.py", line 176, in forward out = mamba_split_conv1d_scan_combined( File "/opt/conda/lib/python3.10/site-packages/mamba_ssm/ops/triton/ssd_combined.py", line 908, in mamba_split_conv1d_scan_combined return MambaSplitConv1dScanCombinedFn.apply(zxbcdt, conv1d_weight, conv1d_bias, dt_bias, A, D, chunk_size, initial_states, seq_idx, dt_limit, return_final_states, activation, rmsnorm_weight, rmsnorm_eps, outproj_weight, outproj_bias, headdim, ngroups, norm_before_gate) File "/opt/conda/lib/python3.10/site-packages/torch/autograd/function.py", line 506, in apply return super().apply(*args, **kwargs) # type: ignore[misc] File "/opt/conda/lib/python3.10/site-packages/torch/cuda/amp/autocast_mode.py", line 98, in decorate_fwd return fwd(*args, **kwargs) File "/opt/conda/lib/python3.10/site-packages/mamba_ssm/ops/triton/ssd_combined.py", line 773, in forward out_x, _, dt_out, dA_cumsum, states, final_states = _mamba_chunk_scan_combined_fwd(x, dt, A, B, C, chunk_size=chunk_size, D=D, z=None, dt_bias=dt_bias, initial_states=initial_states, seq_idx=seq_idx, dt_softplus=True, dt_limit=dt_limit) File "/opt/conda/lib/python3.10/site-packages/mamba_ssm/ops/triton/ssd_combined.py", line 307, in _mamba_chunk_scan_combined_fwd dA_cumsum, dt = _chunk_cumsum_fwd(dt, A, chunk_size, dt_bias=dt_bias, dt_softplus=dt_softplus, dt_limit=dt_limit) File "/opt/conda/lib/python3.10/site-packages/mamba_ssm/ops/triton/ssd_chunk_state.py", line 582, in _chunk_cumsum_fwd _chunk_cumsum_fwd_kernel[grid_chunk_cs]( File "/opt/conda/lib/python3.10/site-packages/triton/runtime/autotuner.py", line 77, in run timings = {config: self._bench(*args, config=config, **kwargs) File "/opt/conda/lib/python3.10/site-packages/triton/runtime/autotuner.py", line 77, in timings = {config: self._bench(*args, config=config, **kwargs) File "/opt/conda/lib/python3.10/site-packages/triton/runtime/autotuner.py", line 65, in _bench return do_bench(kernel_call) File "/opt/conda/lib/python3.10/site-packages/triton/testing.py", line 143, in do_bench fn() File "/opt/conda/lib/python3.10/site-packages/triton/runtime/autotuner.py", line 63, in kernel_call self.fn.run(*args, num_warps=config.num_warps, num_stages=config.num_stages, **current) File "", line 41, in _chunk_cumsum_fwd_kernel File "/opt/conda/lib/python3.10/site-packages/triton/compiler.py", line 1590, in compile fn_cache_manager = CacheManager(make_hash(fn, **kwargs)) File "/opt/conda/lib/python3.10/site-packages/triton/compiler.py", line 1500, in make_hash key = f"{fn.cache_key}-{''.join(signature.values())}-{configs_key}-{constants}-{num_warps}-{num_stages}" File "/opt/conda/lib/python3.10/site-packages/triton/runtime/jit.py", line 333, in cache_key dependencies_finder.visit(self.parse()) File "/opt/conda/lib/python3.10/ast.py", line 412, in visit return visitor(node) File "/opt/conda/lib/python3.10/ast.py", line 420, in generic_visit self.visit(item) File "/opt/conda/lib/python3.10/ast.py", line 412, in visit return visitor(node) File "/opt/conda/lib/python3.10/ast.py", line 420, in generic_visit self.visit(item) File "/opt/conda/lib/python3.10/ast.py", line 412, in visit return visitor(node) File "/opt/conda/lib/python3.10/ast.py", line 422, in generic_visit self.visit(value) File "/opt/conda/lib/python3.10/ast.py", line 412, in visit return visitor(node) File "/opt/conda/lib/python3.10/site-packages/triton/runtime/jit.py", line 55, in visit_Call func = self.visit(node.func) File "/opt/conda/lib/python3.10/ast.py", line 412, in visit return visitor(node) File "/opt/conda/lib/python3.10/site-packages/triton/runtime/jit.py", line 52, in visit_Attribute return getattr(lhs, node.attr) AttributeError: module 'triton.language' has no attribute 'cumsum'

liqiangniu avatar Jun 06 '24 03:06 liqiangniu

triton 2.1.0 should have cumsum. If not you can try >= 2.2.0

tridao avatar Jun 06 '24 03:06 tridao

Hi,I miss a question that my framework needs torch==2.0.1, but triton>=2.0.0 will be incompatible, is there a way to solve it?

Yyc1999super avatar Jun 06 '24 07:06 Yyc1999super

No we require tl.cumsum

tridao avatar Jun 06 '24 18:06 tridao

@Yyc1999super I'm running torch v2.0.1 with triton v2.3.0 with no issue. Just install triton after torch and you should be fine. Pip will complain but install, afaik this is just a legacy issue of torch.

jsie7 avatar Jun 07 '24 13:06 jsie7

@Yyc1999super I'm running torch v2.0.1 with triton v2.3.0 with no issue. Just install triton after torch and you should be fine. Pip will complain but install, afaik this is just a legacy issue of torch.

Okay, Thank you. I will try it again.

Yyc1999super avatar Jun 08 '24 07:06 Yyc1999super

torch2.0.1, cuda11.6, triton2.3.0 Triton Error [CUDA]: device kernel image is invalid

liqiangniu avatar Jun 12 '24 04:06 liqiangniu

#386

jsie7 avatar Jun 12 '24 07:06 jsie7

I tried triton2.2.0, 2.3.0, the problem still exists. Then i tried triton3.2.0, it fixed.

xiang-xiang-zhu avatar Feb 20 '25 14:02 xiang-xiang-zhu

I had Triton 2.0.0 and then installed 2.3.1 and it worked.

Karn3003 avatar Mar 24 '25 11:03 Karn3003