mkl_fft icon indicating copy to clipboard operation
mkl_fft copied to clipboard

Bad performance

Open ZhaiFeiyue opened this issue 4 years ago • 0 comments

hi all, I have tested torch.fft.fftn and mkl_fft.fftn, the performance is below measure in python

  • input size: 1,3,2160, 3840
  • axes = (-2, -1)
  • OMP_NUM_THREADS=10
  • mkl_fft.fftn cost: 0:00:05.664933
  • torch.fft.fftn cost: 0:00:00.404621
import torch
import numpy as np
from mkl_fft import fftn, fft2

import datetime

def numpy_fft(x):
    for i in range(10):
        y = fftn(x, axes=(-2,-1))
    return y

def torch_fft(x):
    for i in range(10):
        y = torch.fft.fftn(x, dim=(-2,-1))
    
    return y

data = np.random.uniform(0, 10, (1,3,2160, 3840))

torch_data = torch.from_numpy(data)

s = datetime.datetime.now()
y1 = numpy_fft(data)
e = datetime.datetime.now()


y2 = torch_fft(torch_data)
k = datetime.datetime.now()

print(np.max(y2.numpy() - y1))
print(e-s, k-e)

could anyone explains why mkl_fft is slow than torch.fft (almost 10x)?

ZhaiFeiyue avatar Aug 27 '21 01:08 ZhaiFeiyue