Hi all, I am trying to calculate the SVD of some complex matrices. It worked fine on the CPU, but when it comes to the GPU, some errors happened, here is the snippet of my code and its corresponding output:
print("M_final is: ", M_final)
print(M_final.dtype)
print(M_final.device)
SVD_result = torch.svd(M_final)
print(SVD_result)

......Output:......

M_final is:  tensor([[ 0.2688+1.2463e-05j, -0.2223+1.0665e-01j],
        [-0.1943-1.3049e-01j,  0.0545-3.9980e-01j],
        [-0.5253-5.2017e-01j,  0.1036+3.6822e-01j],
        [-0.2718-4.8315e-01j, -0.2331-5.5959e-01j],
        [ 0.0798+1.1285e-01j, -0.2115-4.6674e-01j]], device='cuda:0')
torch.complex64
cuda:0
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
<ipython-input-129-4a7caa855681> in <module>
     30 print(M_final.dtype)
     31 print(M_final.device)
---> 32 SVD_result = torch.svd(M_final)
     33 print(SVD_result)

RuntimeError: "svd_cuda" not implemented for 'ComplexFloat'

Does this mean that the torch.svd does not support the complex tensor on the GPU? I checked some posts and issues, it seemed that this functionality is actually supported on GPU: https://github.com/pytorch/pytorch/pull/42738 2
Can anyone give some suggstions on this? Thanks in advance!