MATLAB: ¿Cómo puedo convertir un código para habilitar el procesamiento de bloques con FFT, IFFT y FFT shift para que funcione para big data?

Estaba considerando algo como esto hace un mes. Supongo que no usaría Matlab a menos que tenga una forma de usar un clúster. La forma en que lo haces parece completamente ineficiente. Está procesando y descargando el archivo a un archivo mat en paralelo.

Buscaría PyTorch y la instancia P2 de AWS. GPU informática. Puedes manejar más datos. Hay un enlace ascendente de 20 Gbs en los más grandes, creo.

Inicio rápido con pytorch [1]

Es 50 veces más rápido, al menos. La instancia más grande tiene 40k núcleos. Su computadora solo puede tener 4–8 CPUS.

Si no puede pagar la instancia, considere la GPU en su computadora. Porque de la forma en que lo haces, lees y escribes la matriz en la memoria. Esta matriz se está creando dinámicamente o algo así. De manera óptima, no sé qué es, pero podría usar una función de mapa y dividir entre las GPU. Existen técnicas de procesamiento sin memoria.

chispa apache [2]

mapreduce [3]

Hay formas a gran escala de tratar con matrices.

Notas al pie

[1] Inicio rápido: pytrch en una instancia de proceso habilitada para GPU AWS EC2

[2] Apache Spark ™: computación en clúster ultrarrápida

[3] MapReduce – Wikipedia