Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Realizar operaciones de elemento-sabio en una GPU

En este ejemplo se muestra cómo realizar operaciones basadas en elementos o en píxeles en una GPU mediante funciones que envían los datos y las operaciones a la GPU para su procesamiento. Este método es más eficaz para las operaciones de elemento sentiedad que requieren 2 o más conjuntos de datos.

Mueva los datos de la CPU a la GPU creando un objeto.gpuArray (Parallel Computing Toolbox)

I = imread('concordaerial.png'); Igpu = gpuArray(I); 

Cree una función personalizada que realice operaciones de elemento. En este ejemplo se crea una función de conversión de escala de grises personalizada utilizando datos RGB ponderados.

function gray = rgb2gray_custom(r,g,b) gray = 0.5*r + 0.25*g + 0.25*b;

Realice la operación en la GPU. Se utiliza para pasar el identificador a la función personalizada y al objeto de datos a la GPU para su evaluación.arrayfun

Igray_gpu = arrayfun(@rgb2gray_custom,Igpu(:,:,1),Igpu (:,:,2),Igpu(:,:,3)); 

Mueva los datos de nuevo a la CPU desde la GPU, utilizando la función.gather

I_gpuresult = gather(Igray_gpu);