intel / torch-xpu-ops

Apache License 2.0
30 stars 21 forks source link

torch.mode error on 2025.0.1 #1093

Closed daisyden closed 2 days ago

daisyden commented 3 days ago

🐛 Describe the bug

with oneAPI 2025.0.1 upgrade, Compiler: l_compiler_p_2025.0.1.1242 We got fail on this case:

test_reductions_xpu.py::TestReductionsXPU::test_mode_large_xpu_float32

It can be reproduced on this case, we expect to get 1 in each row of value variable, but got 0.

tensor([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], device='xpu:0')

import torch
a=torch.FloatTensor([[  1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.],
            [  1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.],
                    [  1.,   1.,  23.,  24.,  25.,  26.,  27.,  28.,  29.,  30.],
                            [  1.,   1.,  33.,  34.,  35.,  36.,  37.,  38.,  39.,  40.],
                                    [  1.,   1.,  43.,  44.,  45.,  46.,  47.,  48.,  49.,  50.],
                                            [  1.,   1.,  53.,  54.,  55.,  56.,  57.,  58.,  59.,  60.],
                                                    [  1.,   1.,  63.,  64.,  65.,  66.,  67.,  68.,  69.,  70.],
                                                            [  1.,   1.,  73.,  74.,  75.,  76.,  77.,  78.,  79.,  80.],
                                                                    [  1.,   1.,  83.,  84.,  85.,  86.,  87.,  88.,  89.,  90.],
                                                                            [  1.,   1.,  93.,  94.,  95.,  96.,  97.,  98.,  99., 100.]]).xpu()
value, indice = torch.mode(a, -1, False)
print(value)

Versions

2025 oneapi