Main Content

Procesamiento de imágenes en una GPU

Para aprovechar las altas prestaciones de las unidades de procesamiento gráfico (GPU) modernas, se han habilitado determinadas funciones de Image Processing Toolbox™ para ejecutar operaciones de procesamiento de imágenes en una GPU. Estas funciones ofrecen aceleración por GPU para flujos de trabajo de procesamiento de imágenes complejos. Estas técnicas pueden aplicarse de forma exclusiva o combinada para satisfacer los requisitos de diseño y los objetivos de rendimiento.

Para ejecutar código de procesamiento de imágenes en una unidad de procesamiento gráfico (GPU), debe disponer del programa Parallel Computing Toolbox™. Para realizar una operación de procesamiento de imágenes compatible en una GPU, siga estos pasos:

  • Traslade los datos de la CPU a la GPU. Use la función gpuArray (Parallel Computing Toolbox) para transferir un arreglo de MATLAB® a la GPU. Para obtener más información, consulte Create GPU Arrays from Existing Data (Parallel Computing Toolbox).

  • Realice la operación de procesamiento de imágenes en la GPU. Para ver una lista de todas las funciones de la toolbox que son compatibles con la GPU, consulte Funciones que admiten el cómputo con GPU.

  • Traslade los datos de nuevo a la CPU desde la GPU. Utilice la función gather (Parallel Computing Toolbox) para recuperar un arreglo de la GPU y transferirlo al espacio de trabajo de MATLAB como un arreglo de MATLAB normal.

Si llama a una función compatible con la GPU utilizando al menos un argumento de entrada gpuArray (Parallel Computing Toolbox), la función se ejecuta automáticamente en una GPU y genera un gpuArray como resultado. Puede mezclar entradas utilizando arreglos gpuArray y arreglos de MATLAB en la misma llamada a la función. En este caso, la función transfiere automáticamente los arreglos de MATLAB a la GPU para su ejecución.

Cuando trabaje con una GPU, tenga en cuenta lo siguiente:

  • Las mejoras de rendimiento pueden depender del dispositivo GPU.

  • Puede que haya pequeñas diferencias entre los resultados obtenidos en una GPU y los obtenidos en una CPU.

Para aprender cómo integrar núcleos de CUDA personalizados directamente en MATLAB y acelerar algoritmos complejos, consulte Run CUDA or PTX Code on GPU (Parallel Computing Toolbox).

Consulte también

(Parallel Computing Toolbox) | (Parallel Computing Toolbox)

Ejemplos relacionados

Más acerca de