Issue 1:
I am working on the IBM POWER9 Series cluster. When compute the fft with torch. I have to transfer it to GPU and then transfer back to CPU. It's real bad experience espcially when realted code called on Dataloader. Then I have to disable the multi-worker to prevent the error.

x = torch.randn(10,10,2)
torch.fft(x,1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
RuntimeError: fft: ATen not compiled with MKL support

Issue 2:
🐛 Bug

fft: ATen not compiled with MKL support RuntimeError thrown when trying to compute Spectrogram on Jetson Nano that uses ARM64 processor.

To Reproduce

Code sample:

import torchaudio

waveform, sample_rate = torchaudio.load('test.wav')
spectrogram = torchaudio.transforms.Spectrogram(sample_rate)(waveform)

Stack trace:

Traceback (most recent call last):
File "spectrogram_test.py", line 4, in <module>
spectrogram = torchaudio.transforms.Spectrogram(sample_rate)(waveform)
File "/home/witty/ai-benchmark-2/lib/python3.6/site-packages/torch/nn/modules/module.py", line 722, in _call_impl
result = self.forward(*input, **kwargs)
File "/home/witty/ai-benchmark-2/lib/python3.6/site-packages/torchaudio-0.7.0a0+102174e-py3.6-linux-aarch64.egg/torchaudio/transforms.py", line 84, in forward
self.win_length, self.power, self.normalized)
File "/home/witty/ai-benchmark-2/lib/python3.6/site-packages/torchaudio-0.7.0a0+102174e-py3.6-linux-aarch64.egg/torchaudio/functional.py", line 162, in spectrogram
waveform, n_fft, hop_length, win_length, window, True, "reflect", False, True
File "/home/witty/ai-benchmark-2/lib/python3.6/site-packages/torch/functional.py", line 465, in stft
return _VF.stft(input, n_fft, hop_length, win_length, window, normalized, onesided)
RuntimeError: fft: ATen not compiled with MKL support

Expected behavior

Spectrogram from waveform created

Environment

Commands used to install PyTorch:

wget https://nvidia.box.com/shared/static/yr6sjswn25z7oankw8zy1roow9cy5ur1.whl -O torch-1.6.0rc2-cp36-cp36m-linux_aarch64.whl
sudo apt-get install python-pip libopenblas-base libopenmpi-dev
pip install Cython
pip install numpy torch-1.6.0rc2-cp36-cp36m-linux_aarch64.whl

Commands used to install torchaudio:

sox:

sudo apt-get update -y
sudo apt-get install -y libsox-dev
pip install sox

torchaudio:

git clone https://github.com/pytorch/audio.git audio
cd audio && python setup.py install

torchaudio.__version__ output:

0.7.0a0+102174e

collect_env.py output:

PyTorch version: 1.6.0
Is debug build: No
CUDA used to build PyTorch: 10.2

OS: Ubuntu 18.04.4 LTS
GCC version: (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) 7.5.0
CMake version: version 3.10.2

Python version: 3.6
Is CUDA available: Yes
CUDA runtime version: Could not collect
GPU models and configuration: Could not collect
Nvidia driver version: Could not collect
cuDNN version: Probably one of the following:
/usr/lib/aarch64-linux-gnu/libcudnn.so.8.0.0
/usr/lib/aarch64-linux-gnu/libcudnn_adv_infer.so.8.0.0
/usr/lib/aarch64-linux-gnu/libcudnn_adv_train.so.8.0.0
/usr/lib/aarch64-linux-gnu/libcudnn_cnn_infer.so.8.0.0
/usr/lib/aarch64-linux-gnu/libcudnn_cnn_train.so.8.0.0
/usr/lib/aarch64-linux-gnu/libcudnn_etc.so.8.0.0
/usr/lib/aarch64-linux-gnu/libcudnn_ops_infer.so.8.0.0
/usr/lib/aarch64-linux-gnu/libcudnn_ops_train.so.8.0.0

Versions of relevant libraries:
[pip3] numpy==1.16.1
[pip3] pytorch-ignite==0.3.0
[pip3] torch==1.6.0
[pip3] torchaudio==0.7.0a0+102174e
[conda] Could not collect

Other relevant information:

MKL is not installed, because it is not supported on ARM processors; oneDNN installed

Additional context

I did not install MKL because it is not supported on ARM processors, so building PyTorch from source with MKL support is not possible. Is there any workaround to this problem?

cc @malfet @seemethere @walterddr @mruberry @peterbell10 @ezyang